<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-07-09T15:06:18Z</updated>
  <generator>https://yabu.me</generator>

  <title>Nostr notes by </title>
  <author>
    <name></name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://yabu.me/npub1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzqujme.rss" />
  <link href="https://yabu.me/npub1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzqujme" />
  <id>https://yabu.me/npub1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzqujme</id>
  <icon></icon>
  <logo></logo>


  <title>Nostr notes on strfry.shock.network/nostur:strfry.shock.network/haven-quebec</title>
  <link href="https://yabu.me/r/strfry.shock.network/nostur:strfry.shock.network/haven-quebec" />
  <link rel="self" type="application/atom+xml" href="https://yabu.me/r/strfry.shock.network/nostur:strfry.shock.network/haven-quebec.rss" />
  <id>https://yabu.me/r/strfry.shock.network/nostur:strfry.shock.network/haven-quebec</id>
  <icon>https://cdn.shockwallet.app/favicon.png</icon>
  <logo>https://cdn.shockwallet.app/favicon.png</logo>



  <entry>
    <id>https://yabu.me/nevent1qqsgql9k44wl8zjp429nang4n7ctl34x2gucedpf6avhp0asyzzu75qpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qklkk3vrzme455yh9rl2jshq7rc8dpegj3ndf82c3ks2sk40dxt7q67wtfs</id>
    
      <title type="html">Recording the @nprofile…48nt podcast, if you want to join and ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsgql9k44wl8zjp429nang4n7ctl34x2gucedpf6avhp0asyzzu75qpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qklkk3vrzme455yh9rl2jshq7rc8dpegj3ndf82c3ks2sk40dxt7q67wtfs" />
    <content type="html">
      Recording the &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqs8wk257uc5zyjgnf9znmrf9dersm7kp0xwkqcg6s33q84f08zh4qqpzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtcppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7gd48nt&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Nostr Compass&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…48nt&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; podcast, if you want to join and talk about any of the mentioned project, here&amp;#39;s the link, we go in an hour at 16 UTC.&lt;br/&gt;&lt;a href=&#34;https://riverside.com/studio/ipfs-studio?t=80327b608d616377f954&#34;&gt;https://riverside.com/studio/ipfs-studio?t=80327b608d616377f954&lt;/a&gt;&lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting &lt;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nevent1qqstrx37dx2cns94mda8uxaqvsk3p27apntvj5vv8radzsktsdp3sdqpzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtczypm4j48hx9q3yjy6fg57c6ftwguxl4sten4sxzx5yvgpa2tec4agqqcyqqq823crrfga2&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;nevent1q…fga2&lt;/a&gt;&lt;/span&gt; &lt;/div&gt; &lt;p&gt;Welcome back to Nostr Compass, your weekly guide to Nostr.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This week:&lt;/strong&gt; the &lt;a href=&#34;#marmot-marks-the-spec-adopted-and-mdk-cuts-v09x&#34;&gt;Marmot spec is marked adopted&lt;/a&gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1whtn0s68y3cs98zysa4nxrfzss5g5snhndv35tk5m2sudsr7ltms48r3ec&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;White Noise&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1wht…r3ec&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; across 42 files as MDK cuts v0.9.0 through v0.9.3 with encrypted group avatars, external signer support, and MarmotKit iOS and Android bindings. &lt;a href=&#34;#mostro-v0180-and-mobile-v130-ship-transport-v2-on-nip-44&#34;&gt;Mostro ships Transport v2&lt;/a&gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1m0str0d7z2ww8rdh20t2n9lx520xjwhaq24p68umqp06wwrwtsnqen40un&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Mostro&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1m0s…40un&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; on NIP-44 direct messages with anti-spam gates and a coexistence window in both mostrod v0.18.0 and Mobile v1.3.0. &lt;a href=&#34;#bitchat-160-adds-nip-13-proof-of-work-and-an-opt-in-mesh-to-nostr-gateway&#34;&gt;Bitchat 1.6.0 adds NIP-13 proof-of-work&lt;/a&gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub17slpd6rnsagjuyj9l0lrs4d7f0vnjryakhjwwsk64f8c0mtw72zsp2w9r8&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;bitchat&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub17sl…w9r8&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; to geohash channel messages, an opt-in mesh-to-Nostr gateway that lets one online phone uplink a whole crowd, prekey bundles, transitive verification, and creator-managed encrypted private groups. &lt;a href=&#34;#amber-v623-scopes-profile-subscriptions-and-adds-a-tor-status-notification&#34;&gt;Amber&lt;/a&gt; (&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1w4uswmv6lu9yel005l3qgheysmr7tk9uvwluddznju3nuxalevvs2d0jr5&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;greenart7c3&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1w4u…0jr5&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;) scopes profile subscriptions per account, fetches NIP-65 relay lists before profile metadata, and adds a live Tor status notification with a restart action. &lt;a href=&#34;#rust-nostr-adds-nip-40-expiration-to-gift-wrap-and-private-dm-builders&#34;&gt;rust-nostr&lt;/a&gt; adds NIP-40 expiration to gift wrap and NIP-17 DM builders, anchored to the wrap&amp;#39;s randomized timestamp. &lt;a href=&#34;#amethyst-spends-the-week-hardening-negentropy-sync-and-adding-nip-50-search&#34;&gt;Amethyst&lt;/a&gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub142gywvjkq0dv6nupggyn2euhx4nduwc7yz5f24ah9rpmunr2s39se3xrj0&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;amethyst&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub142g…xrj0&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; merges 43 PRs of negentropy sync hardening, NIP-50 full-text search infrastructure, and event kinds for niche verticals. &lt;a href=&#34;#nostrord-v200-and-v210-fold-the-relay-pool-and-heal-zombie-websockets&#34;&gt;Nostrord ships v2.0.0 and v2.1.0&lt;/a&gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1ktxukd7ny5e3ghqqcn6r6hs7rh4hceaua6n77cl4ym9ye2ufzces7rzc2h&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Nostrord&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1ktx…zc2h&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; with a folded relay pool, zombie WebSocket detection, and a full disk-first cache seam. &lt;a href=&#34;#ngit-v262-stops-duplicate-pr-status-events-on-default-branch-push&#34;&gt;Ngit v2.6.2&lt;/a&gt; (&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;DanConwayDev&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub15qy…yejr&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;), &lt;a href=&#34;#jumble-v2671-makes-blossom-the-default-upload-service-in-a-dm-focused-cut&#34;&gt;Jumble v26.7.1&lt;/a&gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub17n4cuc4d6y6qh89dekvxrenfkt5s0n49xns00uavjaxpr36c55dq87fyh9&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Jumble&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub17n4…fyh9&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;, &lt;a href=&#34;#applesauce-signers-622-drops-an-nbunksec-dependency&#34;&gt;Applesauce signers 6.2.2&lt;/a&gt;, &lt;a href=&#34;#bray-v1330-cli-picks-up-a-bunker-profile-persona-and-tor-outbound&#34;&gt;Bray v1.33.0&lt;/a&gt;, &lt;a href=&#34;#deepmarks-100-hardens-the-nostr-bookmarking-surface&#34;&gt;Deepmarks 1.0.0&lt;/a&gt;, &lt;a href=&#34;#bitcredit-core-v0513-unencrypts-block-metadata-on-the-nostr-wire&#34;&gt;Bitcredit Core v0.5.13&lt;/a&gt;, &lt;a href=&#34;#coop-mobile-v023-and-v024&#34;&gt;Coop Mobile v0.2.4&lt;/a&gt; (&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1zfss807aer0j26mwp2la0ume0jqde3823rmu97ra6sgyyg956e0s6xw445&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;reya&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1zfs…w445&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;), &lt;a href=&#34;#granary-v110-adds-nip-71-video-event-support&#34;&gt;Granary v11.0&lt;/a&gt;, &lt;a href=&#34;#nostr-relay-v00244-adds-a-firestore-backend&#34;&gt;Nostr-relay v0.0.244&lt;/a&gt;, &lt;a href=&#34;#manent-v140-fixes-nip-42-auth-and-adds-media-clipboard-flows&#34;&gt;Manent v1.4.0&lt;/a&gt;, &lt;a href=&#34;#routstrd-v037-makes-the-nostr-event-store-the-persistent-source-of-truth&#34;&gt;Routstrd v0.3.7&lt;/a&gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub130mznv74rxs032peqym6g3wqavh472623mt3z5w73xq9r6qqdufs7ql29s&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;routstr&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub130m…l29s&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;, &lt;a href=&#34;#nymchat-101-launches-as-a-progressive-web-app-on-nip-17&#34;&gt;Nymchat 1.0.1&lt;/a&gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub16jdfqgazrkapk0yrqm9rdxlnys7ck39c7zmdzxtxqlmmpxg04r0sd733sv&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Luxas&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub16jd…33sv&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;, and &lt;a href=&#34;#21meetup-110-launches-nostr-signed-attendance-badges&#34;&gt;21Meetup 1.1.0&lt;/a&gt; also ship, and &lt;a href=&#34;#safebox-publishes-a-phase-3-progress-report-and-a-freebsd-jail-runbook&#34;&gt;SafeBox marks Phase 3 substantially complete&lt;/a&gt; alongside a FreeBSD jail deployment runbook and an OpenETR spin-off for electronic transferable records. The NIPs repository merges a &lt;a href=&#34;#merged-nip-51-and-nip-37-align-the-kind-10013-name&#34;&gt;NIP-51 and NIP-37 name alignment&lt;/a&gt; and opens five proposals: &lt;a href=&#34;#open-nip-ad-nostr-web-addresses-via-well-known-lookup&#34;&gt;NIP-AD Nostr Web Addresses&lt;/a&gt;, &lt;a href=&#34;#open-nip-86-claim-management-for-invite-codes&#34;&gt;NIP-86 invite-code claim management&lt;/a&gt;, an &lt;a href=&#34;#open-role-color-as-h-s-l-tuple&#34;&gt;HSL role color format&lt;/a&gt;, &lt;a href=&#34;#open-nip-80-hardware-attested-media-provenance&#34;&gt;NIP-80 hardware-attested media provenance&lt;/a&gt;, and a &lt;a href=&#34;#open-nip-01-pagination-hardening&#34;&gt;pagination fix in NIP-01&lt;/a&gt;. Deep dives cover &lt;a href=&#34;#nip-deep-dive-nip-13-proof-of-work&#34;&gt;NIP-13 (proof-of-work)&lt;/a&gt; and &lt;a href=&#34;#nip-deep-dive-nip-40-expiration-timestamp&#34;&gt;NIP-40 (expiration timestamp)&lt;/a&gt;.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&#34;lead-stories-5&#34;&gt;Lead stories&lt;/h2&gt;

&lt;h3 id=&#34;marmot-marks-the-spec-adopted-and-mdk-cuts-v0-9-x-5&#34;&gt;Marmot marks the spec adopted and MDK cuts v0.9.x&lt;/h3&gt;

&lt;p&gt;The &lt;a href=&#34;https://github.com/marmot-protocol/marmot&#34;&gt;Marmot protocol repository&lt;/a&gt; merged &lt;a href=&#34;https://github.com/marmot-protocol/marmot/pull/170&#34;&gt;PR #170&lt;/a&gt; on July 3, changing 42 files from &lt;code&gt;Status: draft for internal review&lt;/code&gt; (and &lt;code&gt;experimental draft&lt;/code&gt;) to &lt;code&gt;Status: adopted&lt;/code&gt;. The README title moved from framing the repo as a work in progress to &amp;#34;Marmot Protocol&amp;#34; as the adopted text, the MIP-era documents were re-framed as the deprecated version of the protocol, and the &amp;#34;Review Status&amp;#34; section (&amp;#34;This is not adopted spec text yet&amp;#34;) became &amp;#34;Review Guidance&amp;#34; for editing the current spec. The &lt;code&gt;v2&lt;/code&gt; label disappears throughout: MIP-contrast phrasing (&amp;#34;new in v2&amp;#34;, &amp;#34;the v2 spec keeps&amp;#34;) is replaced with &amp;#34;this spec&amp;#34; and &amp;#34;under this spec&amp;#34;. Two documents keep their draft status by design: &lt;code&gt;implementation-model.md&lt;/code&gt; remains non-normative, and the multi-device feature&amp;#39;s own document stays a draft.&lt;/p&gt;

&lt;p&gt;The same repository landed &lt;a href=&#34;https://github.com/marmot-protocol/marmot/pull/171&#34;&gt;PR #171&lt;/a&gt; aligning admin-policy, membership, and role-change invariants. The cross-component check that a Remove cannot orphan an admin is now stated as a property of every resulting epoch, evaluated against the prior epoch&amp;#39;s admin set when a commit does not carry an admin-policy update. Convergence&amp;#39;s candidate-branch rule is tightened so &amp;#34;validates&amp;#34; means full commit validity including cross-component resulting-epoch checks, which prevents an invariant-violating commit from creating a candidate edge on any branch. State notifications derived from a superseded commit MUST be withdrawn when branch selection replaces it, which closes the &amp;#34;losing rename renders as a successful system message&amp;#34; bug at the spec level. A new &amp;#34;Realizing removal&amp;#34; section in &lt;code&gt;member-departure.md&lt;/code&gt; defines the primary realization input (the accepted canonical commit removing your last leaf) and the fallback for clients that never applied the removing commit: authenticated post-eviction evidence now surfaces as a &lt;code&gt;SelfEvicted&lt;/code&gt; outcome with retain-inactive semantics for the removed group copy. &lt;a href=&#34;https://github.com/marmot-protocol/marmot/pull/236&#34;&gt;PR #236&lt;/a&gt; then tightened wire-boundary validation, pinning KeyPackage lifetime acceptance to 84 days plus a one-hour skew margin, adding a Nostr tag-cardinality table for group &lt;code&gt;h&lt;/code&gt;, gift-wrap &lt;code&gt;p&lt;/code&gt;, welcome &lt;code&gt;e&lt;/code&gt; and &lt;code&gt;relays&lt;/code&gt;, and KeyPackage tags, and stating that unverified Nostr event ids and metadata are not trusted routing, replay, or telemetry evidence.&lt;/p&gt;

&lt;p&gt;Downstream, the &lt;a href=&#34;https://github.com/marmot-protocol/mdk&#34;&gt;MDK workspace&lt;/a&gt; cut &lt;a href=&#34;https://github.com/marmot-protocol/mdk/releases/tag/v0.9.0&#34;&gt;v0.9.0&lt;/a&gt; on July 6 with a full workspace version bump, followed by &lt;a href=&#34;https://github.com/marmot-protocol/mdk/releases/tag/v0.9.1&#34;&gt;v0.9.1&lt;/a&gt;, &lt;a href=&#34;https://github.com/marmot-protocol/mdk/releases/tag/v0.9.2&#34;&gt;v0.9.2&lt;/a&gt;, and &lt;a href=&#34;https://github.com/marmot-protocol/mdk/releases/tag/v0.9.3&#34;&gt;v0.9.3&lt;/a&gt; over the following two days. v0.9.0 rotates stale keyring entries when a new SQLite database is created and lands validate-before-mutate discipline across the storage layer. v0.9.1 routes every outbound connection through one host-safety dial chokepoint via &lt;a href=&#34;https://github.com/marmot-protocol/mdk/pull/732&#34;&gt;PR #732&lt;/a&gt;, closing the class of bugs where different call sites reached the network with different validation. v0.9.3 exposes encrypted group avatars to the uniffi bindings through &lt;code&gt;download_group_image&lt;/code&gt; and &lt;code&gt;image_hash_hex&lt;/code&gt; via &lt;a href=&#34;https://github.com/marmot-protocol/mdk/pull/771&#34;&gt;PR #771&lt;/a&gt;, adds external-signer support, and marks &lt;code&gt;wn-opencode&lt;/code&gt; production-ready via &lt;a href=&#34;https://github.com/marmot-protocol/mdk/pull/781&#34;&gt;PR #781&lt;/a&gt;. Alongside the MDK cuts, MarmotKit ships iOS and Android bindings at each version (a MarmotKit.xcframework plus Swift bindings for iOS and Kotlin bindings plus JNI libraries for Android, both generated from a pinned MDK commit hash), and a new wn-agent release channel provides shell installers that pin the WN Agent version to an immutable release tag so downstream apps can pull the current agent with a single &lt;code&gt;curl&lt;/code&gt; command.&lt;/p&gt;

&lt;h3 id=&#34;mostro-v0-18-0-and-mobile-v1-3-0-ship-transport-v2-on-nip-44-5&#34;&gt;Mostro v0.18.0 and Mobile v1.3.0 ship Transport v2 on NIP-44&lt;/h3&gt;

&lt;p&gt;Mostro is the peer-to-peer Bitcoin trading protocol that runs order books, escrow, and dispute resolution over Nostr events, coordinated by a daemon (&lt;code&gt;mostrod&lt;/code&gt;) that clients speak to over encrypted DMs. Until this week the wire protocol between clients and mostrod was Transport v1. &lt;a href=&#34;https://github.com/MostroP2P/mostro/releases/tag/v0.18.0&#34;&gt;Mostro v0.18.0&lt;/a&gt; lands Transport v2, wiring the protocol onto &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-44/&#34;&gt;NIP-44&lt;/a&gt; direct messages with anti-spam gates and dual-receive support running server-side. &lt;a href=&#34;https://github.com/MostroP2P/mostro/pull/776&#34;&gt;PR #776&lt;/a&gt; is the Phase 1 wire change, &lt;a href=&#34;https://github.com/MostroP2P/mostro/pull/780&#34;&gt;PR #780&lt;/a&gt; adds the Phase 2 anti-spam gates for protocol v2, and &lt;a href=&#34;https://github.com/MostroP2P/mostro/pull/785&#34;&gt;PR #785&lt;/a&gt; makes the inner protocol version follow the active transport so a v2 client and a v1 client can coexist during the migration window. A related &lt;a href=&#34;https://github.com/MostroP2P/mostro/pull/782&#34;&gt;PR #782&lt;/a&gt; fixes a NIP-33 info tag by renaming &lt;code&gt;protocol_versions&lt;/code&gt; to the singular &lt;code&gt;protocol_version&lt;/code&gt;. Alongside the transport work, the release lands a Phase 4 unified live-quote path with cache-and-staleness enforcement (&lt;a href=&#34;https://github.com/MostroP2P/mostro/pull/783&#34;&gt;PR #783&lt;/a&gt;) and an El Toque fiat-cross provider covering the Cuban CUP and MLC pairs (&lt;a href=&#34;https://github.com/MostroP2P/mostro/pull/778&#34;&gt;PR #778&lt;/a&gt;). &lt;a href=&#34;https://github.com/MostroP2P/mostro/pull/779&#34;&gt;PR #779&lt;/a&gt; adds a slashed-party notification on dispute slash so a user who lost their bond hears from the daemon directly; the previous behavior surfaced only as a missing wallet balance.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/MostroP2P/mobile/releases/tag/v1.3.0&#34;&gt;Mostro Mobile v1.3.0&lt;/a&gt; is the client half of the migration. &lt;a href=&#34;https://github.com/MostroP2P/mobile/pull/613&#34;&gt;PR #613&lt;/a&gt; migrates the app to Riverpod 3.x, Phase A (&lt;a href=&#34;https://github.com/MostroP2P/mobile/pull/620&#34;&gt;PR #620&lt;/a&gt;) adds dual-receive support for NIP-44 direct messages on the main isolate and in the background isolate so a v2 mostrod and a v1 client can talk during the migration, Phase B in &lt;a href=&#34;https://github.com/MostroP2P/mobile/pull/624&#34;&gt;PR #624&lt;/a&gt; adds dual-send, &lt;a href=&#34;https://github.com/MostroP2P/mobile/pull/632&#34;&gt;PR #632&lt;/a&gt; re-applies dual-send after the Riverpod 3.x cut, and Phase C in &lt;a href=&#34;https://github.com/MostroP2P/mobile/pull/637&#34;&gt;PR #637&lt;/a&gt; finalizes the migration. The release also adds African payment method coverage: &lt;a href=&#34;https://github.com/MostroP2P/mobile/pull/625&#34;&gt;PR #625&lt;/a&gt; adds Malawi Kwacha payment methods and &lt;a href=&#34;https://github.com/MostroP2P/mobile/pull/627&#34;&gt;PR #627&lt;/a&gt; adds KES (Kenyan Shilling), MZN (Mozambican Metical), TZS (Tanzanian Shilling), UGX (Ugandan Shilling), ZAR (South African Rand), and ZMW (Zambian Kwacha) methods while expanding NGN (Nigerian Naira). A restore flow now waits for node connectivity before issuing restore requests, and cause-aware handling distinguishes a dispute-driven bond slash from a timeout-driven one.&lt;/p&gt;

&lt;h3 id=&#34;bitchat-1-6-0-adds-nip-13-proof-of-work-and-an-opt-in-mesh-to-nostr-gateway-5&#34;&gt;Bitchat 1.6.0 adds NIP-13 proof-of-work and an opt-in mesh-to-Nostr gateway&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/permissionlesstech/bitchat/releases/tag/v1.6.0&#34;&gt;Bitchat 1.6.0&lt;/a&gt; is the Bluetooth-mesh chat app that uses Nostr for its geohash channels and DM handoff. The release does two Nostr-shaped things worth reading. &lt;a href=&#34;https://github.com/permissionlesstech/bitchat/pull/1382&#34;&gt;PR #1382&lt;/a&gt; adds &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-13/&#34;&gt;NIP-13 (proof-of-work)&lt;/a&gt; to outbound geohash channel messages (kind 20000 ephemeral events): each send mines a &lt;code&gt;[&amp;#34;nonce&amp;#34;, &amp;#34;&amp;lt;value&amp;gt;&amp;#34;, &amp;#34;&amp;lt;target&amp;gt;&amp;#34;]&lt;/code&gt; tag before publishing, targeting 8 leading zero bits, which averages 256 hash attempts and completes in under one millisecond on an M-series Mac. Inbound events with validated PoW relax the per-sender intake rate limit, so a spammer pays compute per message while a regular sender does not feel the cost. Scope is deliberately narrow: only kind 20000 channel messages mine PoW, and presence heartbeats (kind 20001), kind-1 location notes, and DMs are untouched.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/permissionlesstech/bitchat/pull/1384&#34;&gt;PR #1384&lt;/a&gt; adds gateway mode, an opt-in mesh-to-Nostr uplink for geohash channels. When a mesh-only user (no internet, no reachable relay) sends in a geohash channel and another peer on the mesh advertises the &lt;code&gt;.gateway&lt;/code&gt; capability, the signed kind 20000 event is wrapped in a new &lt;code&gt;MessageType.nostrCarrier = 0x28&lt;/code&gt; TLV envelope and sent directed to one gateway. The gateway peer publishes the event to Nostr on the sender&amp;#39;s behalf and rebroadcasts inbound channel traffic back onto the mesh with default TTL. Uplink deposits ride the courier envelope path (directed, relayed multi-hop); downlink rides broadcast. The signature happens before the event leaves the sender, so the gateway can decide whether to publish but cannot forge attribution. The stated motivation is disaster and protest scenarios where one connected phone in a crowd is enough to give the whole geohash channel a working Nostr uplink.&lt;/p&gt;

&lt;p&gt;The same release ships a second batch of Nostr-adjacent work. &lt;a href=&#34;https://github.com/permissionlesstech/bitchat/pull/1381&#34;&gt;PR #1381&lt;/a&gt; adds prekey bundles for forward-secret asynchronous first contact on the courier mail path, so a sender can compose a message to a peer who is offline and hand it to the mesh without having done a live Noise handshake first. &lt;a href=&#34;https://github.com/permissionlesstech/bitchat/pull/1380&#34;&gt;PR #1380&lt;/a&gt; adds transitive verification: a peer that has completed the Noise handshake with someone you have already verified is now vouched for over the Noise session, so the trust graph propagates one hop at a time instead of requiring a fresh in-person verification for every new contact. &lt;a href=&#34;https://github.com/permissionlesstech/bitchat/pull/1383&#34;&gt;PR #1383&lt;/a&gt; adds creator-managed encrypted private groups over the mesh, &lt;a href=&#34;https://github.com/permissionlesstech/bitchat/pull/1376&#34;&gt;PR #1376&lt;/a&gt; detects, renders, and redeems Cashu ecash tokens with a &lt;code&gt;/pay&lt;/code&gt; command, and &lt;a href=&#34;https://github.com/permissionlesstech/bitchat/pull/1379&#34;&gt;PR #1379&lt;/a&gt; adds a persistent signed geohash bulletin board layered on mesh sync. &lt;a href=&#34;https://github.com/permissionlesstech/bitchat/pull/1372&#34;&gt;PR #1372&lt;/a&gt; expands store-and-forward with open couriers, spray-and-wait routing, a persistent outbox, and a six-hour public history window. Bitchat 1.5.4 shipped &lt;a href=&#34;https://github.com/permissionlesstech/bitchat/releases/tag/v1.5.4&#34;&gt;earlier in the week&lt;/a&gt; with the end-to-end favorites fix in &lt;a href=&#34;https://github.com/permissionlesstech/bitchat/pull/1367&#34;&gt;PR #1367&lt;/a&gt; that cleans up peer-list duplicates, Nostr sync, and &lt;code&gt;/fav&lt;/code&gt; key corruption.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&#34;tagged-releases-5&#34;&gt;Tagged releases&lt;/h2&gt;

&lt;h3 id=&#34;amber-v6-2-3-scopes-profile-subscriptions-and-adds-a-tor-status-notification-5&#34;&gt;Amber v6.2.3 scopes profile subscriptions and adds a Tor status notification&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/greenart7c3/Amber/releases/tag/v6.2.3&#34;&gt;Amber v6.2.3&lt;/a&gt; is a performance and correctness pass on the Android &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-46/&#34;&gt;NIP-46&lt;/a&gt; signer, and the merged PRs in the week around it point at a coherent theme. The release itself adds a configurable profile fetch interval setting with never and always options (&lt;a href=&#34;https://github.com/greenart7c3/Amber/pull/492&#34;&gt;PR #492&lt;/a&gt;), shows a profile picture in the account switch bottom sheet, and scopes profile subscriptions by the current account so a signer holding multiple accounts stops fanning out subscriptions for accounts the user is not currently signing with. Bunker permission parsing gains explicit error handling on parse failures. Several StrictMode violations are fixed: a DiskReadViolation from Coil&amp;#39;s &lt;code&gt;onSuccess&lt;/code&gt; logging, a keystore violation from loading the account on the main thread, main-thread reads for the account name and picture in the account switch sheet, and eager &lt;code&gt;KeyPair()&lt;/code&gt; construction on the login and signup screens now moved off the main thread. In the days after v6.2.3 shipped, &lt;a href=&#34;https://github.com/greenart7c3/Amber/pull/493&#34;&gt;PR #493&lt;/a&gt; reordered the boot path to fetch the user&amp;#39;s &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-65/&#34;&gt;NIP-65&lt;/a&gt; relay list before profile metadata (so the profile fetch queries the relays the user publishes to), and &lt;a href=&#34;https://github.com/greenart7c3/Amber/pull/494&#34;&gt;PR #494&lt;/a&gt; turned the built-in Tor notification into a live status indicator with a restart action, so a user whose Tor daemon dies during a signing session sees the failure and can bounce it without leaving the signer. &lt;a href=&#34;https://github.com/greenart7c3/Amber/pull/495&#34;&gt;PR #495&lt;/a&gt; enabled Android Lint in strict warnings-as-errors mode across the codebase.&lt;/p&gt;

&lt;h3 id=&#34;jumble-v26-7-1-makes-blossom-the-default-upload-service-in-a-dm-focused-cut-5&#34;&gt;Jumble v26.7.1 makes Blossom the default upload service in a DM-focused cut&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/CodyTseng/jumble/releases/tag/v26.7.1&#34;&gt;Jumble v26.7.1&lt;/a&gt; is a Nostr web client cut focused on direct messages and media. The release redesigns media upload settings and makes &lt;a href=&#34;https://nostrcompass.org/en/topics/blossom/&#34;&gt;Blossom&lt;/a&gt; the default upload service, replacing the previous NIP-96 default. DM handling gets a mobile message menu, improved desktop message actions, a &amp;#34;scroll to latest&amp;#34; button, long-press reactions on DM media, and a retry path for failed outgoing DMs from the message list. Custom emoji editing gains a detail view, message bubble sizing improves for invoices and embedded content, several DM scrolling and message ordering issues are fixed, and post-editor issues around emoji insertion, text copy, and file drag are cleaned up. Image orientation is corrected when metadata is stripped on upload, and Linux ARM64 downloads are added to the release matrix.&lt;/p&gt;

&lt;h3 id=&#34;applesauce-signers-6-2-2-drops-an-nbunksec-dependency-5&#34;&gt;Applesauce signers 6.2.2 drops an nbunksec dependency&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/hzrd149/applesauce/releases/tag/applesauce-signers%406.2.2&#34;&gt;applesauce-signers@6.2.2&lt;/a&gt; drops the sub-package&amp;#39;s &lt;code&gt;@sandwichfarm/encoded-entities&lt;/code&gt; dependency in favor of a built-in &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-46/&#34;&gt;nbunksec&lt;/a&gt; helper via &lt;a href=&#34;https://github.com/hzrd149/applesauce/commit/d654349&#34;&gt;commit d654349&lt;/a&gt;. Applesauce&amp;#39;s &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-46/&#34;&gt;NIP-46&lt;/a&gt; bunker session encoding, added last week, no longer requires the external encoding library, cutting one supply-chain surface for downstream clients that consume the signers package.&lt;/p&gt;

&lt;h3 id=&#34;ngit-v2-6-2-stops-duplicate-pr-status-events-on-default-branch-push-5&#34;&gt;Ngit v2.6.2 stops duplicate PR status events on default-branch push&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/DanConwayDev/ngit-cli/releases/tag/v2.6.2&#34;&gt;Ngit v2.6.2&lt;/a&gt; is a bug-fix release for the git-over-Nostr CLI. &lt;code&gt;git push&lt;/code&gt; to the default branch stops publishing duplicate PR merge/applied status events for PRs that are already marked applied, because merge detection now reads the pre-push Nostr repo state (the source of truth for whether a PR was already resolved on the &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-34/&#34;&gt;NIP-34&lt;/a&gt; side of the workflow); the previous heuristic relied on git internals and duplicated the status event. Active repositories using ngit for git-over-Nostr push flows stop emitting duplicate kind-1621 status events into their audience.&lt;/p&gt;

&lt;h3 id=&#34;bray-v1-33-0-cli-picks-up-a-bunker-profile-persona-and-tor-outbound-5&#34;&gt;Bray v1.33.0 CLI picks up a bunker profile, persona, and Tor outbound&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/forgesworn/bray/releases/tag/v1.33.0&#34;&gt;Bray v1.33.0&lt;/a&gt; is a Nostr SDK-plus-CLI release. &lt;code&gt;bunker --profile &amp;lt;name&amp;gt;&lt;/code&gt; gets an auto-stable connection key and relay fallback so a saved profile can survive a relay outage; &lt;code&gt;bunker --persona &amp;lt;name&amp;gt;&lt;/code&gt; signs as a derived nsec-tree identity, letting one signer act as multiple pubkeys from a single derived tree; and all HTTP fetches can be routed through a Tor SOCKS proxy when configured. The release adds wallet subcommands for &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-47/&#34;&gt;NIP-47&lt;/a&gt; NWC, &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-29/&#34;&gt;NIP-29&lt;/a&gt; group admin write operations (create, update, add-user, remove-user, set-roles), NIP-86 admin verbs, and &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-65/&#34;&gt;NIP-65&lt;/a&gt; outbox helpers. Publishing verbs pick up &lt;code&gt;--jsonl&lt;/code&gt;, &lt;code&gt;--csv&lt;/code&gt;, and &lt;code&gt;--tsv&lt;/code&gt; output flags, a &lt;code&gt;req&lt;/code&gt; verb for generic NIP-01 filter queries, an &lt;code&gt;event&lt;/code&gt; verb for arbitrary event construction, a &lt;code&gt;publish-raw&lt;/code&gt; command that signs and broadcasts pre-built events, a &lt;code&gt;bunker sign&lt;/code&gt; one-shot NIP-46 signing command, and a per-command &lt;code&gt;--relay&lt;/code&gt; flag on every publishing command. Security work covers three batches of audit deferrals: secret zeroisation discipline, HTTP transport bearer-auth and rate-limit hardening, and SSRF validation on relay URLs. The npm tarball ships at 533,844 bytes with a byte-identical reproducible build verified across two independent CI runners.&lt;/p&gt;

&lt;h3 id=&#34;deepmarks-1-0-0-hardens-the-nostr-bookmarking-surface-5&#34;&gt;Deepmarks 1.0.0 hardens the Nostr bookmarking surface&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/ostermayer/deepmarks-public/releases/tag/v1.0.0&#34;&gt;Deepmarks 1.0.0&lt;/a&gt; is a security-hardening 1.0 milestone for a public Nostr bookmarking service. Every bookmark is still a signed Nostr event that any client can read. The API and archive worker sit in a privileged network position (they can reach internal Redis, the bunker&amp;#39;s relay path, and cloud metadata), so the SSRF guard is load-bearing, and the release fixes a critical IPv6-literal bypass in &lt;code&gt;isPrivateIp&lt;/code&gt;: bracketed IPv6 literals were being classified as public, so &lt;code&gt;[::1]&lt;/code&gt;, &lt;code&gt;[fd00::1]&lt;/code&gt;, and IPv4-mapped &lt;code&gt;[::ffff:10.0.0.4]&lt;/code&gt; all reached internal targets over dual-stack connect. The guard now strips brackets and folds IPv4-mapped and IPv4-compatible IPv6 down to the embedded v4 before the private-range check on both boxes. Ingested &lt;code&gt;kind:0&lt;/code&gt; profiles from external relays are now signature-verified at the sink so a hostile relay cannot forge a &lt;code&gt;nip05&lt;/code&gt; or &lt;code&gt;lud16&lt;/code&gt; for an arbitrary victim pubkey, and bookmark URLs are scheme-checked at every render sink so a &lt;code&gt;kind:39701&lt;/code&gt; bookmark published straight to the relay with a &lt;code&gt;javascript:&lt;/code&gt; or &lt;code&gt;data:&lt;/code&gt; &lt;code&gt;d&lt;/code&gt;-tag stops reaching an &lt;code&gt;&amp;lt;a href&amp;gt;&lt;/code&gt;. Zap receipts now survive a transient bunker outage: the settlement handler atomically claims the pending zap, finalizes only after signing succeeds, and releases the claim on failure so a redelivered &lt;code&gt;invoice_updated&lt;/code&gt; can retry. The &lt;code&gt;/publish&lt;/code&gt; fan-out drain uses &lt;code&gt;BLMOVE&lt;/code&gt; into a per-worker processing list with heartbeat-gated recovery so a crashed worker preserves a signed event the client was already 202&amp;#39;d for.&lt;/p&gt;

&lt;h3 id=&#34;bitcredit-core-v0-5-13-unencrypts-block-metadata-on-the-nostr-wire-5&#34;&gt;Bitcredit Core v0.5.13 unencrypts block metadata on the Nostr wire&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/BitcreditProtocol/Bitcredit-Core/releases/tag/v0.5.13&#34;&gt;Bitcredit Core v0.5.13&lt;/a&gt; removes an encryption layer from the Nostr public events used by the credit-bill protocol. Block metadata (block id, hash, signature) is now unencrypted on the Nostr wire; only the block data itself remains encrypted with the corresponding bill key. New apps process old chains, old apps do not process new chains. The release also adds a bill-service function to fetch the bill chain, and switches publishing to an optimistic threshold model: once a configured relay threshold (default one) accepts a publish, remaining relays receive the event asynchronously so publishing is no longer blocked by the slowest relay.&lt;/p&gt;

&lt;h3 id=&#34;coop-mobile-v0-2-3-and-v0-2-4-5&#34;&gt;Coop Mobile v0.2.3 and v0.2.4&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://git.reya.su/reya/coop-mobile&#34;&gt;Coop Mobile&lt;/a&gt; shipped &lt;a href=&#34;https://git.reya.su/reya/coop-mobile/releases/tag/v0.2.3&#34;&gt;v0.2.3&lt;/a&gt; on July 4 and &lt;a href=&#34;https://git.reya.su/reya/coop-mobile/releases/tag/v0.2.4&#34;&gt;v0.2.4&lt;/a&gt; on July 7, continuing the Android &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-17/&#34;&gt;NIP-17&lt;/a&gt; direct-messaging client&amp;#39;s steady release cadence. v0.2.3 adds inline image and link rendering in chat messages, image attachments, speech-to-text input, and a confirmation dialog for contact removal. v0.2.4 fixes an indicator that got stuck forever, improves the Nostr Connect handshake, and adds &lt;code&gt;ncryptsec1&lt;/code&gt; import (the &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-49/&#34;&gt;NIP-49&lt;/a&gt; encrypted-private-key format) alongside a redesigned import identity screen.&lt;/p&gt;

&lt;h3 id=&#34;granary-v11-0-adds-nip-71-video-event-support-5&#34;&gt;Granary v11.0 adds NIP-71 video event support&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/snarfed/granary/releases/tag/v11.0&#34;&gt;Granary v11.0&lt;/a&gt; is the multi-protocol conversion library that powers Bridgy Fed&amp;#39;s cross-network bridging. The Nostr module gets three visible changes. &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-71/&#34;&gt;NIP-71&lt;/a&gt; video events (kinds 21, 22, 34235, and 34236) now convert into ActivityStreams 1 notes with video attachments, and the converter extracts the &lt;code&gt;imeta&lt;/code&gt; image (thumbnail), the video duration, the top-level &lt;code&gt;published_at&lt;/code&gt; tag, and the &lt;code&gt;alt&lt;/code&gt; tag as a fallback &lt;code&gt;displayName&lt;/code&gt; on the first video or audio attachment. On the API side, &lt;code&gt;sign&lt;/code&gt; is renamed to &lt;code&gt;hash_and_sign&lt;/code&gt; and &lt;code&gt;verify&lt;/code&gt; now raises &lt;code&gt;ValueError&lt;/code&gt; on failure; the &lt;code&gt;Nostr&lt;/code&gt; constructor raises &lt;code&gt;ValueError&lt;/code&gt; on an invalid relay URL, and &lt;code&gt;Nostr.query&lt;/code&gt; skips the &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-42/&#34;&gt;NIP-42&lt;/a&gt; AUTH challenge gracefully when the caller has not set a &lt;code&gt;privkey&lt;/code&gt;. A follow-up conversion fix stops crashes when a Nostr &lt;code&gt;article&lt;/code&gt; object arrives without an &lt;code&gt;id&lt;/code&gt;. Any bridge or reader consuming NIP-71 video events through Granary can now surface them in the format the target reader expects.&lt;/p&gt;

&lt;h3 id=&#34;nostr-relay-v0-0-244-adds-a-firestore-backend-5&#34;&gt;Nostr-relay v0.0.244 adds a Firestore backend&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/mattn/nostr-relay/releases/tag/v0.0.244&#34;&gt;mattn/nostr-relay v0.0.244&lt;/a&gt; adds a Firestore backend via &lt;a href=&#34;https://github.com/mattn/nostr-relay/pull/12&#34;&gt;PR #12&lt;/a&gt;, extending the Go relay&amp;#39;s storage layer with a Google Cloud Firestore option alongside its existing backends. The change is small but opens Firestore as a managed serverless database option for a relay operator.&lt;/p&gt;

&lt;h3 id=&#34;manent-v1-4-0-fixes-nip-42-auth-and-adds-media-clipboard-flows-5&#34;&gt;Manent v1.4.0 fixes NIP-42 AUTH and adds media clipboard flows&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/dtonon/manent/releases/tag/v1.4.0&#34;&gt;Manent v1.4.0&lt;/a&gt; is the encrypted notes and file storage app built on Nostr with &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-44/&#34;&gt;NIP-44&lt;/a&gt; encryption, &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-46/&#34;&gt;NIP-46&lt;/a&gt; and &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-55/&#34;&gt;NIP-55&lt;/a&gt; signer support, &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-65/&#34;&gt;NIP-65&lt;/a&gt; outbox routing, and Blossom storage. The release fixes &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-42/&#34;&gt;NIP-42&lt;/a&gt; relay authentication (previously broken), corrects Blossom uploads to &lt;code&gt;http://&lt;/code&gt; hosts (previously mishandled), and rewrites the compression flow. On the media side, users can now copy an image to the clipboard, paste an image from the clipboard, drag and drop files, crop and rotate images, play video and gifs, and take a video with a long press on the camera icon. On Linux, the primary clipboard is accessible via mouse middle-click. Note-loading and scrolling receive several optimizations.&lt;/p&gt;

&lt;h3 id=&#34;routstrd-v0-3-7-makes-the-nostr-event-store-the-persistent-source-of-truth-5&#34;&gt;Routstrd v0.3.7 makes the Nostr event store the persistent source of truth&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/routstr/routstrd/releases/tag/v0.3.7&#34;&gt;Routstrd v0.3.7&lt;/a&gt; is the local daemon for the Routstr decentralized AI inference network, which routes LLM requests via Nostr kind 38421 provider discovery and kind 38425 LGTM reviews. The release adds a &lt;code&gt;routstrd update&lt;/code&gt; subcommand that downloads new binaries for both routstrd and cocod and gracefully restarts running daemons; the daemon now calls &lt;code&gt;refreshNostrEvents()&lt;/code&gt; on startup and every 21 minutes so provider discovery and reviews stay fresh without manual intervention. The bundled &lt;code&gt;@routstr/sdk&lt;/code&gt; upgrades from 0.3.12 to 0.3.15, removing the ProviderRegistry layer in favor of direct &lt;code&gt;DiscoveryAdapter&lt;/code&gt; use, cleaning up models from disappeared Nostr providers so they no longer leak into rankings, and treating the Nostr event store as a persistent source of truth (the erroneous 210-minute TTL on cached events is gone). Xcashu refund handling tightens: refund tokens are tried before originals in the error path, 404s retry 3× with two-minute intervals, and 425 Too Early is handled without throwing.&lt;/p&gt;

&lt;h3 id=&#34;nymchat-1-0-1-launches-as-a-progressive-web-app-on-nip-17-5&#34;&gt;Nymchat 1.0.1 launches as a Progressive Web App on NIP-17&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/Spl0itable/NYM&#34;&gt;Nymchat 1.0.1&lt;/a&gt; (also known as NYM, Nostr Ynstant Messenger) is a Progressive Web App and native iOS/Android messenger for ephemeral chat over Nostr, bridged with Bitchat. Channels use kind 20000 ephemeral events for geohash channels and kind 23333 for named channels; private messages and group chats ride &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-17/&#34;&gt;NIP-17&lt;/a&gt; gift-wrapped events (kind 1059) with rotating ephemeral recipient keys and automatic post-compromise recovery. Users can generate a per-session ephemeral keypair with no registration or log in with a persistent identity via &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-07/&#34;&gt;NIP-07&lt;/a&gt; browser extensions, a &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-46/&#34;&gt;NIP-46&lt;/a&gt; remote signer, or an nsec. Optional device-local identity encryption uses password, PIN, passkey, or biometric unlock via WebAuthn PRF (passkey and biometric) or PBKDF2 (password and PIN), with the plaintext key never written to disk while encryption is on. Voice and video calls use NIP-17 gift wraps for signaling and WebRTC for the media path. Message reactions use &lt;a href=&#34;https://github.com/nostr-protocol/nips/blob/master/25.md&#34;&gt;NIP-25&lt;/a&gt;, custom emoji use &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-30/&#34;&gt;NIP-30&lt;/a&gt;, and the web app is served as static files plus Cloudflare Pages Functions acting as a privacy proxy for relays and media.&lt;/p&gt;

&lt;h3 id=&#34;21meetup-1-1-0-launches-nostr-signed-attendance-badges-5&#34;&gt;21Meetup 1.1.0 launches Nostr-signed attendance badges&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/louisthecat86/Einundzwanzig-Meetup-App&#34;&gt;21Meetup 1.1.0&lt;/a&gt; is a Flutter app for the German Einundzwanzig Bitcoin community that records meetup attendance via NFC tags and rolling QR codes. Each attendance badge is a Nostr event (kind 21000) signed by the meetup organizer using BIP-340 Schnorr, so a participant accumulates a set of signed events attesting to specific meetups at specific block heights. The rolling QR code rotates every 10 seconds, so a badge cannot be minted remotely, and the NFC tag is only readable in physical proximity. A trust score is computed locally from the collected badges; the score can be presented as a QR code for verification during peer-to-peer trades. The app targets Bitcoin community reputation, not general-purpose Nostr social, but the badge events themselves are ordinary Nostr events any reader can verify.&lt;/p&gt;

&lt;h3 id=&#34;nostrord-v2-0-0-and-v2-1-0-fold-the-relay-pool-and-heal-zombie-websockets-5&#34;&gt;Nostrord v2.0.0 and v2.1.0 fold the relay pool and heal zombie WebSockets&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/nostrord/nostrord/releases/tag/v2.0.0&#34;&gt;Nostrord v2.0.0&lt;/a&gt; is a major cut of the KMP/WASM Nostr client that speaks NIP-29, NIP-42, NIP-44, NIP-46, NIP-57, NIP-65, and NIP-98. &lt;a href=&#34;https://github.com/nostrord/nostrord/releases/tag/v2.0.1&#34;&gt;v2.0.1&lt;/a&gt; shipped one day later via &lt;a href=&#34;https://github.com/nostrord/nostrord/pull/166&#34;&gt;PR #166&lt;/a&gt; with a release-blocking desktop fix: the packaged 2.0.0 (deb, rpm, msi, dmg) crashed at startup with &lt;code&gt;NoClassDefFoundError: java/sql/DriverManager&lt;/code&gt; because the jpackage jlink image was missing the &lt;code&gt;java.sql&lt;/code&gt; module the SQLDelight sqlite driver depends on; the fix adds &lt;code&gt;java.sql&lt;/code&gt; to the runtime image, and the same PR routes optimistic send through the network layer so the message reaches the relay (the previous code path cached silently and never delivered), plus keyboard and scroll behavior on mobile web.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/nostrord/nostrord/releases/tag/v2.1.0&#34;&gt;v2.1.0&lt;/a&gt; followed on July 7 with the &amp;#34;relay pool fold&amp;#34; (&lt;a href=&#34;https://github.com/nostrord/nostrord/pull/176&#34;&gt;PR #176&lt;/a&gt;), which unifies the previously separate NIP-29 focused relay socket into the shared pool. One reconnect scheduler now covers all relays, &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-42/&#34;&gt;NIP-42&lt;/a&gt; AUTH signing is bounded with retry, publishes fail closed and retry on auth-required, request-storm races in &lt;code&gt;requestPrivateGroupData&lt;/code&gt; and &lt;code&gt;fetchGroupPreviews&lt;/code&gt; are closed, kind-10009 user-group-list fetches batch per relay, and the &lt;code&gt;mux_chat&lt;/code&gt; live subscription now covers every joined group (not just the opened one) and self-heals when a relay silently drops the subscription. UI-side changes replace the layout-shifting &amp;#34;Sending...&amp;#34; row with an inline clock-then-check icon and turn stalled scroll-back into an explicit Retry row. &lt;a href=&#34;https://github.com/nostrord/nostrord/pull/179&#34;&gt;PR #179&lt;/a&gt; landed the same day to detect zombie WebSockets on Android: mobile networks and Doze mode kill TCP without a close frame, so writes into the dead socket buffer locally without throwing and &lt;code&gt;isConnected()&lt;/code&gt; stays true even though nothing will ever be received. &lt;code&gt;NostrGroupClient&lt;/code&gt; now stamps &lt;code&gt;lastInboundAtMs&lt;/code&gt; on every frame, gains &lt;code&gt;markDead()&lt;/code&gt; (which cancels the frame loop so the normal reconnect and resubscribe path runs), and &lt;code&gt;probeLiveness()&lt;/code&gt; (a REQ any relay must answer within 5 seconds), triggered on OK timeout with zero inbound frames or on mux stale plus socket frame silence. A second bug fix in the same PR stops optimistic messages being written to the persistent cache at insert time; they now write only after delivery confirmation. &lt;a href=&#34;https://github.com/nostrord/nostrord/releases/tag/v2.1.1&#34;&gt;v2.1.1&lt;/a&gt; shipped one day later via &lt;a href=&#34;https://github.com/nostrord/nostrord/pull/178&#34;&gt;PR #178&lt;/a&gt; adding iOS platform actuals, native test support, and app icons alongside the v2.1.0 zombie-WebSocket work.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&#34;unreleased-changes-5&#34;&gt;Unreleased changes&lt;/h2&gt;

&lt;h3 id=&#34;rust-nostr-adds-nip-40-expiration-to-gift-wrap-and-private-dm-builders-5&#34;&gt;rust-nostr adds NIP-40 expiration to gift wrap and private DM builders&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/rust-nostr/nostr/pull/1384&#34;&gt;rust-nostr merged PR #1384&lt;/a&gt; adding an &lt;code&gt;expiration&lt;/code&gt; option to &lt;code&gt;GiftWrapBuilder&lt;/code&gt; and &lt;code&gt;PrivateDirectMessageBuilder&lt;/code&gt;. The library takes a &lt;code&gt;Duration&lt;/code&gt; from the caller: the &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-40/&#34;&gt;NIP-40&lt;/a&gt; expiration tag is anchored to the gift wrap&amp;#39;s randomized &lt;code&gt;created_at&lt;/code&gt; (created_at &#43; duration), which decouples it from the real send time. Letting a caller pass an absolute timestamp would leak the send time to a relay observer (subtract the duration and you recover the original send time), so the library builds the tag internally from the randomized wrap timestamp. The expiration tag goes on the gift wrap event, not on the kind:13 seal (which &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-59/&#34;&gt;NIP-59&lt;/a&gt; requires to have empty tags). NIP-17 hands the same value down to the gift wrap builder from &lt;code&gt;PrivateDirectMessageBuilder&lt;/code&gt;. The change closes &lt;a href=&#34;https://github.com/rust-nostr/nostr/issues/1381&#34;&gt;issue #1381&lt;/a&gt; and lands via the same builder pattern rust-nostr uses for &lt;code&gt;extra_tags&lt;/code&gt;. rust-nostr also merged &lt;a href=&#34;https://github.com/rust-nostr/nostr/pull/1387&#34;&gt;PR #1387&lt;/a&gt; consolidating &lt;code&gt;nostr-relay-builder&lt;/code&gt; into &lt;code&gt;nostr-sdk&lt;/code&gt;, a workspace-flattening move.&lt;/p&gt;

&lt;h3 id=&#34;amethyst-spends-the-week-hardening-negentropy-sync-and-adding-nip-50-search-5&#34;&gt;Amethyst spends the week hardening negentropy sync and adding NIP-50 search&lt;/h3&gt;

&lt;p&gt;Amethyst&amp;#39;s &lt;a href=&#34;https://github.com/vitorpamplona/amethyst&#34;&gt;main branch&lt;/a&gt; merged 43 PRs across three coherent themes. The largest thread is negentropy sync on the geode-to-strfry boundary: a refused-window failure mode that used to storm the client into a window-split loop now backs off cleanly (&lt;a href=&#34;https://github.com/vitorpamplona/amethyst/pull/3480&#34;&gt;PR #3480&lt;/a&gt;), the underlying &lt;code&gt;negentropyKmp&lt;/code&gt; dependency moves to v1.1.1 (&lt;a href=&#34;https://github.com/vitorpamplona/amethyst/pull/3475&#34;&gt;PR #3475&lt;/a&gt;), a 1-million-event geode-to-strfry benchmark lands with a strfry-parity mirror (&lt;a href=&#34;https://github.com/vitorpamplona/amethyst/pull/3478&#34;&gt;PR #3478&lt;/a&gt;), and production benchmarks join the CI matrix alongside broader sync optimizations (&lt;a href=&#34;https://github.com/vitorpamplona/amethyst/pull/3458&#34;&gt;PR #3458&lt;/a&gt;, &lt;a href=&#34;https://github.com/vitorpamplona/amethyst/pull/3466&#34;&gt;PR #3466&lt;/a&gt;). Lock-free concurrent collections replace the previous mutex-per-relay pattern and a UDP socket threading fix rides along (&lt;a href=&#34;https://github.com/vitorpamplona/amethyst/pull/3459&#34;&gt;PR #3459&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;The second thread is &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-50/&#34;&gt;NIP-50&lt;/a&gt; full-text search infrastructure. A &lt;code&gt;SearchableEvent&lt;/code&gt; interface lands so events can carry index metadata directly (&lt;a href=&#34;https://github.com/vitorpamplona/amethyst/pull/3452&#34;&gt;PR #3452&lt;/a&gt;), and NIP-50 search extensions are now stripped before querying SQLite FTS so the local search engine no longer chokes on server-side extension syntax (&lt;a href=&#34;https://github.com/vitorpamplona/amethyst/pull/3464&#34;&gt;PR #3464&lt;/a&gt;). Default search relays get centralized (&lt;a href=&#34;https://github.com/vitorpamplona/amethyst/pull/3446&#34;&gt;PR #3446&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;The third thread is protocol integrations for niche verticals. Support for Birdstar bird-detection events (kind 2473) reaches an Android client (&lt;a href=&#34;https://github.com/vitorpamplona/amethyst/pull/3473&#34;&gt;PR #3473&lt;/a&gt;), and PS1 memory-card save states can be published as signed events on kind 38192 (&lt;a href=&#34;https://github.com/vitorpamplona/amethyst/pull/3482&#34;&gt;PR #3482&lt;/a&gt;). Rounding out the week: a compose-signature setting auto-appends custom text to posts (&lt;a href=&#34;https://github.com/vitorpamplona/amethyst/pull/3450&#34;&gt;PR #3450&lt;/a&gt;), the desktop notifications view is redesigned with native OS toasts and a shared filter (&lt;a href=&#34;https://github.com/vitorpamplona/amethyst/pull/3457&#34;&gt;PR #3457&lt;/a&gt;), the Messages column picks up a privacy lock (&lt;a href=&#34;https://github.com/vitorpamplona/amethyst/pull/3432&#34;&gt;PR #3432&lt;/a&gt;), &lt;code&gt;NostrServer.ingest&lt;/code&gt; adds a local write path with per-submission verify skip (&lt;a href=&#34;https://github.com/vitorpamplona/amethyst/pull/3469&#34;&gt;PR #3469&lt;/a&gt;), and &lt;code&gt;equals&lt;/code&gt;/&lt;code&gt;hashCode&lt;/code&gt; contracts are repaired in the OpenTimestamps verify path (&lt;a href=&#34;https://github.com/vitorpamplona/amethyst/pull/3477&#34;&gt;PR #3477&lt;/a&gt;).&lt;/p&gt;

&lt;h3 id=&#34;buzz-keeps-hardening-the-relay-and-defines-kind-44200-for-agent-turn-metrics-5&#34;&gt;Buzz keeps hardening the relay and defines kind 44200 for agent turn metrics&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/block/buzz&#34;&gt;Buzz&lt;/a&gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub16l0ck0s5zened29dsaqtqm6z0t4fmk2mwtszw64fz7fppcnls8mss3yj9s&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;block-opensource&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub16l0…yj9s&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; (the project formerly named Sprout) landed 123 PRs merged in the July 1 through July 7 window. Two threads carry most of the weight. The first is a new event kind for agent telemetry: &lt;a href=&#34;https://github.com/block/buzz/pull/1441&#34;&gt;PR #1441&lt;/a&gt; defines NIP-AM durable encrypted agent turn metrics as kind 44200, which lands the telemetry as a signed event the user&amp;#39;s own relay archives, keeping metrics on user-owned infrastructure. A local archive for the kind follows (&lt;a href=&#34;https://github.com/block/buzz/pull/1555&#34;&gt;PR #1555&lt;/a&gt;), the remove-kind path is made atomic (&lt;a href=&#34;https://github.com/block/buzz/pull/1562&#34;&gt;PR #1562&lt;/a&gt;), and the model name is threaded through the emit path so downstream readers can distinguish which model produced which turn (&lt;a href=&#34;https://github.com/block/buzz/pull/1564&#34;&gt;PR #1564&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;The second thread is relay performance. Post-commit dispatch is deferred and a verify clone is avoided (&lt;a href=&#34;https://github.com/block/buzz/pull/1453&#34;&gt;PR #1453&lt;/a&gt;), ingest and fan-out DB round trips are batched with measured p99 ack drops of 7 to 16 percent and p999 tail drops of 29 to 53 percent versus the prior tip (&lt;a href=&#34;https://github.com/block/buzz/pull/1454&#34;&gt;PR #1454&lt;/a&gt;), multi-filter query execution runs with bounded concurrency (&lt;a href=&#34;https://github.com/block/buzz/pull/1457&#34;&gt;PR #1457&lt;/a&gt;), and outbound WebSocket data frames batch on send (&lt;a href=&#34;https://github.com/block/buzz/pull/1464&#34;&gt;PR #1464&lt;/a&gt;). Alongside the perf work, a per-community workspace icon set that admins configure and the relay serves via &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-11/&#34;&gt;NIP-11&lt;/a&gt; extends NIP-11&amp;#39;s information document with a per-community customization surface (&lt;a href=&#34;https://github.com/block/buzz/pull/1463&#34;&gt;PR #1463&lt;/a&gt;), agent owners can delete their agent&amp;#39;s messages via relay kind:5 events plus matching desktop and mobile UX (&lt;a href=&#34;https://github.com/block/buzz/pull/1519&#34;&gt;PR #1519&lt;/a&gt;), OpenTelemetry tracing joins Prometheus metrics on the relay (&lt;a href=&#34;https://github.com/block/buzz/pull/1398&#34;&gt;PR #1398&lt;/a&gt;), and the git repo-name registry moves to Postgres (&lt;a href=&#34;https://github.com/block/buzz/pull/1432&#34;&gt;PR #1432&lt;/a&gt;).&lt;/p&gt;

&lt;h3 id=&#34;divine-video-wires-up-relay-signature-verification-and-a-nostrconnect-extraction-5&#34;&gt;Divine Video wires up relay signature verification and a NostrConnect extraction&lt;/h3&gt;

&lt;p&gt;Divine (&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1wmr34t36fy03m8hvgl96zl3znndyzyaqhwmwdtshwmtkg03fetaqhjg240&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;rabble&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1wmr…g240&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;) Video&amp;#39;s &lt;a href=&#34;https://github.com/divinevideo/divine-mobile&#34;&gt;mobile app&lt;/a&gt; merged 97 PRs in the window, and the Nostr-facing thread is trust boundary hardening plus authentication cleanup. &lt;a href=&#34;https://github.com/divinevideo/divine-mobile/pull/5774&#34;&gt;PR #5774&lt;/a&gt; verifies inbound relay event signatures, closing a class of trust-in-the-relay bugs; &lt;a href=&#34;https://github.com/divinevideo/divine-mobile/pull/5828&#34;&gt;PR #5828&lt;/a&gt; encrypts the FCM push token in the kind-3080 deregistration event so the user&amp;#39;s device token stops appearing in cleartext on the relay when they unsubscribe; and &lt;a href=&#34;https://github.com/divinevideo/divine-mobile/pull/5831&#34;&gt;PR #5831&lt;/a&gt; chunks the kind:5 deletion REQ so a user with a large delete history no longer overflows the relay frame. On the authentication side, &lt;a href=&#34;https://github.com/divinevideo/divine-mobile/pull/5826&#34;&gt;PR #5826&lt;/a&gt; extracts a &lt;code&gt;NostrConnectCoordinator&lt;/code&gt; for the &lt;code&gt;nostrconnect://&lt;/code&gt; flow, cleaning up the &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-46/&#34;&gt;NIP-46&lt;/a&gt; client-initiated bunker code path ahead of a broader auth refactor tracked under &lt;a href=&#34;https://github.com/divinevideo/divine-mobile/issues/4741&#34;&gt;issue #4741&lt;/a&gt;. &lt;a href=&#34;https://github.com/divinevideo/divine-mobile/pull/5709&#34;&gt;PR #5709&lt;/a&gt; maps kind-16 reposts when &lt;code&gt;notification_type&lt;/code&gt; is absent so a repost notification renders correctly even when the sending client omits the hint.&lt;/p&gt;

&lt;h3 id=&#34;zap-cooking-fixes-nip-46-bunker-login-and-adds-nip-50-recipe-search-5&#34;&gt;Zap Cooking fixes NIP-46 bunker login and adds NIP-50 recipe search&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/zapcooking/frontend&#34;&gt;Zap Cooking&amp;#39;s frontend&lt;/a&gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1xxdd8eusvdxmaph3fkuu9x2mymhrcc3ghe2l38zv0l4f4nqp659qskkt7a&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;ZapCooking&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1xxd…kt7a&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; merged 18 PRs in the window along one theme: making Nostr auth surfaces recover from failure. &lt;a href=&#34;https://github.com/zapcooking/frontend/pull/503&#34;&gt;PR #503&lt;/a&gt; fixes bunker login with an explicit connect handshake, authUrl handling, and error surfacing so a user attaching an external signer sees a real error message on failure where the previous cut hung the login screen. &lt;a href=&#34;https://github.com/zapcooking/frontend/pull/495&#34;&gt;PR #495&lt;/a&gt; adds NIP-98 auth to the extract-recipe endpoint&amp;#39;s image and text upload paths so uploads are pubkey-attributed. A separate feature thread lands NIP-50 full-text recipe search via the nostrarchives search relay backend (&lt;a href=&#34;https://github.com/zapcooking/frontend/pull/483&#34;&gt;PR #483&lt;/a&gt;), letting a user query recipes across the relay corpus without a client-side index. Content-rendering polish ships alongside: quoted-note content and media now surface directly in the parent note replacing the previous buried-link fallback (&lt;a href=&#34;https://github.com/zapcooking/frontend/pull/491&#34;&gt;PR #491&lt;/a&gt;), link previews and hashtag sizing land (&lt;a href=&#34;https://github.com/zapcooking/frontend/pull/492&#34;&gt;PR #492&lt;/a&gt;), multi-word search queries work (&lt;a href=&#34;https://github.com/zapcooking/frontend/pull/482&#34;&gt;PR #482&lt;/a&gt;), and server-side social preview cards are generated for note, reads, and profile links (&lt;a href=&#34;https://github.com/zapcooking/frontend/pull/494&#34;&gt;PR #494&lt;/a&gt;).&lt;/p&gt;

&lt;h3 id=&#34;swift-nostr-client-v0-6-0-progresses-toward-a-first-stable-cut-5&#34;&gt;swift-nostr-client v0.6.0 progresses toward a first stable cut&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/yysskk/swift-nostr-client&#34;&gt;yysskk/swift-nostr-client&lt;/a&gt; shipped &lt;a href=&#34;https://github.com/yysskk/swift-nostr-client/releases/tag/0.6.0&#34;&gt;v0.6.0&lt;/a&gt; alongside 30 merged PRs. The Swift Nostr library moves closer to a first stable API surface for Swift Nostr clients that avoid linking the MDK or MarmotKit toolchains.&lt;/p&gt;

&lt;h3 id=&#34;napplet-realigns-nip-5d-sandbox-surface-and-drops-nap-resource-5&#34;&gt;Napplet realigns NIP-5D sandbox surface and drops NAP-RESOURCE&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/napplet&#34;&gt;Napplet&lt;/a&gt; (&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1uac67zc9er54ln0kl6e4qp2y6ta3enfcg7ywnayshvlw9r5w6ehsqq99rx&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;sandwich&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1uac…99rx&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;) shipped 26 more releases across &lt;code&gt;@napplet/core&lt;/code&gt;, &lt;code&gt;@napplet/nap&lt;/code&gt;, &lt;code&gt;@napplet/sdk&lt;/code&gt;, &lt;code&gt;@napplet/shim&lt;/code&gt;, &lt;code&gt;@napplet/skills&lt;/code&gt;, and &lt;code&gt;@napplet/vite-plugin&lt;/code&gt;, plus 9 PRs to the &lt;code&gt;naps&lt;/code&gt; spec repo. The most substantive spec move is &lt;a href=&#34;https://github.com/napplet/naps/pull/79&#34;&gt;PR #79&lt;/a&gt; reverting the NAP-RESOURCE merge (sandboxed resource fetching over &lt;code&gt;https&lt;/code&gt;, &lt;code&gt;blossom&lt;/code&gt;, &lt;code&gt;htree&lt;/code&gt;, &lt;code&gt;nostr&lt;/code&gt;, and &lt;code&gt;data&lt;/code&gt; schemes was withdrawn from the spec pending more review), and PRs #81 through #86 replace schema pseudocode with tables across NAP-IDENTITY, NAP-INC, NAP-SHELL, NAP-THEME, and NAP-INTENT. On the runtime side, &lt;code&gt;kehto/web&lt;/code&gt; (the napplet browser and shell) merged 15 PRs on &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-5d/&#34;&gt;NIP-5D&lt;/a&gt; sandbox capability language, CSP insertion, and the injected NAP-KEYS prelude, narrowing the sandbox surface for napplet execution.&lt;/p&gt;

&lt;h3 id=&#34;primal-android-extends-the-remote-signer-surface-5&#34;&gt;primal-android extends the remote-signer surface&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/PrimalHQ/primal-android-app&#34;&gt;Primal Android&lt;/a&gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub12vkcxr0luzwp8e673v29eqjhrr7p9vqq8asav85swaepclllj09sylpugg&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;primal&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub12vk…pugg&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; merged 18 PRs in the window. On the Nostr side, &lt;a href=&#34;https://github.com/PrimalHQ/primal-android-app/pull/1075&#34;&gt;PR #1075&lt;/a&gt; implements &lt;code&gt;switch_relays&lt;/code&gt; and &lt;code&gt;logout&lt;/code&gt; methods for the app&amp;#39;s remote-signer role, extending Primal&amp;#39;s NIP-46 signer surface. &lt;a href=&#34;https://github.com/PrimalHQ/primal-android-app/pull/1083&#34;&gt;PR #1083&lt;/a&gt; adds a splash-gated local app-migration framework, and &lt;a href=&#34;https://github.com/PrimalHQ/primal-android-app/pull/1080&#34;&gt;PR #1080&lt;/a&gt; implements note-feed prefetching in the splash view-model. The rest is UI polish across the Home top and bottom bar, Explore hints, and the profile screen.&lt;/p&gt;

&lt;h3 id=&#34;wisp-adds-a-multi-account-switcher-and-blossom-parser-tests-5&#34;&gt;Wisp adds a multi-account switcher and Blossom parser tests&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/barrydeen/wisp&#34;&gt;Wisp&lt;/a&gt; (&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1utx00neqgqln72j22kej3ux7803c2k986henvvha4thuwfkper4s7r50e8&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;utxo the webmaster 🧑‍💻&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1utx…50e8&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;) merged 9 PRs. &lt;a href=&#34;https://github.com/barrydeen/wisp/pull/604&#34;&gt;PR #604&lt;/a&gt; adds a multi-account switcher with an explicit cancel path on the add-account flow. &lt;a href=&#34;https://github.com/barrydeen/wisp/pull/613&#34;&gt;PR #613&lt;/a&gt; adds unit tests for &lt;code&gt;Blossom.parseServerList&lt;/code&gt;, tightening the &lt;a href=&#34;https://nostrcompass.org/en/topics/blossom/&#34;&gt;Blossom&lt;/a&gt; server-list parser. &lt;a href=&#34;https://github.com/barrydeen/wisp/pull/574&#34;&gt;PR #574&lt;/a&gt; rewrites the zap sheet for iOS layout with an instant-zap settings surface, &lt;a href=&#34;https://github.com/barrydeen/wisp/pull/605&#34;&gt;PR #605&lt;/a&gt; turns transaction history into a swipe-up bottom sheet, &lt;a href=&#34;https://github.com/barrydeen/wisp/pull/611&#34;&gt;PR #611&lt;/a&gt; parses hashtags with non-ASCII Unicode letters, &lt;a href=&#34;https://github.com/barrydeen/wisp/pull/609&#34;&gt;PR #609&lt;/a&gt; keeps the profile notes feed paginating and renders inline gallery media, and &lt;a href=&#34;https://github.com/barrydeen/wisp/pull/603&#34;&gt;PR #603&lt;/a&gt; preserves blank lines before inline profile and hashtag segments.&lt;/p&gt;

&lt;h3 id=&#34;tao-and-wired-raise-the-pow-signal-to-21-bits-and-surface-fresh-pow-roots-5&#34;&gt;TAO and Wired raise the PoW signal to 21 bits and surface fresh-PoW roots&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/smolgrrr/TAO&#34;&gt;smolgrrr/TAO&lt;/a&gt; and &lt;a href=&#34;https://github.com/smolgrrr/Wired&#34;&gt;smolgrrr/Wired&lt;/a&gt; (the same commit set landed in both repos) merged 13 PRs. &lt;a href=&#34;https://github.com/smolgrrr/TAO/pull/84&#34;&gt;PR #84&lt;/a&gt; raises the default post-signal proof-of-work target to 21 leading zero bits, and &lt;a href=&#34;https://github.com/smolgrrr/TAO/pull/80&#34;&gt;PR #80&lt;/a&gt; surfaces feed roots from fresh PoW activity so a client can rank the timeline by recent NIP-13 work; the previous ranking was raw event age. &lt;a href=&#34;https://github.com/smolgrrr/TAO/pull/75&#34;&gt;PR #75&lt;/a&gt; restores a custom emoji picker and &lt;a href=&#34;https://github.com/smolgrrr/TAO/pull/65&#34;&gt;PR #65&lt;/a&gt; adds first-frame video previews. This is the second Nostr client this week to lean on NIP-13 as a first-class filter for user-generated content, complementing Bitchat&amp;#39;s channel-scoped PoW.&lt;/p&gt;

&lt;h3 id=&#34;keep-android-polishes-nip-46-ux-and-lands-a-toctou-fix-5&#34;&gt;keep-android polishes NIP-46 UX and lands a TOCTOU fix&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/privkeyio/keep-android&#34;&gt;privkeyio/keep-android&lt;/a&gt; shipped &lt;a href=&#34;https://github.com/privkeyio/keep-android/releases/tag/v1.1.5&#34;&gt;v1.1.5&lt;/a&gt; alongside 13 merged PRs, then &lt;a href=&#34;https://github.com/privkeyio/keep-android/releases/tag/v1.1.6&#34;&gt;v1.1.6&lt;/a&gt; on July 8 pinning the underlying keep core to v0.5.0. Keep is a mobile identity vault (covered in &lt;a href=&#34;https://nostrcompass.org/en/newsletters/2026-07-01-newsletter/#custid-launches-as-a-mobile-identity-vault-with-nip-46-and-nfc-challenge-flow&#34;&gt;Issue #29&lt;/a&gt; as CustID). v1.1.5 was UX polish on the &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-46/&#34;&gt;NIP-46&lt;/a&gt; challenge flow. v1.1.6 closes a check-then-set (TOCTOU) race in &lt;code&gt;set_active_share&lt;/code&gt; from the underlying keep-mobile crate, surfaces the URL and method being authorized on the &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-98/&#34;&gt;NIP-98&lt;/a&gt; HTTP-auth approval prompt so a user can see what they are signing, and switches the RNG health check to fail closed (return an error) instead of panicking. An instrumented test covers the NIP-55 approval-flow kill switch. The v0.5.0 CLI features that came with the underlying release (threshold-OPRF unlock, software DKG, HD FROST wallets) are not surfaced in the Android app yet; v1.1.6 delivers the security fixes only.&lt;/p&gt;

&lt;h3 id=&#34;heartwood-ships-the-relay-to-serial-signing-bridge-5&#34;&gt;Heartwood ships the relay-to-serial signing bridge&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/forgesworn/heartwood/releases/tag/v0.7.0&#34;&gt;forgesworn/heartwood v0.7.0&lt;/a&gt; lands the relay-to-serial signing bridge that was in flight last week, wiring the HSM-mode data plane for Bray&amp;#39;s serial-signer path. &lt;a href=&#34;https://github.com/forgesworn/heartwood/pull/11&#34;&gt;PR #11&lt;/a&gt; is the bridge itself, &lt;a href=&#34;https://github.com/forgesworn/heartwood/pull/13&#34;&gt;PR #13&lt;/a&gt; adds serial-frame coverage and fixes the device &lt;code&gt;read_frame&lt;/code&gt; payload offset, and &lt;a href=&#34;https://github.com/forgesworn/heartwood/pull/14&#34;&gt;PR #14&lt;/a&gt; extracts the serial frame codec into a shared &lt;code&gt;heartwood-frame&lt;/code&gt; crate.&lt;/p&gt;

&lt;h3 id=&#34;safebox-publishes-a-phase-3-progress-report-and-a-freebsd-jail-runbook-5&#34;&gt;SafeBox publishes a Phase 3 progress report and a FreeBSD jail runbook&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/trbouma/safebox&#34;&gt;SafeBox&lt;/a&gt; is a private portable data vault on Nostr that combines &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-47/&#34;&gt;NIP-47&lt;/a&gt; Nostr Wallet Connect, nAuth, nembed, and relay-mediated record transfer over QR and NFC into one operator-deployable service. A &lt;a href=&#34;https://github.com/trbouma/safebox/blob/main/docs/PROGRESS-REPORT-2026-07.md&#34;&gt;July 2026 progress report&lt;/a&gt; published on July 6 marks Phase 3 as substantially complete: 49 commits landed since the April report, bringing the repository to 1,136 commits, and the four Phase 3 engineering commitments (harden Phase 2 experiments, support interoperable instances, prepare for scale, add commercial-product discipline) are largely delivered. The report frames the next step as a bounded pilot, and discloses that a telecommunications provider under NDA is exploring a health-records pilot on SafeBox.&lt;/p&gt;

&lt;p&gt;The concrete Nostr-facing work landed earlier in Phase 3 and is summarized in the report: mutating NWC actions are now queued to avoid proof races, failed Lightning melts protect proofs before returning, long-lived NWC listeners now refresh proactively so a session survives past its idle threshold; the previous behavior was a silent stall, and LNURL callbacks use canonical origins with explicit JSON and CORS responses. QR and NFC record exchange gained a unified flow spec covering recipient-presented, sender-presented, and cross-device presentation modes with clearer KEM (Key Encapsulation Mechanism) handling and replay protection through the Open Quantum Safe library. The in-window commit is &lt;a href=&#34;https://github.com/trbouma/safebox/commit/6866dae&#34;&gt;&lt;code&gt;6866dae&lt;/code&gt;&lt;/a&gt;, which adds a &lt;a href=&#34;https://github.com/trbouma/safebox/blob/main/docs/devops/freebsd-jail-from-scratch.md&#34;&gt;FreeBSD jail deployment and liboqs build runbook&lt;/a&gt; alongside a &lt;a href=&#34;https://github.com/trbouma/safebox/blob/main/docs/devops/SAFEBOX-FREEBSD-APPLIANCE-SPEC.md&#34;&gt;FreeBSD appliance specification&lt;/a&gt;, documenting ZFS snapshots, jail isolation, &lt;code&gt;rc.d&lt;/code&gt; service management, host-level reverse proxy configuration, and rollback procedure for a SafeBox deployment on FreeBSD/ARM hardware.&lt;/p&gt;

&lt;p&gt;The report also announces &lt;a href=&#34;https://github.com/trbouma/openetr&#34;&gt;OpenETR&lt;/a&gt; as a distinct spin-off applying SafeBox&amp;#39;s cryptographic-control-plus-portable-records architecture to electronic transferable records: bills of lading, warehouse receipts, promissory notes, and certificates. OpenETR&amp;#39;s repo saw 7 commits on July 7 including &lt;a href=&#34;https://github.com/trbouma/openetr/commit/ea612a9&#34;&gt;&lt;code&gt;ea612a9&lt;/code&gt;&lt;/a&gt; separating attestation from the core record, &lt;a href=&#34;https://github.com/trbouma/openetr/commit/ca153a3&#34;&gt;&lt;code&gt;ca153a3&lt;/code&gt;&lt;/a&gt; on mandate-versus-effect handling, and &lt;a href=&#34;https://github.com/trbouma/openetr/commit/ba84b61&#34;&gt;&lt;code&gt;ba84b61&lt;/code&gt;&lt;/a&gt; adding a comparison to verifiable-credential formats.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&#34;protocol-work-and-nip-updates-5&#34;&gt;Protocol work and NIP updates&lt;/h2&gt;

&lt;h3 id=&#34;merged-nip-51-and-nip-37-align-the-kind-10013-name-5&#34;&gt;Merged: NIP-51 and NIP-37 align the kind 10013 name&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/nostr-protocol/nips/pull/2404&#34;&gt;PR #2404&lt;/a&gt; is a prose-only consistency fix. In &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-37/&#34;&gt;NIP-37&lt;/a&gt;, kind 10013 is named &lt;code&gt;Relay List for Private Content&lt;/code&gt;; in &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-51/&#34;&gt;NIP-51&lt;/a&gt; under &lt;code&gt;Draft relays&lt;/code&gt;, the same kind was described with different wording. NIP-51 now uses the NIP-37 name for the same event kind. No wire behavior changes and no new tag semantics; the value is that NIP-51 is the umbrella spec for list-shaped events and NIP-37 is the private-content follow-up, and misaligned naming between the two makes it easy to miss that they describe the same kind.&lt;/p&gt;

&lt;h3 id=&#34;open-nip-ad-nostr-web-addresses-via-well-known-lookup-5&#34;&gt;Open: NIP-AD Nostr Web Addresses via .well-known lookup&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/nostr-protocol/nips/pull/2406&#34;&gt;PR #2406&lt;/a&gt; opens as the successor to a closed PR #2393 with a full spec draft at &lt;a href=&#34;https://github.com/nostr-protocol/nips/blob/2f4b09335c54a993d483bc220195e3f4a33df1ec/AD.md&#34;&gt;&lt;code&gt;AD.md&lt;/code&gt;&lt;/a&gt;. NIP-AD defines web URLs that carry an optional Nostr counterpart. A client that sees a URL like &lt;code&gt;https://golf.com/players&lt;/code&gt; requests &lt;code&gt;https://golf.com/.well-known/nostr.json?ad=/players&lt;/code&gt;, which returns a JSON object mapping paths to &lt;code&gt;{filter, relays}&lt;/code&gt; pairs. The returned filter is a standard NIP-01 filter (kinds, authors, &lt;code&gt;#d&lt;/code&gt;, &lt;code&gt;limit&lt;/code&gt;, etc.), and the relays array names which relays the client should query. With &lt;code&gt;&amp;#34;limit&amp;#34;: 1&lt;/code&gt; the URL resolves to a single event; without it, to a list. In a normal web browser the URL renders HTML like any other URL, so the same domain can serve web users and Nostr clients from one canonical path. The stated use cases include &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-29/&#34;&gt;NIP-29&lt;/a&gt; group names resolving to a kind 39000 event on a specific relay (removing the need for group id farming), &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-5a/&#34;&gt;NIP-5A&lt;/a&gt; nsite lookups, hosted feeds that publish a &lt;code&gt;{&amp;#34;ids&amp;#34;: [...]}&lt;/code&gt; filter, native rendering of pasted &lt;code&gt;njump.me/nevent1...&lt;/code&gt; and client-specific event URLs, and Nostr-fueled blogs that exist both natively inside Nostr and to visitors outside. The &lt;code&gt;.well-known/nostr.json&lt;/code&gt; reuse plus path-as-object-key layout is chosen so the resolver can be a static file.&lt;/p&gt;

&lt;h3 id=&#34;open-nip-86-claim-management-for-invite-codes-5&#34;&gt;Open: NIP-86 claim management for invite codes&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/nostr-protocol/nips/pull/2408&#34;&gt;PR #2408&lt;/a&gt; proposes adding three methods to &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-86/&#34;&gt;NIP-86&lt;/a&gt;: &lt;code&gt;listclaims&lt;/code&gt; (params &lt;code&gt;[]&lt;/code&gt;, returns an array of &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-43/&#34;&gt;NIP-43&lt;/a&gt; invite codes), &lt;code&gt;createclaim&lt;/code&gt; (params &lt;code&gt;[claim]&lt;/code&gt;, returns &lt;code&gt;true&lt;/code&gt;), and &lt;code&gt;deleteclaim&lt;/code&gt; (params &lt;code&gt;[claim]&lt;/code&gt;, returns &lt;code&gt;true&lt;/code&gt;). Today NIP-86 lets a relay admin manage users and role assignments but has no invite-code surface. The PR author&amp;#39;s use case is community-relay onboarding: an admin creates an invite code associated with a role, collects payment before the user&amp;#39;s identity is created, hands the invite code to the user, and a bot listens for the resulting kind 28935 claim event on the relay and auto-assigns the role. The three methods let that flow run entirely through the relay management RPC.&lt;/p&gt;

&lt;h3 id=&#34;open-role-color-as-h-s-l-tuple-5&#34;&gt;Open: role color as (h, s, l) tuple&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/nostr-protocol/nips/pull/2402&#34;&gt;PR #2402&lt;/a&gt; changes the role color format in &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-43/&#34;&gt;NIP-43&lt;/a&gt; from a single &lt;code&gt;hue&lt;/code&gt; value (0 to 360) to a tuple of &lt;code&gt;hue&lt;/code&gt; (0 to 360), &lt;code&gt;saturation&lt;/code&gt; (0 to 1), and &lt;code&gt;lightness&lt;/code&gt; (0 to 1). Empty strings are permitted for any component so clients can supply their own defaults for a coherent palette, and the spec text recommends providing only &lt;code&gt;hue&lt;/code&gt; unless a specific color like silver is desired. The change threads through NIP-86 in the same PR: &lt;code&gt;createrole&lt;/code&gt; and &lt;code&gt;editrole&lt;/code&gt; now take &lt;code&gt;[id, label, description, [h, s, l], order]&lt;/code&gt;; the previous signature carried a single-color parameter in the same slot. The motivation is that hue alone forces clients to pick saturation and lightness for the operator, so different clients render the same role at visibly different intensities.&lt;/p&gt;

&lt;h3 id=&#34;open-nip-80-hardware-attested-media-provenance-5&#34;&gt;Open: NIP-80 hardware-attested media provenance&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/nostr-protocol/nips/pull/2409&#34;&gt;PR #2409&lt;/a&gt; opens NIP-80, an event format for media provenance anchored in capture hardware. A camera signs each photo at the moment of capture and publishes the proof to relays keyed by the content itself, so verification survives metadata stripping, re-hosting, and platform takedowns. The proposal defines six new event kinds: kind 1080 for capture attestations, kind 1081 for derivation attestations covering resize, crop, recompress, or redact operations (with a reveal mode or zero-knowledge option), kind 1082 for revocations (regular events, permanent, author-scoped, monotonic), kind 11080 for device announcements, kind 31080 for device endorsements, and kind 31081 for a device set for anonymous attestations (marked experimental and possibly split into a companion NIP). Reused primitives include NIP-94 &lt;code&gt;x&lt;/code&gt;-tag semantics, &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-92/&#34;&gt;NIP-92&lt;/a&gt; &lt;code&gt;imeta&lt;/code&gt;, &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-65/&#34;&gt;NIP-65&lt;/a&gt; for revocation discovery, &lt;a href=&#34;https://nostrcompass.org/en/topics/blossom/&#34;&gt;Blossom&lt;/a&gt; for media storage, and optional &lt;a href=&#34;https://github.com/nostr-protocol/nips/blob/master/03.md&#34;&gt;NIP-03&lt;/a&gt; timestamp anchoring. The signing model pairs a BIP-340 device key with a hardware ECDSA key because mainstream secure elements do not yet produce BIP-340 signatures (Microchip ATECC608 supports P-256, NXP SE050 supports secp256k1 but only ECDSA, TPM 2.0 modules and Infineon OPTIGA Trust M cover P-256/RSA, Apple Secure Enclave and Android StrongBox use P-256). The stated scope explicitly does not attempt to prove the scene is real: an attestation proves this exact image came from this device at approximately this time and was modified only in declared, provable ways, and the specification forbids clients from collapsing results into a bare &amp;#34;authentic&amp;#34; badge. A working prototype &lt;a href=&#34;https://github.com/PrarthanaPurohit/OpenVeilCam&#34;&gt;OpenVeilCam&lt;/a&gt;, a Rust camera runtime for Raspberry Pi using the ATECC608 secure element, is being updated to publish the proposed event kinds alongside a standalone verifier.&lt;/p&gt;

&lt;h3 id=&#34;open-nip-01-pagination-hardening-5&#34;&gt;Open: NIP-01 pagination hardening&lt;/h3&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/nostr-protocol/nips/pull/2407&#34;&gt;PR #2407&lt;/a&gt; adds a &amp;#34;Pagination &amp;amp; limits&amp;#34; subsection to NIP-01. The concrete rules: a relay that imposes a maximum &lt;code&gt;limit&lt;/code&gt; MUST set it greater than the largest number of events sharing a single &lt;code&gt;created_at&lt;/code&gt; in its database, so no single second can fill a page and stall pagination. Clients paging backwards MUST repeat requests with &lt;code&gt;until = oldest&lt;/code&gt; (inclusive) and MUST deduplicate by &lt;code&gt;id&lt;/code&gt; (since the oldest second is re-fetched each round), and paging is complete when a round yields no new events after deduplication. If a full page has oldest and newest events sharing one &lt;code&gt;created_at&lt;/code&gt;, the client MUST retry that second with a larger &lt;code&gt;limit&lt;/code&gt;, and if the relay clamps the larger &lt;code&gt;limit&lt;/code&gt; and still returns a page confined to one second, the client MUST either advance with &lt;code&gt;until = oldest - 1&lt;/code&gt; (treating unretrieved events as dropped) or abort. Normal paging MUST NOT set &lt;code&gt;limit&lt;/code&gt;; the relay maximum is authoritative, and a smaller value reintroduces the stall. Raising &lt;code&gt;limit&lt;/code&gt; to drain a stuck second is the one exception. This fix matters because a naive &lt;code&gt;since&lt;/code&gt;/&lt;code&gt;until&lt;/code&gt; cursor either misses events with duplicate timestamps or reprocesses them, and the current NIP-01 text does not tell either side how to escape the trap.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&#34;nip-deep-dive-nip-13-proof-of-work-5&#34;&gt;NIP Deep Dive: NIP-13 (Proof of Work)&lt;/h2&gt;

&lt;p&gt;&lt;a href=&#34;https://nostrcompass.org/en/topics/nip-13/&#34;&gt;NIP-13&lt;/a&gt; defines a proof-of-work mechanism for Nostr events. It exists because email-style spam is trivial to produce on a public relay network: anyone can generate a keypair and flood a topic, and there is no economic cost per event. NIP-13 lets an event author impose a computational cost per event that a spammer would have to pay in aggregate but a regular sender pays only once per message. Relays and clients can then require or prefer events that meet a difficulty threshold.&lt;/p&gt;

&lt;h3 id=&#34;the-mechanism-1-9&#34;&gt;The mechanism&lt;/h3&gt;

&lt;p&gt;An event author picks a difficulty target expressed in bits and mines the event&amp;#39;s id (the sha256 hash of the serialized event) until it has at least that many leading zero bits. Because the event id includes the &lt;code&gt;created_at&lt;/code&gt; timestamp, the tags, and the content, mining requires changing something in the event body to search the hash space. NIP-13 defines a &lt;code&gt;nonce&lt;/code&gt; tag for exactly this purpose:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[&amp;#34;nonce&amp;#34;, &amp;#34;&amp;lt;nonce_value&amp;gt;&amp;#34;, &amp;#34;&amp;lt;target_bits&amp;gt;&amp;#34;]
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The &lt;code&gt;nonce_value&lt;/code&gt; is any string the miner picks; the &lt;code&gt;target_bits&lt;/code&gt; is the difficulty the miner committed to. A verifier counts the leading zero bits of the event id and compares against &lt;code&gt;target_bits&lt;/code&gt;. The &lt;code&gt;target_bits&lt;/code&gt; in the tag is a claim, and a verifier measures the actual leading-zero count of the id to confirm it.&lt;/p&gt;

&lt;p&gt;The number of leading zero bits in a random sha256 output follows a geometric distribution: each additional bit doubles the expected work. 8 bits averages 256 hash attempts, 20 bits averages roughly one million, and 28 bits averages roughly 268 million. Bitchat&amp;#39;s 8-bit target for geohash-channel messages costs under one millisecond of CPU on modern hardware and completes below any perceptible latency. TAO and Wired&amp;#39;s 21-bit default is roughly two million hash attempts per post, which is fast on a laptop but expensive at scale for a bot farm. NIP-13 does not mandate a difficulty; each relay and client picks its own.&lt;/p&gt;

&lt;h3 id=&#34;example-event-1-9&#34;&gt;Example event&lt;/h3&gt;

&lt;p&gt;A minimal NIP-13-mined kind-1 note looks like:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;{
  &amp;#34;id&amp;#34;: &amp;#34;000000000e9d97a1ab09fc381030b346cdd7a1a8a6f27c9c88f68c8b9d0f6c8a&amp;#34;,
  &amp;#34;pubkey&amp;#34;: &amp;#34;82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2&amp;#34;,
  &amp;#34;created_at&amp;#34;: 1720368000,
  &amp;#34;kind&amp;#34;: 1,
  &amp;#34;tags&amp;#34;: [
    [&amp;#34;nonce&amp;#34;, &amp;#34;72847&amp;#34;, &amp;#34;28&amp;#34;]
  ],
  &amp;#34;content&amp;#34;: &amp;#34;hello, this cost me 28 bits of PoW&amp;#34;,
  &amp;#34;sig&amp;#34;: &amp;#34;b1a5c9c74cff59f8a48e5c3b3d8e1c8e7e2c1d4a8e2b9f7d1c3e8b4f6a2c8d1e9f4b3c7a1d8e5b2f9c6a3d7e1b8f4c9a2d6e3b7f1c8a4d9e2b5f8c1a7d4e6b9f3c2&amp;#34;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The &lt;code&gt;id&lt;/code&gt; starts with seven hex zeros (28 leading zero bits, matching the &lt;code&gt;target_bits&lt;/code&gt; in the nonce tag). The miner varied the &lt;code&gt;nonce_value&lt;/code&gt; &lt;code&gt;72847&lt;/code&gt; until the id met the target. A verifier hashes the serialized event and confirms the id has at least 28 leading zero bits, then verifies the signature. NIP-13 adds no new fields; it adds the &lt;code&gt;nonce&lt;/code&gt; tag and constrains the id&amp;#39;s zero-bit count.&lt;/p&gt;

&lt;h3 id=&#34;where-it-is-used-1-9&#34;&gt;Where it is used&lt;/h3&gt;

&lt;p&gt;Bitchat&amp;#39;s 1.5.4 release uses 8-bit PoW on kind 20000 geohash-channel messages: outbound sends mine the tag before publishing and inbound events with validated PoW relax the per-sender intake rate limit. TAO and Wired use 21-bit PoW as the default post-signal threshold and surface feed roots from fresh PoW activity, treating PoW as a timeline ranking signal. &lt;a href=&#34;https://github.com/mattn/algia&#34;&gt;cagliostr&lt;/a&gt; enforces NIP-13 at the relay layer, rejecting events below a threshold. NoStrudel exposes a client-side PoW mining setting for authors who want to signal to filtering clients. Damus and Amethyst compute leading-zero bits when displaying events, letting a user see the PoW commitment on notes. Coracle exposes PoW both for mining and filtering. NDK and nostr-tools expose PoW mining helpers to library consumers.&lt;/p&gt;

&lt;p&gt;The design property that shapes NIP-13&amp;#39;s deployment is that PoW is unforgeable: a claim of &lt;code&gt;target_bits&lt;/code&gt; counts as evidence only when the id has that many leading zeros, and a counterfeit requires redoing the work. That property lets Bitchat use inbound PoW as a rate-limit relaxer even when a spammer claims a high difficulty; the check is a hash count, not a trust decision. The complementary property is that PoW does not commit the miner to any specific pubkey or content; a spammer can still choose to mine at 8 bits and burn compute, but the compute is a real cost. NIP-13 shifts the spam problem from &amp;#34;impossible&amp;#34; to &amp;#34;quantifiable&amp;#34; and lets clients set their own price.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&#34;nip-deep-dive-nip-40-expiration-timestamp-5&#34;&gt;NIP Deep Dive: NIP-40 (Expiration Timestamp)&lt;/h2&gt;

&lt;p&gt;&lt;a href=&#34;https://nostrcompass.org/en/topics/nip-40/&#34;&gt;NIP-40&lt;/a&gt; defines an &lt;code&gt;expiration&lt;/code&gt; tag that instructs a relay and a client that an event should be considered expired after a given Unix timestamp. It exists because Nostr events are otherwise permanent: once a signed event lands on a relay, the only way to remove it is a NIP-09 delete event, and even then a relay may retain the original. NIP-40 lets an author declare at publication time that an event is short-lived, and asks relays to stop serving it and clients to stop displaying it after the timestamp.&lt;/p&gt;

&lt;h3 id=&#34;the-mechanism-1-10&#34;&gt;The mechanism&lt;/h3&gt;

&lt;p&gt;An author adds an &lt;code&gt;expiration&lt;/code&gt; tag to an event:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[&amp;#34;expiration&amp;#34;, &amp;#34;&amp;lt;unix_timestamp&amp;gt;&amp;#34;]
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The timestamp is Unix seconds. A relay MAY reject events whose expiration is already in the past at ingest, MAY stop serving events whose expiration has passed, and SHOULD respect the author&amp;#39;s stated expiration. A client SHOULD hide expired events from the user. NIP-40 does not require the relay to delete the event, and it does not overrule NIP-70 protected-event semantics; it is a hint plus a soft contract.&lt;/p&gt;

&lt;p&gt;The tag lives on the event itself (or in the case of wrapped messaging, on the outer wrap). NIP-40 does not define delete semantics; the event remains a signed event that anyone who has it can still read. What NIP-40 gives is a coordinated expectation that the relay and the client will stop surfacing the event after the deadline. This makes NIP-40 useful for ephemeral posts, timed announcements, live-event notes that should stop being served after the event, and NIP-17 direct messages that should not linger past a stated horizon.&lt;/p&gt;

&lt;h3 id=&#34;interaction-with-gift-wrap-5&#34;&gt;Interaction with gift wrap&lt;/h3&gt;

&lt;p&gt;The rust-nostr PR that landed this week (&lt;a href=&#34;https://github.com/rust-nostr/nostr/pull/1384&#34;&gt;PR #1384&lt;/a&gt;) is a case study in how NIP-40 interacts with &lt;a href=&#34;https://nostrcompass.org/en/topics/nip-59/&#34;&gt;NIP-59&lt;/a&gt; gift wrap. NIP-59 defines a two-layer envelope: a kind:13 &amp;#34;seal&amp;#34; event signed by the sender&amp;#39;s real key, and a kind:1059 &amp;#34;gift wrap&amp;#34; event signed by an ephemeral key. Both layers have randomized &lt;code&gt;created_at&lt;/code&gt; values, up to 48 hours before the real send time, so a relay observer cannot recover the true send timestamp. NIP-59 mandates that the seal have empty tags.&lt;/p&gt;

&lt;p&gt;That mandate is why the expiration tag has to go on the gift wrap and stay off the seal, and why anchoring the tag to the real send time would defeat gift wrap&amp;#39;s timing privacy: if a caller passes an absolute expiration timestamp, an observer subtracts the caller&amp;#39;s intended TTL and recovers the real send time. rust-nostr&amp;#39;s design decision is to expose the API as a &lt;code&gt;Duration&lt;/code&gt; from the caller, then compute &lt;code&gt;expiration = wrap.created_at &#43; duration&lt;/code&gt; inside the library. The wrap&amp;#39;s &lt;code&gt;created_at&lt;/code&gt; is already randomized inside the library, so the expiration timestamp inherits the same randomization and does not leak the true send time.&lt;/p&gt;

&lt;h3 id=&#34;example-event-1-10&#34;&gt;Example event&lt;/h3&gt;

&lt;p&gt;A minimal NIP-40 example on a kind-1 note:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;{
  &amp;#34;id&amp;#34;: &amp;#34;1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b&amp;#34;,
  &amp;#34;pubkey&amp;#34;: &amp;#34;82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2&amp;#34;,
  &amp;#34;created_at&amp;#34;: 1720368000,
  &amp;#34;kind&amp;#34;: 1,
  &amp;#34;tags&amp;#34;: [
    [&amp;#34;expiration&amp;#34;, &amp;#34;1720454400&amp;#34;]
  ],
  &amp;#34;content&amp;#34;: &amp;#34;this note expires in 24 hours&amp;#34;,
  &amp;#34;sig&amp;#34;: &amp;#34;d2e5b8a1c4f7b0d3e6a9c2f5b8d1e4a7c0f3b6d9e2a5c8f1b4d7e0a3c6f9b2d5e8a1c4f7b0d3e6a9c2f5b8d1e4a7c0f3b6d9e2a5c8f1b4d7e0a3c6f9b2d5e8a1&amp;#34;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;created_at&lt;/code&gt; is the Unix timestamp of publication; the expiration tag says the event should stop being served 86,400 seconds (24 hours) later. A relay that respects NIP-40 stops returning this event to REQs after &lt;code&gt;1720454400&lt;/code&gt;, and a client that respects NIP-40 hides it from the user after that time.&lt;/p&gt;

&lt;h3 id=&#34;where-it-is-used-1-10&#34;&gt;Where it is used&lt;/h3&gt;

&lt;p&gt;rust-nostr&amp;#39;s builders (&lt;code&gt;GiftWrapBuilder&lt;/code&gt;, &lt;code&gt;PrivateDirectMessageBuilder&lt;/code&gt;) now expose expiration as a first-class &lt;code&gt;Duration&lt;/code&gt; parameter. NDK exposes an expiration helper for kind-1 and DM builders. nostr-tools has a &lt;code&gt;getExpiration&lt;/code&gt; and &lt;code&gt;isExpired&lt;/code&gt; pair for reading and enforcing the tag. strfry, nostr-rs-relay, khatru, and other relay implementations respect NIP-40 in REQ handling (rejecting or omitting expired events depending on the operator&amp;#39;s policy). Damus, Amethyst, noStrudel, Coracle, and Primal all filter expired events from their timeline rendering. Live-activity clients like zap.stream use NIP-40 on the associated kind-1311 chat events so a live chat stops persisting after the stream ends.&lt;/p&gt;

&lt;p&gt;The design property that lands NIP-40 cleanly in most implementations is that it is opt-in per event and does not require coordinated deployment. An author can add the tag today; a relay that honors it gets a cleaner working set; a relay that ignores it does no worse than before; and a client that hides expired events gives the author what they asked for. The rust-nostr change this week reinforces that the tag&amp;#39;s placement matters as much as its presence: in a privacy-preserving envelope like NIP-59 gift wrap, the tag sits on the layer whose timestamp is already randomized, and the API surface prevents a caller from accidentally leaking a real timestamp back into the wrap.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;That&amp;#39;s it for this week. Building something or have news to share? Reach out via NIP-17 DM or find us on Nostr.&lt;/p&gt;
 &lt;/blockquote&gt;
    </content>
    <updated>2026-07-09T15:06:18Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqspq9qdy5h63v8nwr0ys3yrkmj4s39p7jp09kytvhcrrk27taht2dcpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qfetz9dt4eka56h0dpyly335v60mjf7k4gu2z7rqmptkz72e2pvhqanvuvw</id>
    
      <title type="html">Will be updating to offer TEE today 🔥🔥🔥</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqspq9qdy5h63v8nwr0ys3yrkmj4s39p7jp09kytvhcrrk27taht2dcpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qfetz9dt4eka56h0dpyly335v60mjf7k4gu2z7rqmptkz72e2pvhqanvuvw" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8wu2aqags3n8aat0dntmk7wp6pw2jf0xqv6ww24z7uf85thfsqesprpmhxue69uhhyetvv9ujuun0w468xarj9e3k7mf0vta5rv&#39;&gt;nevent1q…a5rv&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Will be updating to offer TEE today 🔥🔥🔥
    </content>
    <updated>2026-07-09T15:02:15Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqst7zry5jdh6rv5yjq97yk5x6pxs5n6w2rveejqme008twt2v7vxfcpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qak68qfcjj7k95c0jwleu69x72nr8adwv6g80pkwl9xlps6zmkqzq2rpkxp</id>
    
      <title type="html">This is amazing! Great work! Has to feel good!</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqst7zry5jdh6rv5yjq97yk5x6pxs5n6w2rveejqme008twt2v7vxfcpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qak68qfcjj7k95c0jwleu69x72nr8adwv6g80pkwl9xlps6zmkqzq2rpkxp" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsf9xxy32ylwxs2jhxa8z4w73zz8v4etfjh50z8l5uu5n42kgw7lvspzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtcpglzvu&#39;&gt;nevent1q…lzvu&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;This is amazing! Great work! Has to feel good!
    </content>
    <updated>2026-07-09T14:34:31Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsd8ahzjsd4nr8g5dxcz9xnadaffqacnu48g8388rpg3e65u4uskdgpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qak68qfcjj7k95c0jwleu69x72nr8adwv6g80pkwl9xlps6zmkqzqddzcwe</id>
    
      <title type="html">TEE coming to @nprofile…v8yj today 🔥🔥🔥 ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsd8ahzjsd4nr8g5dxcz9xnadaffqacnu48g8388rpg3e65u4uskdgpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qak68qfcjj7k95c0jwleu69x72nr8adwv6g80pkwl9xlps6zmkqzqddzcwe" />
    <content type="html">
      TEE coming to &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqsyu43zk46umw6dthksj0jgc6xd8aeylt25w9p0psds4mp09v4qktspz4mhxue69uhkummnw3ezummcw3ezuer9wchsz9thwden5te0dehhxarj9cc8sdm99eu8j730qy88wumn8ghj7mn0wvhxcmmv9uawv8yj&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Private Provider&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…v8yj&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; today 🔥🔥🔥&lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting &lt;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/naddr1qq2hw6nw0fyk53mxw4s4yjn5f3c9zufdfdk9xqgcwaehxw309aex2mrp0yh8ymm4w3ehgu3wvdhk6tczyz9lv2dn65v6p79g8yqn0fz9cr4j7hetf28dwy23m6ycq50gqph3xqcyqqq823c7kkfdg&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;naddr1qq…kfdg&lt;/a&gt;&lt;/span&gt; &lt;/div&gt; &lt;p&gt;Another feature long in the making: &lt;strong&gt;TEE-based end-to-end encrypted (E2EE) models are now available through Routstr and our SDK&lt;/strong&gt;, via the new Tinfoil integration. Your prompt is encrypted on your device and only decrypted inside a verified GPU confidential-computing enclave. Nobody in between, not even the Routstr node, can read it.&lt;/p&gt;

&lt;p&gt;And you can ask questions for as little as 9 sats.&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://image.nostr.build/bdf38869461ac229e1f1faf09762ef78a70ce492de36789cc7b55152fa7ba8a5.png&#34; alt=&#34;This just costs 9 sats&#34;/&gt;&lt;/p&gt;

&lt;h1 id=&#34;tees-and-privacy-5&#34;&gt;TEEs and Privacy&lt;/h1&gt;

&lt;p&gt;Running local models is getting easier and better, but is still very expensive if you want good models, especially for coding and other agentic tasks. And the only way to access such models in a privacy-preserving way is through confidential computing and &lt;strong&gt;Trusted Execution Environments (TEEs)&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The good news: alongside CPU TEEs, we now have &lt;strong&gt;GPU TEEs&lt;/strong&gt; in the latest GPUs (H100 and later). This lets us verify both the model running inside the GPU and the software running on the CPU, so that nothing can be logged between you and the GPU running the LLM.&lt;/p&gt;

&lt;p&gt;A caveat worth noting: TEEs have been broken before, and they are not open source. This is not foolproof by any means but it is the best we have at the moment.&lt;/p&gt;

&lt;h3 id=&#34;available-models-5&#34;&gt;Available Models&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;GLM-5.2 (&lt;code&gt;tinfoil-glm-5-2&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Gemma-4 31B (&lt;code&gt;tinfoil-gemma-4-31b&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;DeepSeek V4 Pro (&lt;code&gt;tinfoil-deepseek-v4-pro&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Kimi K2.6 (&lt;code&gt;tinfoil-kimi-k2-6&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&#34;how-it-works-5&#34;&gt;How It Works&lt;/h1&gt;

&lt;p&gt;&lt;img src=&#34;https://image.nostr.build/5fcd8cbcb3941bae2758675e3a143b26c42b9e8de0b743fdcc7a12eec5a77c58.jpg&#34; alt=&#34;E2EE workflow diagram&#34;/&gt;&lt;/p&gt;

&lt;p&gt;The core idea: your request is encrypted &lt;em&gt;before&lt;/em&gt; it leaves your machine, and the key only exists inside the TEE.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Attestation&lt;/strong&gt; — When you connect, the Routstr SDK receives a remote-attestation proof from the TEE enclave. This cryptographically verifies that the code running inside the enclave is the genuine Tinfoil model image, on a real H100&#43; GPU, and hasn&amp;#39;t been tampered with. Your client only proceeds if the proof is valid.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Client-side encryption&lt;/strong&gt; — The &lt;code&gt;routstr-sdk&lt;/code&gt; encrypts your request body locally using a key sealed to the attested enclave. The encrypted payload is what travels over the network.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;In-enclave inference&lt;/strong&gt; — Only the TEE can decrypt the request. The model runs entirely inside the confidential GPU. No host process, no node operator, no logging layer can see the plaintext prompt or the response.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Encrypted response&lt;/strong&gt; — The TEE encrypts the response back to your key, which only your client holds. You decrypt locally.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So between you and the TEE &#43; GPU, nobody can see any request or response. Routstr nodes only see encrypted ciphertext, even if they were intentionally logging.&lt;/p&gt;

&lt;h1 id=&#34;threat-model-5&#34;&gt;Threat Model&lt;/h1&gt;

&lt;p&gt;This matters, so let&amp;#39;s be precise about what TEE E2EE does and doesn&amp;#39;t protect against.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it protects:&lt;/strong&gt;
- The Routstr node operator cannot read your prompts or responses.
- The hosting provider / data center cannot read them.
- A network observer cannot read them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it doesn&amp;#39;t fully protect:&lt;/strong&gt;
- A state actor with a backdoor to the TEE hardware/firmware could theoretically extract plaintext inside the enclave. TEEs have been broken before; this could happen again. We&amp;#39;ve come to trust Tinfoil more and more, but this is a trust assumption you should make consciously.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How Routstr adds anonymity on top of bare TEEs:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A TEE protects the &lt;em&gt;contents&lt;/em&gt; of your prompts. But we already said TEEs have been broken before, so what happens if it happens again? Even if a state actor breaks the TEE and reads your plaintext prompts and responses, all they can do is try to build a profile of you. And that&amp;#39;s exactly where Routstr makes it harder: with no persistent accounts and unlinkable Cashu payments, there&amp;#39;s no stable identity to attach usage to. The anonymity layer is defense-in-depth, it limits the damage even in the worst-case TEE break.
- &lt;strong&gt;With &lt;code&gt;routstrd&lt;/code&gt;:&lt;/strong&gt; API keys are periodically refunded with a node, so usage doesn&amp;#39;t accumulate under one persistent balance. Refunding right after a session makes it even harder to link usage back to you.
- &lt;strong&gt;With the &lt;a href=&#34;https://chat.routstr.com&#34;&gt;chat app&lt;/a&gt;:&lt;/strong&gt; Every request is a new XCashu payment — you pay only for that request. No accounts, pay-per-request/session, and Cashu-unlinkable payments.&lt;/p&gt;

&lt;h3 id=&#34;how-does-it-compare-5&#34;&gt;How does it compare?&lt;/h3&gt;

&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Option&lt;/th&gt;
&lt;th&gt;Node sees prompt?&lt;/th&gt;
&lt;th&gt;Provider sees prompt?&lt;/th&gt;
&lt;th&gt;Linkable accounts?&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;

&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;OpenAI / Anthropic API&lt;/td&gt;
&lt;td&gt;n/a&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;OpenRouter&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;Routstr (standard)&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No (Cashu)&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;Tinfoil (direct)&lt;/td&gt;
&lt;td&gt;n/a&lt;/td&gt;
&lt;td&gt;No (inside TEE)&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;Others &#43; Tinfoil&lt;/td&gt;
&lt;td&gt;No (E2EE)&lt;/td&gt;
&lt;td&gt;No (inside TEE)&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Routstr &#43; Tinfoil&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;No (E2EE)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;No (inside TEE)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;No (Cashu)&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td&gt;Local&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No — but ~$50k for GLM-5.2&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;This is why we say Routstr &#43; Tinfoil is the most private way to access frontier open-source models, apart from running them yourself at home.&lt;/p&gt;

&lt;h1 id=&#34;why-tinfoil-5&#34;&gt;Why Tinfoil&lt;/h1&gt;

&lt;p&gt;Tinfoil is the gold standard for TEE E2EE models according to &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1aljazgxlpnpfp7n5sunlk3dvfp72456x6nezjw4sd850q879rxqsthg9jp&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;aljaz&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1alj…g9jp&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; and &lt;a href=&#34;https://confidentialinference.net/&#34;&gt;Confidential Inference&lt;/a&gt;, an independent benchmark that scores TEE providers on verifiability and correctness. Also by &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub12262qa4uhw7u8gdwlgmntqtv7aye8vdcmvszkqwgs0zchel6mz7s6cgrkj&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;semisol&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1226…grkj&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nevent1qvzqqqqqqypzq5455pmtewaacws6a73hxkqkea6fjwcm3keq9vqu3q7930nl4k9aqy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qgwwaehxw309ahx7uewd3hkctcqyr6cm5xtz59f4hwwwcy0awee6anjdfdfln7987e0s80a49r6vvfskp5sm8q&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;nevent1q…sm8q&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;As a Routstr node, you can get a Tinfoil account and start offering it to Nostr users. Right now only one node is offering Tinfoil for sats — the more the merrier. You&amp;#39;ll need this version to offer Tinfoil: &lt;a href=&#34;https://github.com/Routstr/routstr-core/tree/v0.4.4.e2ee&#34;&gt;https://github.com/Routstr/routstr-core/tree/v0.4.4.e2ee&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If we see strong demand for TEE E2EE models, we&amp;#39;ll integrate more providers based on &lt;a href=&#34;https://confidentialinference.net/&#34;&gt;https://confidentialinference.net/&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Pricing note:&lt;/strong&gt; Tinfoil currently doesn&amp;#39;t offer prompt caching or cache-read discounts. Because of this, your prompts are charged at full rate and will feel expensive. This is currently in the works, we hear — stay tuned!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1 id=&#34;try-it-today-5&#34;&gt;Try It Today&lt;/h1&gt;

&lt;p&gt;Install Routstrd to build software privately, using a model comparable to frontier closed-source models:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;bun i -g routstrd
routstrd onboard        # choose your harness
routstrd receive 6900   # pay with lightning
routstrd top            # see usage stats
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Or try the chat app directly:
&lt;a href=&#34;https://chat.routstr.com/?model=tinfoil-glm-5-2&#34;&gt;https://chat.routstr.com/?model=tinfoil-glm-5-2&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://image.nostr.build/45cf42438d083bfb67bb71051d4c85e1203bacd97f2eeaa5f795a2cbb9e9b23b.png&#34; alt=&#34;XCashu flow in the Routstr chat app&#34;/&gt;&lt;/p&gt;

&lt;p&gt;If you face any issues or have feature requests, please tag us here on Nostr: &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1ftt05tgku25m2akgvw6v7aqy5ux5mseqcrzy05g26ml43xf74nyqsredsh&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;redshift&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1ftt…edsh&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1ygjd597hdwu8larprmhj893d5p832j5mhejpx40ukezgudvayg9qeklajc&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Thefux&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1ygj…lajc&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1wetqn3lvuj562f32ecccsq0y0xpeffvssu37cl2tfruyrdyg505sdej2dp&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Jeroen Ubbink&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1wet…j2dp&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1tf0aa8wwfjn24hshq0z88txh8w2j2q4xvmfu7x0zqn6xvnpshzuqv2gv5p&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;npub1tf0aa8wwfjn24hshq0z88txh8w2j2q4xvmfu7x0zqn6xvnpshzuqv2gv5p&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1tf0…gv5p&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
 &lt;/blockquote&gt;
    </content>
    <updated>2026-07-09T14:24:45Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsgfazncdwgp836s3gjp0k4jxm7ctfzfg77qc0rjvxzx4yfsqjmcdqpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q6ndruwfg7dsdhnp3w8zvqrg0r2rn3wucnttgrg5acm2lhqpkepkq2rg5s6</id>
    
      <title type="html">We&amp;#39;re doing a Branta giveaway! Summer&amp;#39;s in full swing; ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsgfazncdwgp836s3gjp0k4jxm7ctfzfg77qc0rjvxzx4yfsqjmcdqpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q6ndruwfg7dsdhnp3w8zvqrg0r2rn3wucnttgrg5acm2lhqpkepkq2rg5s6" />
    <content type="html">
      We&amp;#39;re doing a Branta giveaway!&lt;br/&gt;&lt;br/&gt;Summer&amp;#39;s in full swing; get a tank top to rep for the season.&lt;br/&gt;&lt;br/&gt;Follow us and repost to enter ✅ &lt;br/&gt;&lt;br/&gt;Winner announced Tuesday 6/21 at 4PM EST.  &lt;img src=&#34;https://blossom.primal.net/1db87c9c609e01a07d360cbbfb09aa71f9ccc6beb1fb5dd365280c5b9158baa3.webp&#34;&gt;  &lt;br/&gt;  &lt;img src=&#34;https://blossom.primal.net/eea3d72241ff04ec51b4caca3408cef639df7d5244d61839db25a5095f8b4902.webp&#34;&gt;  
    </content>
    <updated>2026-07-09T13:25:53Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqst2nd77y58eu0xvxvtjmhwzkua9cvz2pr833vx5fd2jdkjc3ykvfcpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q664p5qjf253thavja9yxdxtj28y0w579y4fmxck6uhklwvnfsw4qzdqn3d</id>
    
      <title type="html">MAXIMAL ADULT FREEDOM ALERT for ADULTS ONLY FREEDOMS using the ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqst2nd77y58eu0xvxvtjmhwzkua9cvz2pr833vx5fd2jdkjc3ykvfcpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q664p5qjf253thavja9yxdxtj28y0w579y4fmxck6uhklwvnfsw4qzdqn3d" />
    <content type="html">
      MAXIMAL ADULT FREEDOM ALERT for ADULTS ONLY FREEDOMS using the Shire Society Declaration for the rules Friday morning through Sunday night at Bartertowne.org on Free Grafton, NH, USA &lt;br/&gt;&lt;br/&gt;
    </content>
    <updated>2026-07-09T12:42:43Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsrhzecxsr6cdxpv7vtyg9rp9u324m8vlrggdw4qhv3ym93fhplqmqpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q0q76ypsqfkn4vgcwlmq7es383zkvgklq7mhtsmh00wjmnwyt34gsptc6ev</id>
    
      <title>Nostr event nevent1qqsrhzecxsr6cdxpv7vtyg9rp9u324m8vlrggdw4qhv3ym93fhplqmqpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q0q76ypsqfkn4vgcwlmq7es383zkvgklq7mhtsmh00wjmnwyt34gsptc6ev</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsrhzecxsr6cdxpv7vtyg9rp9u324m8vlrggdw4qhv3ym93fhplqmqpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q0q76ypsqfkn4vgcwlmq7es383zkvgklq7mhtsmh00wjmnwyt34gsptc6ev" />
    <content type="html">
       &lt;img src=&#34;https://npub10q76ypsqfkn4vgcwlmq7es383zkvgklq7mhtsmh00wjmnwyt34gsu9nmyp.blossom.band/8a84c1e2284c030225385d1a6a467ab2c00f65ca11029d02d2e8b0e1a67a840a.jpg&#34;&gt; &lt;br/&gt;&lt;br/&gt;Just my opinion, but &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqsxu35yyt0mwjjh8pcz4zprhxegz69t4wr9t74vk6zne58wzh0waycpz9mhxue69uhkummnw3ezuamfdejj7qgewaehxw309ac8yetdd96k6tnswf5k6ctv9ehx2ap0qy2hwumn8ghj7mn0wd68ytn00p68ytnyv4mz7xx9ccm&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Gigi&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…9ccm&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;  represents the best of both worlds when it comes to bitcoin education. He&amp;#39;s got the technical chops combined with writing ability, warmth, and humility. A rare combination.&lt;br/&gt;&lt;br/&gt;You can get 21 Lessons here:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://satwize.com/product/21-lessons-by-gigi/&#34;&gt;https://satwize.com/product/21-lessons-by-gigi/&lt;/a&gt;
    </content>
    <updated>2026-07-09T12:06:22Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqswx4caddk76eqp7cec7nmedl4n7a8jpgzns0lnflfmqzwmxvjydvspgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qajdaw3j4g6aqv86alhn3df8jpulj0mxz3jjgwpm4uh598hc348gqs9g83m</id>
    
      <title type="html">Pop music? ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqswx4caddk76eqp7cec7nmedl4n7a8jpgzns0lnflfmqzwmxvjydvspgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qajdaw3j4g6aqv86alhn3df8jpulj0mxz3jjgwpm4uh598hc348gqs9g83m" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvk0n9g70mc9vsem53suuye4s33p0sm06c2u55u2ck67x4jz3mq8sprpmhxue69uhhyetvv9ujumn0wf6xjueww3jkx6p0n2ucl0&#39;&gt;nevent1q…ucl0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Pop music?  &lt;img src=&#34;https://otherstuff.shaving.kiwi/768575895d9230be6bc224ad830e51055ea2ff6f98d1c4976ca2a719131bd258.webp&#34;&gt; 
    </content>
    <updated>2026-07-09T04:26:09Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs0ucr09gfz7csytrzsyugptp2jsyepvdamuvya2hz0ys3plrr70jgpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qajdaw3j4g6aqv86alhn3df8jpulj0mxz3jjgwpm4uh598hc348gq7kuc3g</id>
    
      <title type="html">Budou hlasovat dokud to neprojde. 🤮</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs0ucr09gfz7csytrzsyugptp2jsyepvdamuvya2hz0ys3plrr70jgpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qajdaw3j4g6aqv86alhn3df8jpulj0mxz3jjgwpm4uh598hc348gq7kuc3g" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsr959zf3wmedhm7z52ffuwqzqh6700q5l0g5s6ufkn5x24ylsajccpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhssvhknj&#39;&gt;nevent1q…hknj&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Budou hlasovat dokud to neprojde. 🤮 
    </content>
    <updated>2026-07-09T04:20:49Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsyr7qnz0w270ad3zl667kvw2n02utk0m00vdffdvcq2pgy9lqv45spgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qajdaw3j4g6aqv86alhn3df8jpulj0mxz3jjgwpm4uh598hc348gq7hwx60</id>
    
      <title type="html">I had no idea. It can even run (proto) Doom. Wow</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsyr7qnz0w270ad3zl667kvw2n02utk0m00vdffdvcq2pgy9lqv45spgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qajdaw3j4g6aqv86alhn3df8jpulj0mxz3jjgwpm4uh598hc348gq7hwx60" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspw72jp53qp3rqjy8lx7hps9qa22jh5hz4rn4t4l5c5fvqjsrn50spzemhxue69uhhyetvv9ujuerfw36x7tnsw43z7lram45&#39;&gt;nevent1q…am45&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I had no idea. It can even run (proto) Doom. Wow
    </content>
    <updated>2026-07-09T03:42:24Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsxw9lp8c0aqa5q8ev97lagx9jk27rz8ap454q827q8p8743485n8qpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qajdaw3j4g6aqv86alhn3df8jpulj0mxz3jjgwpm4uh598hc348gq7uktj5</id>
    
      <title type="html">Wut? How? This is insane... And I love it.</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsxw9lp8c0aqa5q8ev97lagx9jk27rz8ap454q827q8p8743485n8qpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qajdaw3j4g6aqv86alhn3df8jpulj0mxz3jjgwpm4uh598hc348gq7uktj5" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9dhttklkcj5n7tha0lnyu0gwkcft6enz0wu6aj72usd6yrtrx77qpzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtcpavhc3&#39;&gt;nevent1q…vhc3&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Wut? How? This is insane... And I love it. 
    </content>
    <updated>2026-07-09T03:32:20Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsztkutjatg5t65x6mqe0kw3khhrsd43wrecxnxg26smtyx5mn6j8gpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qq6mcr8tlr3l4gus3sfnw6772s7zae6hqncmw5wj27ejud5wcxf7qte69cc</id>
    
      <title>Nostr event nevent1qqsztkutjatg5t65x6mqe0kw3khhrsd43wrecxnxg26smtyx5mn6j8gpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qq6mcr8tlr3l4gus3sfnw6772s7zae6hqncmw5wj27ejud5wcxf7qte69cc</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsztkutjatg5t65x6mqe0kw3khhrsd43wrecxnxg26smtyx5mn6j8gpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qq6mcr8tlr3l4gus3sfnw6772s7zae6hqncmw5wj27ejud5wcxf7qte69cc" />
    <content type="html">
      GN &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://blossom.primal.net/c6353235e98aa34b7aaab9bf8fc5dbe71c54f01aaba126b8d168ad7ce65344ee.jpg&#34;&gt; 
    </content>
    <updated>2026-07-09T00:02:33Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsteytvqgsn2dkq2sxqgtqkpwv27c004dmv4yd553pjxhrg0ucm8acpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qzw7ftkfpezmtym8n2j2fvnd0smunztl9pyjys0fxdqne08vq397s7xrzp5</id>
    
      <title type="html">Hey @nprofile…fele, we are up to 20 square vendors now ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsteytvqgsn2dkq2sxqgtqkpwv27c004dmv4yd553pjxhrg0ucm8acpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qzw7ftkfpezmtym8n2j2fvnd0smunztl9pyjys0fxdqne08vq397s7xrzp5" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8xcaupal3eve3wsghwl2qxx8tr3yuqrpkrqlh62uruaxjxpg3fsqpz9mhxue69uhkummnw3ezuamfdejj75w6pt6&#39;&gt;nevent1q…6pt6&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Hey &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqswmc7e2am5uh2u09nykk6s75chp6gzf4mvjrvelj5nyj3ue9u48qspzpmhxue69uhkummnw3ezumt0d5hszrnhwden5te0dehhxtnvdakz7cffele&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;nprofile1qqswmc7e2am5uh2u09nykk6s75chp6gzf4mvjrvelj5nyj3ue9u48qspzpmhxue69uhkummnw3ezumt0d5hszrnhwden5te0dehhxtnvdakz7cffele&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…fele&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;, we are up to 20 square vendors now accepting bitcoin. Measurable progress for spending bitcoin. How many did you onboard to BTCPayServer? 
    </content>
    <updated>2026-07-08T23:20:52Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsg73r3atc5rlcj0a9p2e6dwjghpxp3r8w59k5kn944yfx7wqv4j8qpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q95q82xq5hmsycjz36kkj90fgmv2huy2h8pzm3tk5t3l7mzxswwws2g2pg2</id>
    
      <title type="html">For those who will come to see this. Know not only the truth, but ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsg73r3atc5rlcj0a9p2e6dwjghpxp3r8w59k5kn944yfx7wqv4j8qpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q95q82xq5hmsycjz36kkj90fgmv2huy2h8pzm3tk5t3l7mzxswwws2g2pg2" />
    <content type="html">
      For those who will come to see this. Know not only the truth, but the undeniable fact that almost everything and everyone you know has little to no value in this “existence”.
    </content>
    <updated>2026-07-08T22:34:56Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsvhqgyr6re25vyecchpkvspxddq2pqn0p2gswt679j8a5xj5cha4spgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q86k25a5rymtae6q0dmsh4ksen04706eurfst8xc5uzjchwkxdljq7y4zrm</id>
    
      <title type="html">respond ya in replay</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsvhqgyr6re25vyecchpkvspxddq2pqn0p2gswt679j8a5xj5cha4spgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q86k25a5rymtae6q0dmsh4ksen04706eurfst8xc5uzjchwkxdljq7y4zrm" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9qtz2fexr88afvd9y8qz9denpyhd764r78y7k8pgzzq5jhy5chsqg74tc7&#39;&gt;nevent1q…4tc7&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;respond ya in replay
    </content>
    <updated>2026-07-08T21:03:33Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs84r5qxcmrrmfn6t0ne04vdme3d7zljp9ne5lrlgc5p8tfpv7wv0spgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q86k25a5rymtae6q0dmsh4ksen04706eurfst8xc5uzjchwkxdljq6928l6</id>
    
      <title type="html">tnx so much fo wordz @nprofile…kq6l , Practice / Break ur Head ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs84r5qxcmrrmfn6t0ne04vdme3d7zljp9ne5lrlgc5p8tfpv7wv0spgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q86k25a5rymtae6q0dmsh4ksen04706eurfst8xc5uzjchwkxdljq6928l6" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstxsq6eznfhz8e3x60gw068qjxcaguk2qqt8nq78jc026cufkkcdgd98vlc&#39;&gt;nevent1q…8vlc&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;tnx so much fo wordz &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qythwumn8ghj7un9d3shjtnwdaejuum0vd5kzmp0qyvhwumn8ghj7am0wshxyunfva58gcn0d36zumn9wshsz9nhwden5te0dehhxtn6vd6z6mtjdshxxmmd9uqzqzrluwkmp9pfzv47mjus7y6cuytcnq9r5kfxhgrvmatp5nnnllgtqpkq6l&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;WorldsGoneMad&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…kq6l&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; , &lt;br/&gt;&lt;br/&gt;Practice / Break ur Head on it / Make Mistakes / Learn / Repeat !!!&lt;br/&gt;&lt;br/&gt;watch lot of videos with craft , any #craft is planty for free on YT &lt;br/&gt;&lt;br/&gt;this is how i lern , and mistakes lotzz of them , Break ur head again :)
    </content>
    <updated>2026-07-08T20:58:50Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsv6tkcjj9n5jlk5p08h4dvs0x4yjy93x9nd8ctq78tq6yhzvdttvspgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qxvtwx6tduaxnn9v3y7uasskl277achgu0tu2qncmc7hdsz6y2zyqzyhmx6</id>
    
      <title type="html">Don&amp;#39;t get me started on covenants</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsv6tkcjj9n5jlk5p08h4dvs0x4yjy93x9nd8ctq78tq6yhzvdttvspgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qxvtwx6tduaxnn9v3y7uasskl277achgu0tu2qncmc7hdsz6y2zyqzyhmx6" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszr5uqx062reuvds5xdwnfgflqh6kzy6aw05rytn0zfvyxqddwr5g55acch&#39;&gt;nevent1q…acch&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Don&amp;#39;t get me started on covenants
    </content>
    <updated>2026-07-08T19:11:48Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqspv2je77frj6aylznq7sz6ypf4vegfewa66pfh2kexgmc53afuf2spgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qxvtwx6tduaxnn9v3y7uasskl277achgu0tu2qncmc7hdsz6y2zyql63hv9</id>
    
      <title type="html">Would probably be too little too late, for years now they&amp;#39;ve ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqspv2je77frj6aylznq7sz6ypf4vegfewa66pfh2kexgmc53afuf2spgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qxvtwx6tduaxnn9v3y7uasskl277achgu0tu2qncmc7hdsz6y2zyql63hv9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8nsuhpjrck4t4ayu3qm0fn65hjxapvg6ftl2tenv7hevg34rn45qr90ak0&#39;&gt;nevent1q…0ak0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Would probably be too little too late, for years now they&amp;#39;ve astroturfed these things as self-custodial L2 / Lightning wallets to gain adoption and mindshare&lt;br/&gt;&lt;br/&gt;If they came up with a mea culpa PR push saying they&amp;#39;ve been full of shit for years now, that&amp;#39;d be laudable, but would be the end of their businesses and isn&amp;#39;t going to happen. &lt;br/&gt;&lt;br/&gt;Since these things are far more custodial then Samourai or Tornado Cash were there&amp;#39;s only 2 possible outcomes. &lt;br/&gt;&lt;br/&gt;1) they get prosecuted as MSBs&lt;br/&gt;&lt;br/&gt;or &lt;br/&gt;&lt;br/&gt;2) the gov goes so soft on small-amount custodians they don&amp;#39;t need to pretend anymore&lt;br/&gt;&lt;br/&gt;That&amp;#39;s the most charitable I can be with them, perhaps they aren&amp;#39;t out to scam users, but the user was collateral damage as they try to scam the regulator.
    </content>
    <updated>2026-07-08T19:10:26Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqswxqheu3zhelra6ckeg6dgfe6cardmhjdy6p5l06kqj93wea87zgcpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qh0h4pyaajj5r7zu4jn0mx22vkw94avffzpd7hdarjkx56ufzskfqteyhdh</id>
    
      <title type="html">Art from @nprofile…7xw4 , go grab one! #nevent1q…rusg</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqswxqheu3zhelra6ckeg6dgfe6cardmhjdy6p5l06kqj93wea87zgcpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qh0h4pyaajj5r7zu4jn0mx22vkw94avffzpd7hdarjkx56ufzskfqteyhdh" />
    <content type="html">
      Art from &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqsqzjljc7ew4u6mutl7rw9mfvhqp2yc79vrwshkzgw4am0v6cpnvxcpzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz9mhwden5te0wfjkccte9ehx7um5wghxyctwvshsea7xw4&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;nprofile1qqsqzjljc7ew4u6mutl7rw9mfvhqp2yc79vrwshkzgw4am0v6cpnvxcpzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz9mhwden5te0wfjkccte9ehx7um5wghxyctwvshsea7xw4&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…7xw4&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; , go grab one!&lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting &lt;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nevent1qqs2jux67qeae80lht7k8u9s6hrn53dcmxagz5n774gznh8jgp8sfeqpzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtczyqq5huk8kt40xklzllsm3w6t9cq23x83tqm59asjr40wmmxkqvmpkqcyqqqqqqgzjrusg&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;nevent1q…rusg&lt;/a&gt;&lt;/span&gt; &lt;/div&gt; A gondolat szabadsága. 🤍📖&lt;br/&gt;&lt;br/&gt;Hosszú út vezetett idáig: számtalan tapasztalat, gondolat, újrakezdés, tanulás és alkotás formálta ezt a könyvet, amely most már nemcsak az enyém, hanem mindenkié lehet, aki nyitott szívvel és szabad gondolkodással veszi kézbe.&lt;br/&gt;&lt;br/&gt;Különösen büszke vagyok arra, hogy a könyvben az eredeti ötleteim és saját illusztrációim kaptak helyet. Minden oldal arra hív, hogy merjünk kérdezni, felfedezni és szabadon gondolkodni.&lt;br/&gt;&lt;br/&gt;Ez a könyv nem születhetett volna meg egy fantasztikus csapat nélkül.  &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqsdkdrnwwf3y3d0d56pg4h74ff8w7f4fynfhc5jycxagt558gwxnlgpzemhxw309ahx7um5wghx5ctkdyh8xurpvdjj7qffwaehxw309akxucnfw3eju6npwe5juumsv93k2tmwdaehgunjv4kxz7f0dfshv6t9wg3fnn3a&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;atak&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…nn3a&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;  &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqsggsyauza3w8fraes3sm7tenuygcsxfr5ptdllxa6zyyeeln2v4gqpramhxue69uhky6t5vdhkjmndv9uxjmtpd35hxarn9ehkumrfdejsz9thwden5te0v35hgar09ec82c30wfjkcctep6dpjy&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;lenchee&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…dpjy&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqsz0cgu84nl2g340e0t7qfs6g0843hkl7jywse9k3qf4cwtu54cwdqgyqydy&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;pretties&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…qydy&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;Ha kíváncsi vagy A gondolat szabadsága című könyvre, írj. Magyar és angol nyelven is elérhető.&lt;br/&gt;&lt;br/&gt;#bitcoin #art #freedom #freedomoftought #magyarnostr &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://blossom.primal.net/6af852c42f963b1efaaae10167b4c5dd6983ad0baab405eed5bd58def10da450.jpg&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://blossom.primal.net/9edcf24ef55df38fbd0be4eb0d3e856679a8ee1ffb91821858d6c8d8c4f4485f.jpg&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://blossom.primal.net/b67c484370d5b3e8173ff1bb95443356075c153824e4762ecfe1caa1b700b233.jpg&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://blossom.primal.net/65c241e7bf698f4eb3301b4ac60495885bb34bdc3fe66cc7d7ca440ebf7a30d2.jpg&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://blossom.primal.net/36f187e579e9d2443f9c53a2abccfcaecc58705cc2540e567a8236db4405e4f3.jpg&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://blossom.primal.net/3872e6190b36572264438e1ef554838d5807f20b37a966e0c8d8595ca412a7cb.jpg&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://blossom.primal.net/5a81850e1399118fccce0cb0497da031c80e6e5f3b27e68b6c31504496967c26.jpg&#34;&gt;  &lt;/blockquote&gt;
    </content>
    <updated>2026-07-08T17:47:31Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs8ff3l4zr6f9e9uja5aue5zmjqgx2n6wc8pjpvmthcfye6rn2eefgpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qh0h4pyaajj5r7zu4jn0mx22vkw94avffzpd7hdarjkx56ufzskfqyfjecj</id>
    
      <title type="html">Én szeretnék egy példányt!</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs8ff3l4zr6f9e9uja5aue5zmjqgx2n6wc8pjpvmthcfye6rn2eefgpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qh0h4pyaajj5r7zu4jn0mx22vkw94avffzpd7hdarjkx56ufzskfqyfjecj" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2jux67qeae80lht7k8u9s6hrn53dcmxagz5n774gznh8jgp8sfeqpzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtcswhtt7&#39;&gt;nevent1q…htt7&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Én szeretnék egy példányt!
    </content>
    <updated>2026-07-08T17:46:35Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs9semsadvp3mlxkethptk5a7vzf7nhq5cfv34m0dm2e58tqj44anqpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qxvtwx6tduaxnn9v3y7uasskl277achgu0tu2qncmc7hdsz6y2zyqep7gzz</id>
    
      <title type="html">Esse cara é um palhaço que não tem resposta.</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs9semsadvp3mlxkethptk5a7vzf7nhq5cfv34m0dm2e58tqj44anqpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qxvtwx6tduaxnn9v3y7uasskl277achgu0tu2qncmc7hdsz6y2zyqep7gzz" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyu6v6sv7gkn8mf5sqe3yxesxjltngaun8q4xn93ucy5lqjlv5z0gwdl5jw&#39;&gt;nevent1q…l5jw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Esse cara é um palhaço que não tem resposta.
    </content>
    <updated>2026-07-08T17:39:38Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs02k4fvexda6pyx2fsl8ptf5prt7rzy4fqv2egj042xqmt5f2g3rqpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qxvtwx6tduaxnn9v3y7uasskl277achgu0tu2qncmc7hdsz6y2zyqa2lxs3</id>
    
      <title type="html">Yes the issues go deeper the further you go... since these are ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs02k4fvexda6pyx2fsl8ptf5prt7rzy4fqv2egj042xqmt5f2g3rqpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qxvtwx6tduaxnn9v3y7uasskl277achgu0tu2qncmc7hdsz6y2zyqa2lxs3" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvflf65cvgkc42pewt6chvjrf70sxl4gzuevlwkd809xlce6rltlsmx8nmy&#39;&gt;nevent1q…8nmy&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Yes the issues go deeper the further you go... since these are billed as Lightning wallets (since its pointless to use them with chain deposits) the swaps ingress is entirely trusted place because the operator is the swap provider (prior owner colluding with itself)&lt;br/&gt;&lt;br/&gt;There&amp;#39;s no free lunch, no levers left to pull... Lightning that they claim to address issues with is emergent of real constraints. So these fake L2&amp;#39;s scam and pretend they&amp;#39;ve created solutions, hoaxes to fool unsophisticated users / cryptophile idiots
    </content>
    <updated>2026-07-08T17:35:25Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsxlaa6huj4w2ymc9td5ejs2el6navlj6awrgpj52yt3dw48gvtrfcpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qnkfkemzqcvd2dqr88lrlvfrjxcec830ha228q4zcfmvmhlv49l8su2jewe</id>
    
      <title type="html">Thank you for the explanation! Highly technical answer I need to ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsxlaa6huj4w2ymc9td5ejs2el6navlj6awrgpj52yt3dw48gvtrfcpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qnkfkemzqcvd2dqr88lrlvfrjxcec830ha228q4zcfmvmhlv49l8su2jewe" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstvhmusk8nkfw5wnaqqwn4zptrqu245wap8997p6dwjzznez625nspzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtcxkzyp0&#39;&gt;nevent1q…zyp0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Thank you for the explanation! Highly technical answer I need to digest and re read more than one time for sure.
    </content>
    <updated>2026-07-08T17:22:27Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqstvhmusk8nkfw5wnaqqwn4zptrqu245wap8997p6dwjzznez625nspgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qpt4qwkcpp76et45pfatrxqywsuxh0gky84xa592yapesuqye29zq9y5ywx</id>
    
      <title type="html">Ark has the same &amp;#34;back up your proof every vtxo&amp;#34; ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqstvhmusk8nkfw5wnaqqwn4zptrqu245wap8997p6dwjzznez625nspgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qpt4qwkcpp76et45pfatrxqywsuxh0gky84xa592yapesuqye29zq9y5ywx" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxzcf0wah707sy3r4vc3ehm5c6gr3a4v3wdgtp8rh6u7jf2hj2x8gpzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtcvr3s8p&#39;&gt;nevent1q…3s8p&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Ark has the same &amp;#34;back up your proof every vtxo&amp;#34; requirement. And the same limitation: the moment you receive offchain vtxo(and proof), you can unilaterally exit, but it isn&amp;#39;t exclusive either — a colluding previous owner &#43; ASP could still double-spend your prior state.&lt;br/&gt;What&amp;#39;s better about Ark is the periodic batch round (an onchain tx). When you participate, your old VTXO gets forfeited, which kills the stale state a prior owner could&amp;#39;ve exited with — so exclusivity is restored and only you, the latest owner, hold full ownership.&lt;br/&gt;And the batch settlement is O(1) onchain regardless of participant count — thousands of participants still settle into a single shared Taproot output that just looks like a normal address. (You only unroll the tree if you unilaterally exit.) That amortizes the fee across everyone, so at scale the per-user burden becomes almost negligible.
    </content>
    <updated>2026-07-08T17:08:03Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsxzcf0wah707sy3r4vc3ehm5c6gr3a4v3wdgtp8rh6u7jf2hj2x8gpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qnkfkemzqcvd2dqr88lrlvfrjxcec830ha228q4zcfmvmhlv49l8sfv4c7w</id>
    
      <title type="html">What about ARK? Same issues?</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsxzcf0wah707sy3r4vc3ehm5c6gr3a4v3wdgtp8rh6u7jf2hj2x8gpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qnkfkemzqcvd2dqr88lrlvfrjxcec830ha228q4zcfmvmhlv49l8sfv4c7w" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszfgq0lsrw857nre9d5n26pa2qemk6re74zrhxsamfs7qqddaesccpzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtcm84zsz&#39;&gt;nevent1q…4zsz&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;What about ARK? Same issues?
    </content>
    <updated>2026-07-08T16:58:17Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsvflf65cvgkc42pewt6chvjrf70sxl4gzuevlwkd809xlce6rltlspgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qpt4qwkcpp76et45pfatrxqywsuxh0gky84xa592yapesuqye29zq7hcjk9</id>
    
      <title type="html">The DA dependency isn&amp;#39;t really the issue imo — if a holder ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsvflf65cvgkc42pewt6chvjrf70sxl4gzuevlwkd809xlce6rltlspgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qpt4qwkcpp76et45pfatrxqywsuxh0gky84xa592yapesuqye29zq7hcjk9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszfgq0lsrw857nre9d5n26pa2qemk6re74zrhxsamfs7qqddaesccpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsfjvsnn&#39;&gt;nevent1q…vsnn&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The DA dependency isn&amp;#39;t really the issue imo — if a holder backs up their proof each tx, a withheld proof just means it&amp;#39;s treated as unreceived. Worst case a UX problem, handled in the background.&lt;br/&gt;Spark&amp;#39;s real problem, as I understand it, isn&amp;#39;t that — it&amp;#39;s that even with every proof in hand, you don&amp;#39;t quite get true self-custody. Not because UE is impossible, but because it may not be exclusive: as I understand it the federation can equivocate, so a colluding prior owner could double-spend. And if exit exclusivity rests on federation honesty, that&amp;#39;s not self-enforcing — or am I missing something?
    </content>
    <updated>2026-07-08T16:52:57Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsyu6v6sv7gkn8mf5sqe3yxesxjltngaun8q4xn93ucy5lqjlv5z0gpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qvxd0dfst8ljvwva2egrpc53ve8ru78v8aaxfpravchkexmfmmu3swgg48a</id>
    
      <title type="html">Esse cara é hater.</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsyu6v6sv7gkn8mf5sqe3yxesxjltngaun8q4xn93ucy5lqjlv5z0gpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qvxd0dfst8ljvwva2egrpc53ve8ru78v8aaxfpravchkexmfmmu3swgg48a" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrjmgzk26xrnksue9436875qz9xjxlzk4wgryuwwfl08vc70k9gjspzpmhxue69uhkummnw3ezumt0d5hszlpv2c&#39;&gt;nevent1q…pv2c&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Esse cara é hater.
    </content>
    <updated>2026-07-08T16:36:24Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsqqqxk76llq8yrwkzeyawjy5899x4u6lpn9ydtjcxtt2juzkjc4vqpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qz3r2s5020hplyvzrkhc04lt2yvwc3anlmtr8kerjhp8qj5m5yhyquxputt</id>
    
      <title>Nostr event nevent1qqsqqqxk76llq8yrwkzeyawjy5899x4u6lpn9ydtjcxtt2juzkjc4vqpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qz3r2s5020hplyvzrkhc04lt2yvwc3anlmtr8kerjhp8qj5m5yhyquxputt</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsqqqxk76llq8yrwkzeyawjy5899x4u6lpn9ydtjcxtt2juzkjc4vqpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qz3r2s5020hplyvzrkhc04lt2yvwc3anlmtr8kerjhp8qj5m5yhyquxputt" />
    <content type="html">
      One thing is satisfying, using Wisp to block shit coiners!
    </content>
    <updated>2026-07-08T15:07:57Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsr0w3ye5a4qg8s574y8qsw0rntena3ah9c7n440ys7nggtucfrlcspgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qz3r2s5020hplyvzrkhc04lt2yvwc3anlmtr8kerjhp8qj5m5yhyqkdgvq3</id>
    
      <title type="html">It is very important to use apps and money that do not require ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsr0w3ye5a4qg8s574y8qsw0rntena3ah9c7n440ys7nggtucfrlcspgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qz3r2s5020hplyvzrkhc04lt2yvwc3anlmtr8kerjhp8qj5m5yhyqkdgvq3" />
    <content type="html">
      It is very important to use apps and money that do not require KYC. Complete sovereignty is the goal. 
    </content>
    <updated>2026-07-08T13:50:26Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsv0uq8mtexflhdjh6grum5qlpvgs604qptrejs8mvk6vvxdfm3rngpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q3x5pfj65laaletcpytzgdwk5unh5zgf5whnc93unrpq8n62nw0ss575f2p</id>
    
      <title type="html">gn. Get some good sleep.</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsv0uq8mtexflhdjh6grum5qlpvgs604qptrejs8mvk6vvxdfm3rngpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q3x5pfj65laaletcpytzgdwk5unh5zgf5whnc93unrpq8n62nw0ss575f2p" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8lke9ja2cmdwm7afdx4l2gl8qpclw7sqcy98unr2zhuuda5ss60qppemhxue69uhkummn9ekx7mp044xdgf&#39;&gt;nevent1q…xdgf&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;gn. Get some good sleep.
    </content>
    <updated>2026-07-08T13:43:04Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsqc5drjd5kg0775jxxj8vra04hr4p6s533a8uckz0juqzgyv3379qpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q3x5pfj65laaletcpytzgdwk5unh5zgf5whnc93unrpq8n62nw0ss324xnp</id>
    
      <title type="html">Just the look of it on the photo makes me feel peaceful</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsqc5drjd5kg0775jxxj8vra04hr4p6s533a8uckz0juqzgyv3379qpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q3x5pfj65laaletcpytzgdwk5unh5zgf5whnc93unrpq8n62nw0ss324xnp" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqcuyhtjy00mu9xcclnpdf9e0h803qwyahvfpr0kmpptz3vurrwxgpzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtcdzypna&#39;&gt;nevent1q…ypna&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Just the look of it on the photo makes me feel peaceful
    </content>
    <updated>2026-07-08T13:42:21Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqst4jke9wek6wtpuahqkt3dxgq6emvexs52earkznv4da40tmqmphspgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qq6mcr8tlr3l4gus3sfnw6772s7zae6hqncmw5wj27ejud5wcxf7qazj05f</id>
    
      <title>Nostr event nevent1qqst4jke9wek6wtpuahqkt3dxgq6emvexs52earkznv4da40tmqmphspgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qq6mcr8tlr3l4gus3sfnw6772s7zae6hqncmw5wj27ejud5wcxf7qazj05f</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqst4jke9wek6wtpuahqkt3dxgq6emvexs52earkznv4da40tmqmphspgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qq6mcr8tlr3l4gus3sfnw6772s7zae6hqncmw5wj27ejud5wcxf7qazj05f" />
    <content type="html">
      GM &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://blossom.primal.net/20cae3b9bae26974f2e092cb0f9e17da80ff346ef28cad6c7ebb2626d4311471.jpg&#34;&gt; 
    </content>
    <updated>2026-07-08T12:56:47Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs94t3jckd4pt0ryftv736g9fdg3ulrdxvhffu6v2ex47zce9d9p6gpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q0q76ypsqfkn4vgcwlmq7es383zkvgklq7mhtsmh00wjmnwyt34gs3lqzfq</id>
    
      <title type="html">Do you blame Alby or lightning itself (or both)?</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs94t3jckd4pt0ryftv736g9fdg3ulrdxvhffu6v2ex47zce9d9p6gpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q0q76ypsqfkn4vgcwlmq7es383zkvgklq7mhtsmh00wjmnwyt34gs3lqzfq" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdm248p84ptnvsnhcz8l7z6fnkfmshr7xlce4gs228tfs9dfj0flspzamhxue69uhhv6t5daezumn0wd68yvfwvdhk6tccavtm2&#39;&gt;nevent1q…vtm2&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Do you blame Alby or lightning itself (or both)?
    </content>
    <updated>2026-07-08T12:40:23Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqst0tmg9ujsy98fzfyywflh2xnz8m8cjf2w5dqskgd0rrga8687c6cpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q0q76ypsqfkn4vgcwlmq7es383zkvgklq7mhtsmh00wjmnwyt34gsgqcygh</id>
    
      <title type="html">I&amp;#39;m terribly sorry. We lost our boy three years ago. It&amp;#39;s ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqst0tmg9ujsy98fzfyywflh2xnz8m8cjf2w5dqskgd0rrga8687c6cpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q0q76ypsqfkn4vgcwlmq7es383zkvgklq7mhtsmh00wjmnwyt34gsgqcygh" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgsjspktphzgyr97wftq8czwpwd02karwrldg0rqh288s2z34g2sspzemhxue69uhhyetvv9ujuerfw36x7tnsw43z72d6y67&#39;&gt;nevent1q…6y67&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I&amp;#39;m terribly sorry. We lost our boy three years ago. It&amp;#39;s still tough. My vest to you and your family.
    </content>
    <updated>2026-07-08T12:27:07Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs20qsvdska4np5tlgrs9pjse9rsswafeyjrv95wp8c9dh74d8ef6cpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q0q76ypsqfkn4vgcwlmq7es383zkvgklq7mhtsmh00wjmnwyt34gswer95l</id>
    
      <title>Nostr event nevent1qqs20qsvdska4np5tlgrs9pjse9rsswafeyjrv95wp8c9dh74d8ef6cpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q0q76ypsqfkn4vgcwlmq7es383zkvgklq7mhtsmh00wjmnwyt34gswer95l</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs20qsvdska4np5tlgrs9pjse9rsswafeyjrv95wp8c9dh74d8ef6cpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q0q76ypsqfkn4vgcwlmq7es383zkvgklq7mhtsmh00wjmnwyt34gswer95l" />
    <content type="html">
       &lt;img src=&#34;https://npub10q76ypsqfkn4vgcwlmq7es383zkvgklq7mhtsmh00wjmnwyt34gsu9nmyp.blossom.band/84bc57bd7f43b6c45e5d60fcb39bfbf2bd1f33d1391f2cabbfc5d95ae59793d7.jpg&#34;&gt; &lt;br/&gt;&lt;br/&gt;The Prince is the original playbook on how to consolidate power and keep the underlings in line.&lt;br/&gt;&lt;br/&gt;Get your copy:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://satwize.com/product/the-prince-by-niccolo-machiavelli/&#34;&gt;https://satwize.com/product/the-prince-by-niccolo-machiavelli/&lt;/a&gt;
    </content>
    <updated>2026-07-08T11:35:48Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqszxutsgv06mvp7jzkglthgg4de96asaczmrj5vvm3ljppelummkagpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qqhw9rp6sd6rse5vay329jlt6j8ll55g3k0r44cm3uadrusns0q0q8unwfm</id>
    
      <title type="html">But this does mean voluntary actions get taken away. And ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqszxutsgv06mvp7jzkglthgg4de96asaczmrj5vvm3ljppelummkagpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qqhw9rp6sd6rse5vay329jlt6j8ll55g3k0r44cm3uadrusns0q0q8unwfm" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqn7wpxxnlyzudzycyrrz7hxkhjddtt95yl6meyclj0q6h0vfmlsgpzpmhxue69uhkummnw3ezumt0d5hsjcnuvq&#39;&gt;nevent1q…nuvq&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;But this does mean voluntary actions get taken away.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;And secondly, we have tech that makes censorship hard. So why keep using those platforms?&lt;br/&gt;&lt;br/&gt;You want me to believe that the Euroids (police officers of the EU states) are going to enforce this on everyone? How will that even work. May as well cut the Internet off, ban import of routers etc. It becomes wild.&lt;br/&gt;&lt;br/&gt;It&amp;#39;s like a 3D printer ban, it&amp;#39;s just absurd.&lt;br/&gt;&lt;br/&gt;So I&amp;#39;d say, wait till it gets to that and then pushback (if you even need to, as mentioned: alt-tech is the answer) 
    </content>
    <updated>2026-07-08T11:05:38Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsfmsdtxedxpexswvjxdqsu80kexszn4mfcra2hmwnx5h8aztug9gspgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q3x5pfj65laaletcpytzgdwk5unh5zgf5whnc93unrpq8n62nw0sscy7m09</id>
    
      <title type="html">Hey there. My wife used to have a dog. He was very cute. But then ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsfmsdtxedxpexswvjxdqsu80kexszn4mfcra2hmwnx5h8aztug9gspgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q3x5pfj65laaletcpytzgdwk5unh5zgf5whnc93unrpq8n62nw0sscy7m09" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstwxkffsu65jxv9yytldhk0f95weqvq2ulu76v8f0j8dnt5e2stnsprfmhxue69uhkummnw3ezuervv4ezucm0d5hkyunpwehs8vrj2s&#39;&gt;nevent1q…rj2s&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Hey there. My wife used to have a dog. He was very cute. But then she gave it to another family, because our child was born.&lt;br/&gt;&lt;br/&gt;Can&amp;#39;t wait to see your dogs.
    </content>
    <updated>2026-07-08T10:45:18Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs93pr9gjpaarhszcpyhvz94h3m7qgnqt9gkujdrpaj6svwmvz5jjgpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qppl78tdsjs53x2ldewg0zdvwz9ufsz36tynt5pkd74s6feell59safh4jw</id>
    
      <title type="html">its back https://youtu.be/5-t8661ev5A?si=gTb5v1k0y_QMBvfk</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs93pr9gjpaarhszcpyhvz94h3m7qgnqt9gkujdrpaj6svwmvz5jjgpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qppl78tdsjs53x2ldewg0zdvwz9ufsz36tynt5pkd74s6feell59safh4jw" />
    <content type="html">
      its back &lt;br/&gt;&lt;a href=&#34;https://youtu.be/5-t8661ev5A?si=gTb5v1k0y_QMBvfk&#34;&gt;https://youtu.be/5-t8661ev5A?si=gTb5v1k0y_QMBvfk&lt;/a&gt;
    </content>
    <updated>2026-07-08T08:26:19Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsryclaje2ssex2yl3d4kefndt5su9uafe767679excmgaykchrgwgpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qppl78tdsjs53x2ldewg0zdvwz9ufsz36tynt5pkd74s6feell59saqm8jg</id>
    
      <title>Nostr event nevent1qqsryclaje2ssex2yl3d4kefndt5su9uafe767679excmgaykchrgwgpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qppl78tdsjs53x2ldewg0zdvwz9ufsz36tynt5pkd74s6feell59saqm8jg</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsryclaje2ssex2yl3d4kefndt5su9uafe767679excmgaykchrgwgpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qppl78tdsjs53x2ldewg0zdvwz9ufsz36tynt5pkd74s6feell59saqm8jg" />
    <content type="html">
      GM all you wonderful people
    </content>
    <updated>2026-07-08T06:52:47Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsw9yh8cjgw976aakummf85dsztynda2d92u45scyj8zlzszccpw8cpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q664p5qjf253thavja9yxdxtj28y0w579y4fmxck6uhklwvnfsw4quda08f</id>
    
      <title type="html">Disorganized connection in primal here, slow loads</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsw9yh8cjgw976aakummf85dsztynda2d92u45scyj8zlzszccpw8cpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3q664p5qjf253thavja9yxdxtj28y0w579y4fmxck6uhklwvnfsw4quda08f" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsptthufeaq6ctthrup0yrxchl8zt2vjrrlakul5e6asq6nzy8a6sgkwkjy9&#39;&gt;nevent1q…kjy9&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Disorganized connection in primal here, slow loads &lt;br/&gt;&lt;br/&gt;
    </content>
    <updated>2026-07-07T23:54:01Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsy4m8assjyty9vw77kjq6nxxrg9thklqj0l347swzctftq0hj2rpqpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qzmc6qyqdfnllhnzzxr5wpepfpnzcf8q6m3jdveflmgruqvd3qa9seuxk0r</id>
    
      <title type="html">Let me rephrase, the reference ord implementation is busted. ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsy4m8assjyty9vw77kjq6nxxrg9thklqj0l347swzctftq0hj2rpqpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qzmc6qyqdfnllhnzzxr5wpepfpnzcf8q6m3jdveflmgruqvd3qa9seuxk0r" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9nze7rvangj7ad2cw8me35lncm632trumkk3gv6vqe49cj59mrtgpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhs0w2hnw&#39;&gt;nevent1q…2hnw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Let me rephrase, the reference ord implementation is busted. Protocol is a fun idea but wholly inefficient to really build anything on. 
    </content>
    <updated>2026-07-07T23:40:15Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsqxx4gsmct9ygh802yuguvya88krew55nhmazuf29t9ax839skc7qpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qzmc6qyqdfnllhnzzxr5wpepfpnzcf8q6m3jdveflmgruqvd3qa9snxchdd</id>
    
      <title type="html">I&amp;#39;m not really &amp;#34;into them&amp;#34;. I think it&amp;#39;s a fun ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsqxx4gsmct9ygh802yuguvya88krew55nhmazuf29t9ax839skc7qpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qzmc6qyqdfnllhnzzxr5wpepfpnzcf8q6m3jdveflmgruqvd3qa9snxchdd" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9nze7rvangj7ad2cw8me35lncm632trumkk3gv6vqe49cj59mrtgpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhs0w2hnw&#39;&gt;nevent1q…2hnw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I&amp;#39;m not really &amp;#34;into them&amp;#34;. I think it&amp;#39;s a fun idea. Let the retards pay the miners. 
    </content>
    <updated>2026-07-07T23:38:34Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsg0cul8yvhng7dc0f5n29u7hanrx0hm4uy32djw7sty24d0dfl96cpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qzmc6qyqdfnllhnzzxr5wpepfpnzcf8q6m3jdveflmgruqvd3qa9suhg5tl</id>
    
      <title type="html">I have made a couple yes but only a couple and they&amp;#39;re much ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsg0cul8yvhng7dc0f5n29u7hanrx0hm4uy32djw7sty24d0dfl96cpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qzmc6qyqdfnllhnzzxr5wpepfpnzcf8q6m3jdveflmgruqvd3qa9suhg5tl" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9nze7rvangj7ad2cw8me35lncm632trumkk3gv6vqe49cj59mrtgpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhs0w2hnw&#39;&gt;nevent1q…2hnw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I have made a couple yes but only a couple and they&amp;#39;re much older when I was playing with it. Indexing sats is a fun idea. But ultimately it turns sats into serialized numbers which is fun and delusional. You can&amp;#39;t build anything serious on a shared delusion and the protocol is busted AF imo. Hence the issue. I&amp;#39;m a developer. You think I&amp;#39;m not going to play around with things to understand them? 
    </content>
    <updated>2026-07-07T23:36:45Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsvxsawtd4wza0jtqmcy99qhdqts82fpqszq84q24eaxggh2alh0mcpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qzmc6qyqdfnllhnzzxr5wpepfpnzcf8q6m3jdveflmgruqvd3qa9sf3ctaj</id>
    
      <title type="html">Lots of pools in that chart. Because some have more hash than ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsvxsawtd4wza0jtqmcy99qhdqts82fpqszq84q24eaxggh2alh0mcpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qzmc6qyqdfnllhnzzxr5wpepfpnzcf8q6m3jdveflmgruqvd3qa9sf3ctaj" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs04af8rr9ddezwuen2rsytc708j00w3h9ff3ge3jwn2ye4aqtpatcpzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtcg6d8ay&#39;&gt;nevent1q…d8ay&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Lots of pools in that chart. Because some have more hash than others or a significant amount is not an indication of centralization. And a 51% attack is a dumb attack vector. It&amp;#39;s pointless. Disruption at the cost of millions for little to no gain. 
    </content>
    <updated>2026-07-07T23:11:09Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsp73kl5u7ee6ayl9ksnvahcssejhjgtzsg3k055dtuz9xwf043h6cpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qppl78tdsjs53x2ldewg0zdvwz9ufsz36tynt5pkd74s6feell59sjzfqr9</id>
    
      <title type="html">Its been a pleasure moving over void Linux I have to admit, I ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsp73kl5u7ee6ayl9ksnvahcssejhjgtzsg3k055dtuz9xwf043h6cpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qppl78tdsjs53x2ldewg0zdvwz9ufsz36tynt5pkd74s6feell59sjzfqr9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgg4nv6hs76mx35uvyj8487quhwu9n6xhs0d5axcwdhcrfgnxfkkqpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsmlem02&#39;&gt;nevent1q…em02&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Its been a pleasure moving over void Linux I have to admit, I honesty never thought I would find a perfect distro after so much hopping around but my word this distro has struck me so much. Dare I say it is the perfect distro for me 
    </content>
    <updated>2026-07-07T22:55:41Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsgd8md644q3jqw3662fn0h9wfj4hvr4r0k5qp3awhvn23r6vytvwcpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qppl78tdsjs53x2ldewg0zdvwz9ufsz36tynt5pkd74s6feell59senrnqa</id>
    
      <title type="html">Oh my days the football today has been incredible, well done to ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsgd8md644q3jqw3662fn0h9wfj4hvr4r0k5qp3awhvn23r6vytvwcpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qppl78tdsjs53x2ldewg0zdvwz9ufsz36tynt5pkd74s6feell59senrnqa" />
    <content type="html">
      Oh my days the football today has been incredible, well done to Switzerland 
    </content>
    <updated>2026-07-07T22:52:56Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqstvc929wgxac989t4gshh62dqq2j895ykm3gl7yz0kc2lse6umesgpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qe78s06llhh8yjah232urpn7kqdhlkcsruea636m6nfzg5ap2d64qx7mkev</id>
    
      <title type="html">@nprofile…llr6</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqstvc929wgxac989t4gshh62dqq2j895ykm3gl7yz0kc2lse6umesgpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qe78s06llhh8yjah232urpn7kqdhlkcsruea636m6nfzg5ap2d64qx7mkev" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2suqgknedw70ekapwqw0v342llhcvquy65zfwl47an254x4tfstcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhs3etw5y&#39;&gt;nevent1q…tw5y&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nprofile1qqsqhk42dz0exfcsln4yqmdkjys0nvd7dqndgacpsa7w7pt7njq2uuspzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtcpzdmhxue69uhhqatjwpkx2urpvuhx2ue0qy28wumn8ghj7un9d3shjctzd3jjummjvuhsjgllr6&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;256 FOUNDATION&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;nprofile…llr6&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; 
    </content>
    <updated>2026-07-07T22:45:26Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsyqk2l0qzm4cadt6p9lael2xcjmke2w3yppua8nrrla8yhac00dxspgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qqhw9rp6sd6rse5vay329jlt6j8ll55g3k0r44cm3uadrusns0q0qlj9hh0</id>
    
      <title type="html">Ursula really is a peace of work. She reminds me of an &amp;#34;old ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsyqk2l0qzm4cadt6p9lael2xcjmke2w3yppua8nrrla8yhac00dxspgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qqhw9rp6sd6rse5vay329jlt6j8ll55g3k0r44cm3uadrusns0q0qlj9hh0" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsz2rxctmklkjmjy7e80qhgmqzlazvrfwg3qvr9wp0d3nstv9zklyspzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtc25fgh0&#39;&gt;nevent1q…fgh0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Ursula really is a peace of work.&lt;br/&gt;&lt;br/&gt;She reminds me of an &amp;#34;old guard&amp;#34; Afrikaaner, who worked in the state, who would have loved to rattle the peasants a little bit more. I say this based on her &amp;#34;oudoos&amp;#34; (old &amp;#34;doofus&amp;#34; generous translation)) haircut.&lt;br/&gt;&lt;br/&gt;Granny vibes. And hey grannies are cool, but not evil grannies or control freak grannies. 
    </content>
    <updated>2026-07-07T21:14:46Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsq2ttjcwsxw7fkentcy3fnnfnu5ez7h0dfy4yfj69drrkyqx6c5jcpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qqhw9rp6sd6rse5vay329jlt6j8ll55g3k0r44cm3uadrusns0q0qnfwqw4</id>
    
      <title type="html">Yes, if it leads into coercive regulations (as that is what that ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsq2ttjcwsxw7fkentcy3fnnfnu5ez7h0dfy4yfj69drrkyqx6c5jcpgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qqhw9rp6sd6rse5vay329jlt6j8ll55g3k0r44cm3uadrusns0q0qnfwqw4" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsz2rxctmklkjmjy7e80qhgmqzlazvrfwg3qvr9wp0d3nstv9zklyspzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtc25fgh0&#39;&gt;nevent1q…fgh0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Yes, if it leads into coercive regulations (as that is what that would be).&lt;br/&gt;&lt;br/&gt;Then yeah, screw it, and I can see how they would push for that with the exact same:&lt;br/&gt;&lt;br/&gt;&amp;#34;It&amp;#39;s for the kids&amp;#34; / &amp;#34;It&amp;#39;s to stop anti-semitism&amp;#34; / &amp;#34;arab terrorism&amp;#34;
    </content>
    <updated>2026-07-07T21:12:58Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs9a0evh35jrg0ej3xr4mvl0f36ylndkcmevsyz4s8ec8m4qymnjzspgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qqhw9rp6sd6rse5vay329jlt6j8ll55g3k0r44cm3uadrusns0q0q4aclt6</id>
    
      <title type="html">I have no doubt that they won&amp;#39;t be scanned 😂 And that, ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs9a0evh35jrg0ej3xr4mvl0f36ylndkcmevsyz4s8ec8m4qymnjzspgdmhxue69uhhxarjvee8jtnndphkx6ewdejhgam0wf4j7mn0wd682u36wd68yenj0yh8x6r0vd4jumn9w3mk7unt9a5xzan9dckhzat9vfjkxq3qqhw9rp6sd6rse5vay329jlt6j8ll55g3k0r44cm3uadrusns0q0q4aclt6" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsquxwv5am2ax89d97rvfsg6lf06p5weceqlcw5ecwsf0pfuqatmnqpzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtc7dsz38&#39;&gt;nevent1q…sz38&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I have no doubt that they won&amp;#39;t be scanned 😂&lt;br/&gt;&lt;br/&gt;And that, following my belief that a private company can do what they want given it is on the T&amp;amp;Cs. I completely agree the Eureich (the MPs) will somehow make themselves exempt from it coercively, unless the T&amp;amp;Cs end up saying &amp;#34;government excluded&amp;#34; - no problems with that.&lt;br/&gt;&lt;br/&gt;That being said. Just don&amp;#39;t use this stuff. These services are UTTER trash. Alternatives exist and people REALLY must put their money or time where their words are.
    </content>
    <updated>2026-07-07T21:00:42Z</updated>
  </entry>

</feed>