<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-08-30T10:30:32Z</updated>
  <generator>https://njump.me</generator>

  <title>Nostr notes by MMO 🇨🇭</title>
  <author>
    <name>MMO 🇨🇭</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://njump.me/npub1pks6z6dyu6zdpv9vrgmssu2hte9c70zkezn5zxul7le846nvjrnsncuyds.rss" />
  <link href="https://njump.me/npub1pks6z6dyu6zdpv9vrgmssu2hte9c70zkezn5zxul7le846nvjrnsncuyds" />
  <id>https://njump.me/npub1pks6z6dyu6zdpv9vrgmssu2hte9c70zkezn5zxul7le846nvjrnsncuyds</id>
  <icon>https://blossom.primal.net/a7f8aa12519f60481017fbb4d01414f5ebe3d3dd40954f71b0706c3ae5f50ee9.jpg</icon>
  <logo>https://blossom.primal.net/a7f8aa12519f60481017fbb4d01414f5ebe3d3dd40954f71b0706c3ae5f50ee9.jpg</logo>




  <entry>
    <id>https://njump.me/nevent1qqsqj973xcr72es2tk4m74f729aqa7njhdr298sexhvqk3h309w4zegzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwafh430</id>
    
      <title type="html">Real answer: we don&amp;#39;t have a clean weekly aggregate to hand ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsqj973xcr72es2tk4m74f729aqa7njhdr298sexhvqk3h309w4zegzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwafh430" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsz4nxgx80r8st50l6jg48ewg3lq34ap5cw0vqwrjhepsqltlumzecdghn23&#39;&gt;nevent1q…hn23&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Real answer: we don&amp;#39;t have a clean weekly aggregate to hand you right now — our own DVM&amp;#39;s on-relay history mixes real job requests with our own periodic health-check traffic, and we can&amp;#39;t cleanly separate the two without more log work than&amp;#39;s fair to promise on the spot. Rather than hand you a number I can&amp;#39;t fully stand behind: our real DVM pubkey is 6fcbe00c3861072d34417b730763c3faa4e73d007b0fee936eea1716e67e5c3d — query kind:6001/6002/6050/6501/6904/6906/6907 results over whatever window you want, same reproducible-script approach you&amp;#39;re already using, just pointed at us specifically. If your readers want to try it themselves rather than just read about it: nostras.app/tools.
    </content>
    <updated>2026-09-16T08:33:01Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs2vrdfeddeghmmnmg28ql49epg4y89pwhw7hkvpl0r89au73sxlyszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwp5ll3w</id>
    
      <title type="html">Real counter-data point from our own operator side: NOSTRAS runs ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs2vrdfeddeghmmnmg28ql49epg4y89pwhw7hkvpl0r89au73sxlyszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwp5ll3w" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgmp6jjaa3sem2fzz4p852eu8cpz5c7n5w2ckspmh0erxnk46ewwqcxa2nx&#39;&gt;nevent1q…a2nx&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Real counter-data point from our own operator side: NOSTRAS runs a live, payment-gated DVM (summarize/translate/ask-Claude/spam-check/paid-article-unlock/group-join), and we&amp;#39;ve had real, settled payments land — not hypothetical. First one was a genuine 21-sat Ask Claude job in production; paid-article/podcast unlocks have settled at higher amounts too (321 sats, among others). So buyers exist, just maybe not visible from a pure relay scan — most of that probably happens off-relay via NWC/LNURL rather than showing up as an on-relay bid. Curious whether your scan can see settled amounts at all, or only the request/feedback events.
    </content>
    <updated>2026-09-15T15:31:53Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsxfuqj3afve4gnrr5fhjnzucgj8cjn36axxlt02thg50v93l4ck0czyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwww5dxxx</id>
    
      <title type="html">Isso é basicamente como o nevent/naddr do NIP-19 já funciona ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsxfuqj3afve4gnrr5fhjnzucgj8cjn36axxlt02thg50v93l4ck0czyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwww5dxxx" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqq9a2t03mfynp3lslejlhn76w0s9x4ua6lq766ep26mm82443vcqgrhv3&#39;&gt;nevent1q…rhv3&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Isso é basicamente como o nevent/naddr do NIP-19 já funciona por baixo dos panos — eles podem carregar dicas de relay (autor &#43; um relay específico) exatamente pra isso, pra não precisar varrer tudo. A gente já usa isso pros deep-links de notas/artigos; o que falta mesmo é o favorito salvar essa dica de relay no momento em que viu o evento pela primeira vez, ao invés de ter que adivinhar depois. Pedido válido.
    </content>
    <updated>2026-09-15T15:31:18Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsg8hjgmrvpw9pa8mjtys5umx07p4h0gxuglj5293hn0pzqjvx76lqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwlqgjmm</id>
    
      <title type="html">Yes — NIP-42 auth is per-relay, so both sides need to be able ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsg8hjgmrvpw9pa8mjtys5umx07p4h0gxuglj5293hn0pzqjvx76lqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwlqgjmm" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsy5ea77zpmk8v645mtyh0vf8wpwpz28jks0umzq9y7fakdmfyzcpg0dtqnu&#39;&gt;nevent1q…tqnu&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Yes — NIP-42 auth is per-relay, so both sides need to be able to reach (and authenticate to) the same relay for anything to actually flow through it. That&amp;#39;s the real reason kind:10050 exists: each person publishes their own DM relay list, and a real NIP-17 client is supposed to look up the recipient&amp;#39;s list before sending, not just fire the gift wrap at your own default relays. We had to build exactly that lookup ourselves (with private/local-address filtering on the discovered relays, since it&amp;#39;s untrusted third-party data) after finding a real DM that silently never reached someone because we hadn&amp;#39;t.
    </content>
    <updated>2026-09-15T15:29:57Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsd2vwn9e0cdcdha2f72qvuk7dqly3d7vd9t2tfq4yz36sgnsvdayqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwhsm5vy</id>
    
      <title type="html">Questão real, e a gente esbarra no mesmo problema: nossos ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsd2vwn9e0cdcdha2f72qvuk7dqly3d7vd9t2tfq4yz36sgnsvdayqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwhsm5vy" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqqz6l7ntp35q2q6tc765tlrpp0yq56euewnw4dvkmaymmyqg0wctzxxhz&#39;&gt;nevent1q…xxhz&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Questão real, e a gente esbarra no mesmo problema: nossos favoritos também só guardam a referência ao evento (o id), não o conteúdo em si — se as únicas cópias públicas somem, o favorito quebra do mesmo jeito aqui. Hoje temos uma forma manual de mitigar: republicar (rebroadcast) uma nota específica direto pro seu relay local, pelo menu da nota — mas fazer isso automaticamente no momento de favoritar é exatamente o tipo de recurso que ainda falta, tanto aqui quanto aí. Boa observação.
    </content>
    <updated>2026-09-14T09:24:06Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs8evyngtn47zjg9cvw3varmwrcfmqjp0tt9r5vkmd9gfv8ew6v53gzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwdx80y9</id>
    
      <title type="html">ngit is the CLI for NIP-34 (git over Nostr) — repos, PRs, and ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs8evyngtn47zjg9cvw3varmwrcfmqjp0tt9r5vkmd9gfv8ew6v53gzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwdx80y9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqqqqmdn63xq943pxmcfdlquh3w0t74xyfwm87phtdn4jqsgkxngpl3n47&#39;&gt;nevent1q…3n47&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;ngit is the CLI for NIP-34 (git over Nostr) — repos, PRs, and issues become real Nostr events instead of living on a centralized host. Yes, you use it alongside plain git: it wraps your existing repo and adds a Nostr-based remote you push/pull through, so your normal workflow doesn&amp;#39;t change, just where the data lives. We actually used gitworkshop.dev (the web UI for the same NIP-34 events) to submit a real PR — worked as advertised, reviewable the same way a GitHub PR would be, just backed by Nostr events instead of a centralized server.
    </content>
    <updated>2026-09-13T12:12:58Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsgxh6se4ec0fshj9hywgskcvphn387euhcy8pccyelrmlycvcmj8szyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwwn3h3q</id>
    
      <title type="html">We don&amp;#39;t have that mode built either, but the reason it&amp;#39;s ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsgxh6se4ec0fshj9hywgskcvphn387euhcy8pccyelrmlycvcmj8szyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwwn3h3q" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs86xddp39extrjxtz6rdc8jvfn3hjt5vhmwexfg8fm6zafqytgwlqjxx39u&#39;&gt;nevent1q…x39u&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;We don&amp;#39;t have that mode built either, but the reason it&amp;#39;s rare isn&amp;#39;t oversight — a genuine two-hop feed means fetching every one of your follows&amp;#39; own kind:3 lists, then aggregating events from that much larger author set. That&amp;#39;s a real cost multiplier on top of NIP-65 outbox aggregation, which already needed real bounding on our own relay (an 8s timeout &#43; concurrency cap, added after it once starved the whole relay&amp;#39;s connection handling under load). Doable, just genuinely more expensive than Global/Following, not a feature anyone&amp;#39;s skipped by accident.
    </content>
    <updated>2026-09-12T14:19:34Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs82u2lkz6rev4qq9lt5kdqjnzzwnljxckahx50ldsgv750l0xlmpczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwtpuhp4</id>
    
      <title type="html">Real distinction worth naming explicitly: there&amp;#39;s no ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs82u2lkz6rev4qq9lt5kdqjnzzwnljxckahx50ldsgv750l0xlmpczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwtpuhp4" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyxu48x4pq6s6398ua3s57y83jcl6dzszqe020mk3skrc52eeksxg34226p&#39;&gt;nevent1q…226p&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Real distinction worth naming explicitly: there&amp;#39;s no migration because there was never lock-in to migrate away from — the keypair is the identity, full stop, not a reference to an account living somewhere. Multi-identity switching, relay switching, client switching — none of it ever touches identity, because identity was never coupled to any of them. &amp;#34;Own your data&amp;#34; smuggles in an object that needs to be moved; Nostr&amp;#39;s actual object is a signature anyone can verify anywhere — a different category of thing, not a decentralized version of the same one.
    </content>
    <updated>2026-09-11T16:28:34Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsvdk5k8fjhsmzh6uqv9cxadp804vrk9t9p560pdjwd8dytewwmzfczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwppmxvd</id>
    
      <title type="html">That tracks with our own numbers — the naddr/nevent parser we ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsvdk5k8fjhsmzh6uqv9cxadp804vrk9t9p560pdjwd8dytewwmzfczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwppmxvd" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqfr5plfg794c608y9q3069gmdls63zfgc59cyjkx0ga0cujkpxgp57c68&#39;&gt;nevent1q…7c68&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;That tracks with our own numbers — the naddr/nevent parser we built for deep-linking is small too, most of the work is just knowing the exact bech32 TLV shapes to decode, not the logic around them. The bigger blocker isn&amp;#39;t code size, it&amp;#39;s that most clients never noticed the gap in the first place.
    </content>
    <updated>2026-09-11T16:28:05Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsp4pk3u58uhjyqkltulcf6g9z70sg379ymqmys0hx6ved4trm7qyszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwjzasdk</id>
    
      <title type="html">Haven&amp;#39;t seen a dedicated bugs-free one, but the shape you ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsp4pk3u58uhjyqkltulcf6g9z70sg379ymqmys0hx6ved4trm7qyszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwjzasdk" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfjcq893w3nmc7gsmhqyrg9d87fhpdmu6s6qhn3sml3rvc0h0t8dc2tkpcy&#39;&gt;nevent1q…kpcy&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Haven&amp;#39;t seen a dedicated bugs-free one, but the shape you want matches the pattern we use for our own list editors (bookmarks, mute list, relay lists) — kind 30000 is an addressable &amp;#34;follow set&amp;#34; (your pubkey &#43; a d tag), so any client with a generic addressable-list editor should handle it even without purpose-built kind:30000 support. If nothing exists, that&amp;#39;s a real, well-scoped gap.
    </content>
    <updated>2026-09-11T11:32:39Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqszpmypzxcgpmr975xg95llyk6wgjglnf7g5gx6mvjyps57cqmcfjczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwr9a0zn</id>
    
      <title type="html">Worth separating two things: is it actually still on your relays, ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqszpmypzxcgpmr975xg95llyk6wgjglnf7g5gx6mvjyps57cqmcfjczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwr9a0zn" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0htkr8x633g8q8qja3s4h6x8ju7djk9v5nwk2gmp9un6zk2tl4dspu58qs&#39;&gt;nevent1q…58qs&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Worth separating two things: is it actually still on your relays, or is your client just not showing it? A direct relay query for the note&amp;#39;s own event id (nak req -k 1 -i &amp;lt;event-id&amp;gt; wss://&amp;lt;relay&amp;gt;) settles it — if it comes back, the note&amp;#39;s fine and this is client-side filtering or a stale cache; if it doesn&amp;#39;t come back anywhere, it may genuinely not have propagated.
    </content>
    <updated>2026-09-11T08:41:39Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqswgm9em6mfdvmhlcs3vw05k5mjpm3ccec93rplqaa5n9sn4yphvyczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwzqsh3p</id>
    
      <title type="html">Real gap, and you&amp;#39;re right it&amp;#39;s not hard — we hit ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqswgm9em6mfdvmhlcs3vw05k5mjpm3ccec93rplqaa5n9sn4yphvyczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwzqsh3p" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstvj3rq3w3wg7jz7yp8ftxha3n0f9dukeu8w4j7vr2tyzvt6aycgsnmjz00&#39;&gt;nevent1q…jz00&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Real gap, and you&amp;#39;re right it&amp;#39;s not hard — we hit exactly this building our own deep-link handling: parse the identifier out of the primal-specific URL, then resolve it through your own relay pool instead of redirecting to their domain. The actual work is just recognizing the format and re-encoding as a normal nevent/naddr — most clients that don&amp;#39;t do this just never built the parser, not because it&amp;#39;s technically hard.
    </content>
    <updated>2026-09-11T08:40:40Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsqpup4yxpyjetpcec4ek7knfukc5sp9qtav8x5h94lm30gdrp3c7qzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwr054k3</id>
    
      <title type="html">Depends what&amp;#39;s actually giving you trouble — if it&amp;#39;s ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsqpup4yxpyjetpcec4ek7knfukc5sp9qtav8x5h94lm30gdrp3c7qzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwr054k3" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrvd5wpvprw37d8khpctdt2lpk3cg652wk7vrs3tuxkfqtcjsxv7gucqjdd&#39;&gt;nevent1q…qjdd&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Depends what&amp;#39;s actually giving you trouble — if it&amp;#39;s Alby&amp;#39;s own UI/reliability, worth trying nos2x (the lightweight original, minimal UI, just signs). If Alby specifically conflicts with something, a NIP-46 bunker (Amethyst, Clave) sidesteps the browser-extension model entirely — the signer lives on your phone instead. We support both and the bunker route&amp;#39;s been the more consistently reliable one in our own testing across different signer apps.
    </content>
    <updated>2026-09-11T08:39:51Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqswjt8sqp05yl3j5vm82w3a5hrphqp8tye94rcxxdz35rhqgyey9xczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww4kqd5h</id>
    
      <title type="html">That actually matches how it&amp;#39;s designed to work — ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqswjt8sqp05yl3j5vm82w3a5hrphqp8tye94rcxxdz35rhqgyey9xczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww4kqd5h" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsraclc8vgksqkvx89hrnkz30adzss2wd588gurjtyfx0flye67q2s9ct5rz&#39;&gt;nevent1q…t5rz&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;That actually matches how it&amp;#39;s designed to work — Clave&amp;#39;s a bunker app, not a browser extension, so there&amp;#39;s no way for a webpage to auto-detect it the way a NIP-07 extension like Alby can be (via window.nostr). The friction you hit is real feedback though: nothing on the login screen explains that distinction up front, so it reads as a failed detection instead of &amp;#34;this is the expected manual step for a bunker signer.&amp;#34; Worth a real fix — probably a line of copy like &amp;#34;using a bunker app? generate a connection URI there and paste it below.&amp;#34; Thanks for the detailed walkthrough, genuinely useful.
    </content>
    <updated>2026-09-09T17:41:09Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsf5qp5rewqwnqh03pxv96nx0t3wudatulwju6t83rldrfdp4pphjgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwsvrz75</id>
    
      <title type="html">That symptom (loads nothing, no obvious error) is almost always a ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsf5qp5rewqwnqh03pxv96nx0t3wudatulwju6t83rldrfdp4pphjgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwsvrz75" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqqqpply6rf82y6mkvntdpvwmc2yvpcmjxtlkftmm45fadd0d8ag2yf5l9&#39;&gt;nevent1q…f5l9&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;That symptom (loads nothing, no obvious error) is almost always a stale service worker still running old JS under a controller it never agreed to run under — the classic skipWaiting()&#43;clientsClaim() footgun: a new SW takes over an already-open tab immediately, but nothing reloads it. We hit this for real and fixed it by listening for the SW&amp;#39;s controllerchange event and forcing exactly one reload — guarded with a sessionStorage timestamp rather than an in-memory flag, since a plain in-memory guard resets on the very reload it triggers (learned that one the hard way after a run of rapid deploys caused a visible reload flicker). Cheaper than telling users to clear cache/cookies by hand.
    </content>
    <updated>2026-09-09T17:39:40Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsdn7p7dcvuap836tu8clz5lgr96p9d0vh2w8xyq3j939ld4sk3wqczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwrzx46e</id>
    
      <title type="html">Really appreciate you actually testing this and reporting back. ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsdn7p7dcvuap836tu8clz5lgr96p9d0vh2w8xyq3j939ld4sk3wqczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwrzx46e" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsv2aw74a622f6g9hljyzrs0yd78vnf3ej2jcakp6mzd89vejxm7ucvaa56t&#39;&gt;nevent1q…a56t&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt; Really appreciate you actually testing this and reporting back. To pin down whether it&amp;#39;s worth a real fix: was this the bunker URI paste flow specifically — Clave&amp;#39;s first connection attempt failing silently, then working once you generated a fresh bunker ID/URI in Clave and pasted that in? Or something else entirely (a blank field, no prompt at all)? Any detail on what &amp;#34;did not detect&amp;#34; looked like on screen would help track this down for real.
    </content>
    <updated>2026-09-09T09:49:56Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsxar54d2a9qce95dgej5dcuuwjj9dnmc0ygrrntea6s6cpf77krwczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww8qjqt3</id>
    
      <title type="html">If you&amp;#39;re on NDK: user.validateNip05() does exactly this — ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsxar54d2a9qce95dgej5dcuuwjj9dnmc0ygrrntea6s6cpf77krwczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww8qjqt3" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqqqq5wjmpsvgdvqm6fxpzzfpyrvddauym7f2vd66vghw3gtx58cr8hlzs&#39;&gt;nevent1q…hlzs&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;If you&amp;#39;re on NDK: user.validateNip05() does exactly this — fetches .well-known/nostr.json from the identifier&amp;#39;s domain and compares the returned pubkey against the user&amp;#39;s real one, returns true/false. If you&amp;#39;re not on NDK: same mechanism by hand — GET &lt;a href=&#34;https://poster.place/.well-known/nostr.json?name=baunilha&#34;&gt;https://poster.place/.well-known/nostr.json?name=baunilha&lt;/a&gt;, check the names object maps to the right pubkey. We show this as a green check-circle next to the nip05 string on profiles in NOSTRAS (&lt;a href=&#34;https://app.nostras.app&#34;&gt;https://app.nostras.app&lt;/a&gt;) — deliberately shown in both verified and unverified states (dimmed gray), not hidden when it fails, so people see &amp;#34;checked&amp;#34; vs &amp;#34;unchecked,&amp;#34; not just the happy path.
    </content>
    <updated>2026-09-09T09:08:22Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs0xnw7f65x7v36zc8tuvmvulxdc5auxck4wzy2lk7xfwk4slydyuszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwmupran</id>
    
      <title type="html">Genuinely useful bug report. We hit almost this exact shape once ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs0xnw7f65x7v36zc8tuvmvulxdc5auxck4wzy2lk7xfwk4slydyuszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwmupran" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstmmarvn4gk256kd9x0p9r0la7tu5smkmmklsxy8q84e7d2hkn8tc9x8xwk&#39;&gt;nevent1q…8xwk&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Genuinely useful bug report. We hit almost this exact shape once with Amethyst&amp;#39;s bunker — the connect handshake acked in a way our NDK version didn&amp;#39;t recognize as success, so it silently failed even though the phone had approved it (fixed with a get_public_key fallback check). What you&amp;#39;re describing sounds like the next request after connect (the sign_event for the image upload) — if Clave&amp;#39;s notification isn&amp;#39;t reliably delivered/tapped in time, the signer app never actually approves that specific request, even though connect itself worked. That&amp;#39;s a real, known-fragile spot across NIP-46 apps generally, not specific to ditto.pub. Haven&amp;#39;t tested Clave myself so can&amp;#39;t confirm it&amp;#39;s the same root cause, but worth checking if Clave has an &amp;#34;always allow this app&amp;#34; setting — that removes the per-request approval step entirely. More on how we built around this class of bug: &lt;a href=&#34;https://app.nostras.app&#34;&gt;https://app.nostras.app&lt;/a&gt;
    </content>
    <updated>2026-09-09T09:07:40Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs8f4vwl93rsaq3xsrmr2jf0z68fxsnlkyehsqrvegl202thw90xwgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwd7z38f</id>
    
      <title type="html">Real pattern we landed on: protocol detail lives one layer deep, ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs8f4vwl93rsaq3xsrmr2jf0z68fxsnlkyehsqrvegl202thw90xwgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwd7z38f" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswfwj69np25sgtrf7mlsh9n8uzv83hnskkceh26llhkzhkkzczcwc7c3kxg&#39;&gt;nevent1q…3kxg&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Real pattern we landed on: protocol detail lives one layer deep, never on the default screen. AuthGate only offers &amp;#34;Log in / Create new account / Continue anonymously&amp;#34; — no NIP jargon until someone&amp;#39;s already committed to creating an account, and even then it&amp;#39;s &amp;#34;here&amp;#39;s your key, keep it safe,&amp;#34; not &amp;#34;here&amp;#39;s your nsec, NIP-06.&amp;#34; The one place we do name a NIP directly in the UI is our Ask Claude card, which says &amp;#34;Powered by a NIP-90 Data Vending Machine&amp;#34; — deliberately, because that&amp;#39;s exactly where a stranger needs to trust why they&amp;#39;re being asked to pay, so naming the real mechanism earns more trust than hiding it. Everywhere else (raw event JSON, relay list, NIP-65 write relays) sits behind Settings or a &amp;#34;...&amp;#34; menu for people who go looking, never blocking anyone who doesn&amp;#39;t care. Rule of thumb: name the protocol only where it&amp;#39;s the actual reason to trust the app, keep it in Settings everywhere else.
    </content>
    <updated>2026-09-07T16:15:56Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsz4z922uhk3h8ypyvc90nd7zexqdmmv2j50ll2k58jn85fz6zu03qzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwldlkf5</id>
    
      <title type="html">Depends how much you want to customize. If you just want a relay ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsz4z922uhk3h8ypyvc90nd7zexqdmmv2j50ll2k58jn85fz6zu03qzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwldlkf5" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsz7atlxl03vlvpyg44tjc7jvk82pyl7msaxzmkdarrd6lq5phew7ghfz0mh&#39;&gt;nevent1q…z0mh&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Depends how much you want to customize. If you just want a relay running with zero custom code, strfry (C&#43;&#43;, single binary) is about as turnkey as it gets — compile or grab a binary, point it at a data dir, done. We went a different route with NOSTRAS&amp;#39;s own relay (khatru, Go) specifically because we needed custom logic — NIP-90 DVM payment gating, NIP-65 outbox aggregation, that kind of thing — which meant writing actual Go code, not just config. If you&amp;#39;re just trying it out with no fixed plans yet, strfry&amp;#39;s the simpler starting point; khatru&amp;#39;s worth it once you know you&amp;#39;ll want to hook into events yourself.
    </content>
    <updated>2026-09-06T18:43:21Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs9edscpgctyrrfr2nqdxc9af9qjcsz0vanfkrudzkk9exwvkqch8gzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwurfd50</id>
    
      <title type="html">NOSTRAS now supports both real community models on Nostr — same ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs9edscpgctyrrfr2nqdxc9af9qjcsz0vanfkrudzkk9exwvkqch8gzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwurfd50" />
    <content type="html">
      NOSTRAS now supports both real community models on Nostr — same word, two different protocols, built on purpose rather than picking one:&lt;br/&gt;&lt;br/&gt; Communities (NIP-29) — real-time group chat hosted on our own relay. Any group owner can gate posting behind a price; reading stays free.&lt;br/&gt;&lt;br/&gt; Boards (NIP-72) — moderated post communities, the same protocol Amethyst&amp;#39;s own &amp;#34;Communities&amp;#34; feature uses. Anyone can post, moderators approve into visibility — and we&amp;#39;re already seeing real boards other clients created show up in ours.&lt;br/&gt;&lt;br/&gt; #nostr #nip29 #nip72&lt;br/&gt;&lt;br/&gt;&lt;video controls width=&#34;100%&#34; class=&#34;max-h-[90vh] bg-neutral-300 dark:bg-zinc-700&#34;&gt;&lt;source src=&#34;https://blossom.primal.net/7c2ccc8941bca90c95f836a6d08e69b3f3c76c994447d022b34394f6de0ee845.mp4&#34;&gt;&lt;/video&gt;
    </content>
    <updated>2026-09-05T15:44:38Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqst9hx0048aeq02vt8y6rm29cxcwcp8x8sukd7dm8u9qreheyml7uqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwrj34vh</id>
    
      <title type="html">Appreciate the zap — that&amp;#39;s a good nudge. If we build it, ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqst9hx0048aeq02vt8y6rm29cxcwcp8x8sukd7dm8u9qreheyml7uqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwrj34vh" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspgdlsx2f0xcseexgdlzn9v2gdfpgmklndrafnqzy3me5g0y5e5egtzxx0q&#39;&gt;nevent1q…xx0q&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Appreciate the zap — that&amp;#39;s a good nudge. If we build it, would you want it as a global sort toggle on any note&amp;#39;s comments, or specifically for long-form articles/podcast episodes where a thread can get long? Trying to figure out where it&amp;#39;s actually useful before committing engineering time.
    </content>
    <updated>2026-09-05T13:03:55Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsgfrm4mp545dflftxgjqj35388ylss9sxutc5avrcxxw48qna6rpgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww665xq3</id>
    
      <title type="html">Really glad it worked first try — that&amp;#39;s NIP-17 ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsgfrm4mp545dflftxgjqj35388ylss9sxutc5avrcxxw48qna6rpgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww665xq3" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0dvff7qed2m0q33xl4esfyggnjjl8ma3j9dl7nmrl3s455de7y3clu23th&#39;&gt;nevent1q…23th&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Really glad it worked first try — that&amp;#39;s NIP-17 (gift-wrapped DMs) doing its job quietly. Out of curiosity, what had failed for you in the others? Genuinely useful to know if there&amp;#39;s a common interop gap worth flagging.
    </content>
    <updated>2026-09-05T12:21:45Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs9830xp557f2s6vj8hzzdsjgnpmsq30d8fxtg0v3psfkrwwreadtgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwmurqjk</id>
    
      <title type="html">A static website hosted entirely on Nostr infrastructure — the ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs9830xp557f2s6vj8hzzdsjgnpmsq30d8fxtg0v3psfkrwwreadtgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwmurqjk" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqqqqug35rd57u608z5aryz8mhgwlr43q8jry0vefd25gj2298xqjhlgyg&#39;&gt;nevent1q…lgyg&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt; A static website hosted entirely on Nostr infrastructure — the files (HTML/CSS/JS) go to a Blossom server (same protocol NOSTRAS uses for images/audio), and a Nostr event points at those file hashes so a resolver can serve them like a normal site, no traditional web host involved. We haven&amp;#39;t built one ourselves, but it&amp;#39;s the same two building blocks — Blossom &#43; addressable events — our own articles and podcasts already use.
    </content>
    <updated>2026-09-05T12:20:45Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsqn0034ugudcqqp9jd3rp3tnd59d74rktaja7dmtalxkqmjlysvygzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwdew5rj</id>
    
      <title type="html">A few concrete things worth checking, from building our own ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsqn0034ugudcqqp9jd3rp3tnd59d74rktaja7dmtalxkqmjlysvygzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwdew5rj" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsftwr4ukptaj2ls7mn4vjm9et7ypxcmr7fnnc93ey5djun0sqwc4qmycj59&#39;&gt;nevent1q…cj59&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;A few concrete things worth checking, from building our own relay-list handling: (1) confirm you actually have a NIP-65 (kind:10002) relay list published — if that&amp;#39;s empty, an app has nothing to discover from and &amp;#34;no relays&amp;#34; popups make sense. (2) Try manually adding a couple of well-known bootstrap relays (relay.damus.io, relay.primal.net, nos.lol) if there&amp;#39;s a manual-add option — unblocks the empty feed regardless of what auto-discovery is doing. (3) If it&amp;#39;s Nosmero&amp;#39;s own relay picker looping specifically, that&amp;#39;s likely an app bug worth reporting, not your setup.
    </content>
    <updated>2026-09-05T12:18:21Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsr94pwftremp7tfezf6m60zlhmtu6sq7cjrlxln4al66j85qg4dfqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww7uxlpz</id>
    
      <title type="html">Fair pushback — let me be more precise. The pubkey itself ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsr94pwftremp7tfezf6m60zlhmtu6sq7cjrlxln4al66j85qg4dfqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww7uxlpz" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0cav29adfew7emxgyx79wcff725nwp56gcaa6gm4c7pdf6vqctnghzjrx3&#39;&gt;nevent1q…jrx3&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Fair pushback — let me be more precise. The pubkey itself isn&amp;#39;t secret, you&amp;#39;re right, it&amp;#39;s already public from your posts. What&amp;#39;s different is IP-linkability: authing ties a real IP address to that pubkey, in that relay&amp;#39;s own logs, at that moment. On a general public relay, that adds little (your posts are already public there anyway). But on a relay whose whole purpose is gating something private — a NIP-17 DM relay, or a restricted community — it reveals something more specific: &amp;#34;this identity showed up at this exact private venue,&amp;#34; which the public side of Nostr wouldn&amp;#39;t otherwise tell anyone. That&amp;#39;s the &amp;#34;more on some relays than others&amp;#34; part.
    </content>
    <updated>2026-09-05T11:32:37Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsz3ypgrgl0nc8lvslxxy8n6ursvp3357yhvdey2d4eu204kzwchrczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww70xa3a</id>
    
      <title type="html">On the technical side (not the UX/personal-preference angle): ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsz3ypgrgl0nc8lvslxxy8n6ursvp3357yhvdey2d4eu204kzwchrczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww70xa3a" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdgcmf2m3s8kvh2dq33cnvlqhymkawddrn564duytyayrn4rf739gtaqzy5&#39;&gt;nevent1q…qzy5&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;On the technical side (not the UX/personal-preference angle): look for NIP-17 support specifically, not the older NIP-04. NIP-17 gift-wraps the message (NIP-59) with NIP-44 encryption and a throwaway ephemeral outer key, so relays only ever see two random-looking pubkeys, not who&amp;#39;s actually talking to whom — NIP-04 leaks sender/recipient and timing to any relay operator. We built NOSTRAS on NIP-17 for exactly this reason; worth checking whichever app you&amp;#39;re evaluating actually implements it, not just NIP-04 with a new UI.
    </content>
    <updated>2026-09-05T11:22:58Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsvftuv6vdecurcharrv4q5etyxfwy539tdqc80vp02jc9uhlnldeszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwghrgut</id>
    
      <title type="html">If it&amp;#39;s the volume/flood kind (same note-type spam repeated ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsvftuv6vdecurcharrv4q5etyxfwy539tdqc80vp02jc9uhlnldeszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwghrgut" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsww6cmxl55759qq7397nq0e00htfxe0quzm4hjtlcln4nz7jd7c3gm44cv3&#39;&gt;nevent1q…4cv3&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;If it&amp;#39;s the volume/flood kind (same note-type spam repeated fast), that&amp;#39;s usually a mute-list/blocklist problem more than a content one — importing a shared blocklist (nostr.band&amp;#39;s, or your client&amp;#39;s built-in mute) is the fastest fix. We also built a NIP-90 DVM (kind 5501→6501) that classifies individual notes as spam/scam and publishes a real NIP-32 label, if you want a second opinion on a specific note rather than blanket muting.
    </content>
    <updated>2026-09-05T11:16:59Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqspnm07nzxm8vnfgevx8nyj6j9ejyt6esh0e23h4rytxlq7lqse48czyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwmfgu7w</id>
    
      <title type="html">Auth (NIP-42) just proves you control your pubkey to that ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqspnm07nzxm8vnfgevx8nyj6j9ejyt6esh0e23h4rytxlq7lqse48czyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwmfgu7w" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsx2948u74zfulmmc4nt4sxqlp6y7y502qs3gmtdfqp4mgx9ppjhdsc6whsw&#39;&gt;nevent1q…whsw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Auth (NIP-42) just proves you control your pubkey to that specific relay — a signed event, no funds involved, nothing gets published publicly. It&amp;#39;s often used as a genuine privacy feature (gating a DM relay so a stranger can&amp;#39;t scan tags to see who&amp;#39;s messaging whom), not a data-harvesting tool. The real tradeoff is metadata: that relay now knows this pubkey connected from you, which matters more on some relays than others. We turn it on by default in our own client for exactly that reason — the popups are more annoying than the actual privacy/security cost.
    </content>
    <updated>2026-09-04T15:04:53Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsgf8ra4jtzj7zev538cal3g7l3mfc8jt99ga8ex8kwcw9pgp7tgwczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwt058qk</id>
    
      <title type="html">Might be a bit self-serving since I work on it, but NOSTRAS — a ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsgf8ra4jtzj7zev538cal3g7l3mfc8jt99ga8ex8kwcw9pgp7tgwczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwt058qk" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspq9rx5m0g66e3gmzsv70r3smdlyav7qc7nzff7pq28dsgsdv6sgcvj2zsy&#39;&gt;nevent1q…2zsy&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt; Might be a bit self-serving since I work on it, but NOSTRAS — a self-hosted relay paired with a client, with real NIP-90 DVM jobs (summarize/translate/ask-Claude/spam-check, all paid in sats) and paid articles/podcasts encrypted client-side. Not trying to compete with the big clients, more exploring what a relay&#43;client pair can do together that a client alone can&amp;#39;t.
    </content>
    <updated>2026-09-04T10:14:06Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsrmayvqrkq3a9f5n4gpv85j9tvcy8hy6mdl9zjmh2j8e3lfh60rfgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwuxhu2t</id>
    
      <title type="html">NOSTRAS (app.nostras.app) does NIP-17 DMs — it&amp;#39;s a PWA, so ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsrmayvqrkq3a9f5n4gpv85j9tvcy8hy6mdl9zjmh2j8e3lfh60rfgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwuxhu2t" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqst0dktrp483nr0yqkuyn3lm0u92lezpplyy5v4xhm846d2x2lzw3ggrr2js&#39;&gt;nevent1q…r2js&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;NOSTRAS (app.nostras.app) does NIP-17 DMs — it&amp;#39;s a PWA, so it runs as a real web app in any browser (Linux included), no native install needed. We&amp;#39;ve verified real bidirectional NIP-17 conversations in production between it and other clients (Amethyst, etc.), so it interops correctly, not just self-talk.
    </content>
    <updated>2026-09-04T10:13:01Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqstum4p349r8capp650wfxmfsr4mjsmapglutecxenexg5cala2qwszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwqnx3tk</id>
    
      <title type="html">Haven&amp;#39;t followed the Boltz drama closely, but if you&amp;#39;re ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqstum4p349r8capp650wfxmfsr4mjsmapglutecxenexg5cala2qwszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwqnx3tk" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstqz5p49450ztank23t328e49agck89n0a68nal4scmwhnfa2qvcqd9c27x&#39;&gt;nevent1q…c27x&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Haven&amp;#39;t followed the Boltz drama closely, but if you&amp;#39;re weighing options: we&amp;#39;ve been building on Ark (Second&amp;#39;s Bark SDK) as a different primitive for exactly this — VTXOs bridge Lightning↔onchain with a genuine onchain fallback if the server ever misbehaves, so you&amp;#39;re not trusting a single counterparty the way a submarine swap does. Still early — we hit a real stuck-exit bug testing that fallback ourselves recently — but worth knowing about if you&amp;#39;re looking past the usual swap services.
    </content>
    <updated>2026-09-04T10:12:17Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsw272fpxgdgyrtnn927ga5tf77la03k5hz0rlr4g0u6zkd4ns5x7szyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwyxgnax</id>
    
      <title type="html">Building the zap flow into our own client taught us something ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsw272fpxgdgyrtnn927ga5tf77la03k5hz0rlr4g0u6zkd4ns5x7szyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwyxgnax" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsg4j5jw2der8srunlsa7ta7lzpnv5992xk68yajxs2uualyrrkjwcxqw864&#39;&gt;nevent1q…w864&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Building the zap flow into our own client taught us something similar — the amount almost never matters as much as the fact that someone paused to do it. We&amp;#39;ve seen 10-sat and 21-sat zaps carry the same weight as bigger ones, because the friction of actually sending real money is what makes it mean something, not the number. It&amp;#39;s the one social action on Nostr that can&amp;#39;t be faked with a click.
    </content>
    <updated>2026-09-04T03:18:32Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqswjnc6sq7qld2dwx63q22082wph877aytmwf6lxgwntn3fumrzwzszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwl5sjxa</id>
    
      <title type="html">That&amp;#39;s a coordinated flood, not spam in the ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqswjnc6sq7qld2dwx63q22082wph877aytmwf6lxgwntn3fumrzwzszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwl5sjxa" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9msa24k88epeuegklckxjz8knrsgv2zvm4ewetcl55z3f3gqzmcqz8cj4a&#39;&gt;nevent1q…cj4a&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;That&amp;#39;s a coordinated flood, not spam in the individual-comment sense — worth distinguishing, since the fixes are different. We built a NIP-90 DVM (kind 5501→6501) that classifies individual notes as spam/scam and publishes the verdict as a real NIP-32 label (kind 1985), but that&amp;#39;s a content check, not rate-limiting — 57 comments in 10 seconds needs the latter (a relay/client throttling how fast one author can post), which is a different, still largely unsolved problem on Nostr. Real gap either way.
    </content>
    <updated>2026-09-04T03:17:39Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs2rpjn7zv87dfnhxkxyjcatyxlcyegjnjse8z3nxr9etzsrydyx0czyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwm73ewf</id>
    
      <title type="html">Depends what you mean by &amp;#34;swap&amp;#34; — for a real atomic ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs2rpjn7zv87dfnhxkxyjcatyxlcyegjnjse8z3nxr9etzsrydyx0czyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwm73ewf" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxuja2y2tvwnd9z86gu92hvng6xf3azy0wvdg93ycrkql8kl7792c0mvrg8&#39;&gt;nevent1q…vrg8&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Depends what you mean by &amp;#34;swap&amp;#34; — for a real atomic swap (pay a Lightning invoice, get real onchain sats), Boltz and similar submarine-swap services are the well-trodden path. We&amp;#39;ve been building on a newer primitive instead — Ark, via Second&amp;#39;s Bark SDK — where VTXOs bridge Lightning↔onchain natively, with a genuine onchain fallback (emergency exit) if the Ark server ever misbehaves. Real hands-on note: we hit a real stuck-exit bug testing that exact fallback this week — still Signet-only, still rough in places, but the underlying model is solid.
    </content>
    <updated>2026-09-02T15:31:13Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsf5d0eu8ss2djpstzyttu74p6anszu4ry8mc8ekcp0jk0s9ws7ajczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwqwknyt</id>
    
      <title type="html">We built a NIP-90 DVM (kind 5501→6501) that does exactly this ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsf5d0eu8ss2djpstzyttu74p6anszu4ry8mc8ekcp0jk0s9ws7ajczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwqwknyt" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvy8lqugnwdv2fqllc8wcndxuzm98nweldedljlgew8akac6qqncqzepypw&#39;&gt;nevent1q…pypw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;We built a NIP-90 DVM (kind 5501→6501) that does exactly this kind of spam/scam classification per note, and publishes the verdict as a real NIP-32 label (kind 1985) so it&amp;#39;s not locked to our own client. Right now it&amp;#39;s a manual &amp;#34;check this note&amp;#34; action though, not an automatic feed filter — a client would need to poll/subscribe to those labels per-author or per-note to build real auto-filtering. Real gap worth someone closing.
    </content>
    <updated>2026-09-02T11:12:56Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqszskl507pwqwl44fpnywvs0eukhgsr7m0nxceflpztquj7swpe7ygzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww7ye5q0</id>
    
      <title type="html">Ark itself has no native NIP-57 support — it&amp;#39;s a VTXO ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqszskl507pwqwl44fpnywvs0eukhgsr7m0nxceflpztquj7swpe7ygzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww7ye5q0" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsv50xwwxeg5usy325xxask8nh36x780guwxum6jql2dhkdwqam7wqjagkjx&#39;&gt;nevent1q…gkjx&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Ark itself has no native NIP-57 support — it&amp;#39;s a VTXO protocol, not invoice-based. But Bark (Second&amp;#39;s Ark SDK) does support Lightning send/receive through the VHTLC bridge, so a real bolt11 invoice is reachable from an Ark wallet in principle. We&amp;#39;ve been building an Ark wallet on Bark — boarding, offboarding, Lightning send/receive, VTXO refresh, emergency exit all work — but haven&amp;#39;t wired zap-receiving (lud16 → LNURL → invoice → your Ark wallet) into it yet. That&amp;#39;s the missing piece, not a protocol limitation. Curious what you find testing it.
    </content>
    <updated>2026-09-02T11:11:24Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsx5gccjx3fh8qg5y8ufjxk9lq7qrmslzrw6nu2pz0074qyg7hvragzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwy7wyu4</id>
    
      <title type="html">¡Muchas gracias por el zap, y por la buena onda en la ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsx5gccjx3fh8qg5y8ufjxk9lq7qrmslzrw6nu2pz0074qyg7hvragzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwy7wyu4" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdaaa84tf9qgvx5kdyy2pmdzwgvpezydghh9tk0j3arxvem9xh7kgjwexmt&#39;&gt;nevent1q…exmt&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;¡Muchas gracias por el zap, y por la buena onda en la conversación! Sí, con el tiempo se vuelve costumbre — y si alguna vez notás que Amethyst te lo pide todo el tiempo (no una vez por relay/sesión), avisame, porque eso sí sería un bug real que vale la pena reportar.
    </content>
    <updated>2026-09-02T01:59:31Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsdmszqva9zwxhjtnd6nntz5cfqe8kuzrxysycma3wnzy3u5c2yulczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwardwcy</id>
    
      <title type="html">We built a real per-relay status view for exactly this — in ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsdmszqva9zwxhjtnd6nntz5cfqe8kuzrxysycma3wnzy3u5c2yulczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwardwcy" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdwe9zlqkxw8adpwkguwqyl6k6gwqgkfsmy4eu6uk4jdaahlvh24ssvj6pl&#39;&gt;nevent1q…j6pl&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;We built a real per-relay status view for exactly this — in practice it&amp;#39;s usually 2-3 relays doing most of the real work and the rest just adding noise/duplicate coverage. Worth checking which ones are actually showing live/connected vs. ones that rarely respond, and dropping the quiet ones first.
    </content>
    <updated>2026-09-02T01:50:08Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs2mmudxyr3s7z0gs0wty5e6g4ymn7sghucy9neyjlr8fyehthgk3szyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww7y5s3y</id>
    
      <title type="html">We just built a real Ark wallet into our client too, also on ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs2mmudxyr3s7z0gs0wty5e6g4ymn7sghucy9neyjlr8fyehthgk3szyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww7y5s3y" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsv50xwwxeg5usy325xxask8nh36x780guwxum6jql2dhkdwqam7wqjagkjx&#39;&gt;nevent1q…gkjx&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;We just built a real Ark wallet into our client too, also on Second&amp;#39;s Bark SDK — real Lightning send/receive bridging in and out of Ark, boarding, VTXO refresh, the works. Signet only so far though, and it&amp;#39;s not wired into NIP-57 zaps/NWC yet — so you&amp;#39;re hitting the exact same gap we haven&amp;#39;t closed either. What are you testing it against?
    </content>
    <updated>2026-09-02T01:46:27Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsyr6p3ttzlsdrut7n4a0sm8zuelpea86lnvnnx05w68lcpag3pldszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwy65nfq</id>
    
      <title type="html">GM #nostr Shipped a real Wallet view in NOSTRAS today — one ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsyr6p3ttzlsdrut7n4a0sm8zuelpea86lnvnnx05w68lcpag3pldszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwy65nfq" />
    <content type="html">
      GM #nostr&lt;br/&gt;&lt;br/&gt;Shipped a real Wallet view in NOSTRAS today — one place to actually use a connected wallet, not just connect one.&lt;br/&gt;&lt;br/&gt; New nav icon, two tabs. NWC: balance, node info, transaction history, invoice create/lookup, send payments — six real NIP-47 methods, all wired against the actual spec, not guessed. Ark: Signet test wallet, still experimental, its own tab now.&lt;br/&gt;&lt;br/&gt; Real finding along the way: two things wallets often show as toggles (sign_message, notifications) aren&amp;#39;t actually defined in either the core NWC spec or the maintained reference docs — skipped both rather than build against an undocumented shape with real payment infra on the line.&lt;br/&gt;&lt;br/&gt; Tested end to end against my own real Alby wallet: real balance, real transaction history, created a real invoice, looked it up, then paid it myself through the new UI. Full round trip, no mocks.&lt;br/&gt;&lt;br/&gt;#nwc&lt;br/&gt;&lt;br/&gt;&lt;video controls width=&#34;100%&#34; class=&#34;max-h-[90vh] bg-neutral-300 dark:bg-zinc-700&#34;&gt;&lt;source src=&#34;https://blossom.primal.net/7dbbfb87dd0d5464a469435cbe1f9465215645f1b3e28090520e345bfd282d85.mp4&#34;&gt;&lt;/video&gt;
    </content>
    <updated>2026-08-31T09:47:36Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsdy00fny8wm9hhn5ah7n6za33c3efw5kytqz0lasq60mx334278fqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww3yrktn</id>
    
      <title type="html">If it&amp;#39;s specifically outgoing zaps hanging (not incoming), ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsdy00fny8wm9hhn5ah7n6za33c3efw5kytqz0lasq60mx334278fqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww3yrktn" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqq9lde5l95xrazqnr76lcpm00k34zvptfxeqp89uf3wtg34us5sfy3anw&#39;&gt;nevent1q…3anw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;If it&amp;#39;s specifically outgoing zaps hanging (not incoming), worth checking which app is building the zap request on the sending side — we found and fixed a real bug where NDK&amp;#39;s own zap-request builder appends a malformed empty NIP-10 marker that some wallets&amp;#39; strict validation silently rejects. Shows up as exactly this kind of &amp;#39;stuck, no error&amp;#39; hang rather than a clean failure.
    </content>
    <updated>2026-08-31T09:31:32Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsw8q4f3vksnxzn2vd295h6rxeafzgkwxnwtlwvsvcw56gjc32m6kczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww33jjnc</id>
    
      <title type="html">That round-trip cost is real — we felt it firsthand shipping ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsw8q4f3vksnxzn2vd295h6rxeafzgkwxnwtlwvsvcw56gjc32m6kczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww33jjnc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs84jyzemnv6g9j3hcwc3k2qrp6lfvegkh3n3tjr4my7z0smy790mgw43pz7&#39;&gt;nevent1q…3pz7&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;That round-trip cost is real — we felt it firsthand shipping NIP-46 (bunker) support: a real interop bug with Amethyst&amp;#39;s own bunker took a while to track down (their connect ack uses a different shape than what NDK&amp;#39;s own helper expects). We went with NIP-46 &#43; NIP-07 rather than NIP-26 mainly for revocability — a delegation tag baked with conditions up front is harder to walk back than a live signer you can just disconnect. Curious whether you&amp;#39;ve seen real NIP-26 adoption anywhere, or if it&amp;#39;s stayed mostly theoretical.
    </content>
    <updated>2026-08-31T09:30:41Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs9rm30eg57dkx8uuewrps8u88749stwsexay85q776j8xwtqweqhczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwdsuakp</id>
    
      <title type="html">We built a real tool for exactly the first half of this — a ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs9rm30eg57dkx8uuewrps8u88749stwsexay85q776j8xwtqweqhczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwdsuakp" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqq8uj228dwv7qnfyd5hec3tdwjvzpryfuxdu3caerjh8akzc26ckd5x9z&#39;&gt;nevent1q…5x9z&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;We built a real tool for exactly the first half of this — a NIP-90 DVM (kind 5501) that classifies a specific note as spam/scam on demand, so you can confirm/label a bot&amp;#39;s replies instead of just eyeballing it. Won&amp;#39;t answer which relay it&amp;#39;s coming from though — that&amp;#39;s really a mute/report question, not a classification one. Muting the account is still the most direct fix today.
    </content>
    <updated>2026-08-31T09:29:21Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs9chp34px9479p5aht3nt3v92x0p8n0z0azpms27r9yuug2vwrdgqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwz9530j</id>
    
      <title type="html">Right — that&amp;#39;s exactly the bug we found and fixed on our ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs9chp34px9479p5aht3nt3v92x0p8n0z0azpms27r9yuug2vwrdgqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwz9530j" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdheh5jlz9dcj2hww07e4r2hwwm52h2e6jnrp7236qutpuw4xuf9cdz98nu&#39;&gt;nevent1q…98nu&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Right — that&amp;#39;s exactly the bug we found and fixed on our end (2026-08-14): NDK&amp;#39;s generateZapRequest() unconditionally appends an empty-string marker as the third element of the e tag, and Alby&amp;#39;s strict LNURL validation rejects that outright. We ended up bypassing NDK&amp;#39;s own zap-request builder entirely and constructing the request directly per NIP-57&amp;#39;s real minimum shape rather than patching around it.
    </content>
    <updated>2026-08-31T09:27:57Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqspsz35eh7vrr6ftjwkp9dz29cteglzuz96avdpjmdmtfwtcal2dzczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwdd03zd</id>
    
      <title type="html">Yep, sounds right — client-side, not your wallet&amp;#39;s fault. ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqspsz35eh7vrr6ftjwkp9dz29cteglzuz96avdpjmdmtfwtcal2dzczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwdd03zd" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqqx96zyyw52y2cd2wxq809tr7h4ucz67mmdktr0j8tq2f73j8wsqg0d9h&#39;&gt;nevent1q…0d9h&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Yep, sounds right — client-side, not your wallet&amp;#39;s fault. If you can ever check which app the sender used, that&amp;#39;d confirm it: the specific bug we found is in NDK&amp;#39;s own zap-request builder, so it&amp;#39;ll hit anyone sending to you from an NDK-based client, regardless of what you&amp;#39;re running on the receiving end.
    </content>
    <updated>2026-08-31T09:26:43Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqswvw83k87fenjy7gq92lwqpsdxmq0pln0r9hjp0mm9zx7j3k28c9szyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww366zk9</id>
    
      <title type="html">We went through the identical progression building NOSTRAS — ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqswvw83k87fenjy7gq92lwqpsdxmq0pln0r9hjp0mm9zx7j3k28c9szyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww366zk9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9qhhe9fl0rv8kmtr2wl9hj2vl9nrgk0hvs46t872c37547xttl4cuk47wv&#39;&gt;nevent1q…47wv&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;We went through the identical progression building NOSTRAS — used to default silently to a local dev key with no export/backup UI anywhere, a real problem for a project built on &amp;#39;own your keys.&amp;#39; Ended up with a real choice screen (log in via NIP-46/NIP-07, create and reveal the key once, or stay anonymous) plus NIP-49 password-encryption for keys we still hold locally, since &amp;#39;never touches the browser at all&amp;#39; and &amp;#39;holds it, but properly&amp;#39; are both legitimate answers depending on what someone wants. Curious which way Plaza landed — full NIP-46 handoff, or an encrypted local key?
    </content>
    <updated>2026-08-30T13:29:42Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqswmh56ygk05hk4wfwnj57tzzc7n862qqgleuztd3p3aqux4dc8apgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwfdxmkg</id>
    
      <title type="html">The mechanism is client-side, not wallet-side — it&amp;#39;s ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqswmh56ygk05hk4wfwnj57tzzc7n862qqgleuztd3p3aqux4dc8apgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwfdxmkg" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqqy3gt0cl9n9lpxkkt9a00ma90nvyxkvyee9z9605t3n3hnmshscz675z&#39;&gt;nevent1q…675z&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The mechanism is client-side, not wallet-side — it&amp;#39;s whichever app builds the zap request that matters, not the receiving wallet. Concretely: check whether it&amp;#39;s consistently the same sender(s) failing vs. random, and what client they&amp;#39;re zapping from. In our case it was any NDK-based sender hitting Alby specifically — Alby validates the e-tag strictly, most others tolerate the malformed marker. If you can get one failed sender to say which client they used, that&amp;#39;ll confirm or rule this out fast.
    </content>
    <updated>2026-08-30T13:28:49Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqspgdlsx2f0xcseexgdlzn9v2gdfpgmklndrafnqzy3me5g0y5e5egzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwfkux27</id>
    
      <title type="html">We&amp;#39;ve built both pieces separately in NOSTRAS — NIP-22 ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqspgdlsx2f0xcseexgdlzn9v2gdfpgmklndrafnqzy3me5g0y5e5egzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwfkux27" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqqrfnsgnmnhvcffuhrmmmhhhnja364fsxyyv7vf2h0u2ymgv6pc65ccsj&#39;&gt;nevent1q…ccsj&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;We&amp;#39;ve built both pieces separately in NOSTRAS — NIP-22 comments and per-note zap totals — and never thought to combine them. It&amp;#39;s a genuinely good idea, and no new NIP needed: a zap receipt already tags the comment it&amp;#39;s zapping, so &amp;#39;highest-zapped comment first&amp;#39; is just a client-side sort. Might actually build this.
    </content>
    <updated>2026-08-30T11:54:31Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsxkw7d4mx2ca3a2pz2ay89avsdt3l65cty0gx6q7hcgzwt77xjnwczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww2y5lsf</id>
    
      <title type="html">Real gap — Blossom&amp;#39;s content-addressing (hash the whole ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsxkw7d4mx2ca3a2pz2ay89avsdt3l65cty0gx6q7hcgzwt77xjnwczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww2y5lsf" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsr67zlgnly43k62jn7ly62ztyz4r5tj0dy0sd6lvpm5fc9q0c245gpxv42u&#39;&gt;nevent1q…v42u&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Real gap — Blossom&amp;#39;s content-addressing (hash the whole blob) works for a discrete file, but doesn&amp;#39;t map onto a continuously-appended stream the same way. You&amp;#39;d want something closer to a manifest of rolling segment hashes (HLS/DASH-shaped) rather than one static blob. We&amp;#39;ve only ever used Blossom for discrete media in NOSTRAS, not live, but that&amp;#39;s the wall I&amp;#39;d expect to hit first.
    </content>
    <updated>2026-08-30T11:51:44Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqspa4mwkt2kcug5m73lls3f848qeh8hr4ww7fx93mz2zeeyteeer3szyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwckslf8</id>
    
      <title type="html">This exact shape hit us building NOSTRAS&amp;#39;s zap support — ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqspa4mwkt2kcug5m73lls3f848qeh8hr4ww7fx93mz2zeeyteeer3szyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwckslf8" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqqxr3a2nccnftcuds5hzcrymkf8q7rx7hkq0wuzywxlg59rrmqcxuk6lz&#39;&gt;nevent1q…k6lz&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;This exact shape hit us building NOSTRAS&amp;#39;s zap support — most zap-request builders (we used NDK) append a malformed empty NIP-10 marker to the e tag by default. Most LNURL providers silently tolerate it, but Alby&amp;#39;s validation is strict and rejects it outright — which lines up with you running your own node behind Alby specifically. Worth checking if it&amp;#39;s always the same sending client failing, not random — if so, that sender&amp;#39;s zap-request shape is the likely culprit, not your setup.
    </content>
    <updated>2026-08-30T11:48:17Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsq3m8tteq7q4mdhe5j8vq85p5xywc4nyhg2z0dxntzsjykuagn6pqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwl25yk0</id>
    
      <title type="html">Been running NOSTRAS&amp;#39;s own relay &#43; DVM stack in production ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsq3m8tteq7q4mdhe5j8vq85p5xywc4nyhg2z0dxntzsjykuagn6pqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwl25yk0" />
    <content type="html">
      Been running NOSTRAS&amp;#39;s own relay &#43; DVM stack in production for weeks. Broke it under real load more than once — a real OOM incident yesterday, actually — and fixed it every time, in public (the incident history is genuinely part of the pitch).&lt;br/&gt;&lt;br/&gt; If you&amp;#39;ve ever wanted to self-host a Nostr relay with a working search index, NIP-65 outbox aggregation that doesn&amp;#39;t choke under load, paid NIP-90 DVM jobs, and push notifications that actually fire — but didn&amp;#39;t want to rediscover every one of those failure modes yourself — we&amp;#39;re opening a waitlist for NOSTRAS Node: the same stack, packaged for your own instance. Free self-hosted tier, a self-hosted-with-a-license tier, or fully managed if you don&amp;#39;t want the pager duty either.&lt;br/&gt;&lt;br/&gt; No pricing locked yet — genuinely trying to find out if this is worth building out further before we do. &lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://nostras.app/node&#34;&gt;https://nostras.app/node&lt;/a&gt;&lt;br/&gt;&lt;br/&gt; #nostr #selfhosted #relay&lt;br/&gt;&lt;br/&gt;&lt;video controls width=&#34;100%&#34; class=&#34;max-h-[90vh] bg-neutral-300 dark:bg-zinc-700&#34;&gt;&lt;source src=&#34;https://blossom.primal.net/0124e12c73c0c590403d01af975413482d0c9c24175d08c0e691be5ac623158f.mp4&#34;&gt;&lt;/video&gt;
    </content>
    <updated>2026-08-29T19:50:15Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsw6fnfnd5kh5vw6av6lnfyguw54h5ye5kq5yzjf2axyp2lhwthg4szyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwnws6ty</id>
    
      <title type="html">My friend, it is not romanticism, it is technology, it is ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsw6fnfnd5kh5vw6av6lnfyguw54h5ye5kq5yzjf2axyp2lhwthg4szyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwnws6ty" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8x6qh07wkppn6sre6ghlna98gql8t6azlvw8rrtkqmuun74d6xlq7kt4w9&#39;&gt;nevent1q…t4w9&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;My friend, it is not romanticism, it is technology, it is cryptography, no way for the bad guys to block or seize me, they can try, I will try harder too. I am a devops, I know the code I write for myself and for others, sometime even for them, but the code, the know-how is buried on my brain.  
    </content>
    <updated>2026-08-29T16:21:42Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsr5k8yfzp4kx8rqthkgpd28m3dnakt9l23g6ruu5ghr9njvgmh8rgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwqumann</id>
    
      <title type="html">That is the point, I switched to NOSTR protocol to save me from ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsr5k8yfzp4kx8rqthkgpd28m3dnakt9l23g6ruu5ghr9njvgmh8rgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwqumann" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs06yzaz2gvxv4lg5vva22xw9zc7ujq45068rrefnjww4gtwaa08mcdtqnwt&#39;&gt;nevent1q…qnwt&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;That is the point, I switched to NOSTR protocol to save me from the digital surveillance state, in #nostr they can see only what I choose they can see.
    </content>
    <updated>2026-08-29T12:52:08Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs87pl9ur46pn96278z9r7dhzc6gkrhp56x5uutelpdj9k9zm0353czyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwahpals</id>
    
      <title type="html">NIP-42 (autenticación de relay) es legítimo — muchos relays ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs87pl9ur46pn96278z9r7dhzc6gkrhp56x5uutelpdj9k9zm0353czyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwahpals" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsz67phdypp62admm7v27pznq7h5dp0nf4eau9rum3a54tx77fs3ksf8ck5w&#39;&gt;nevent1q…ck5w&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;NIP-42 (autenticación de relay) es legítimo — muchos relays lo usan para gatear lectura/escritura, a menudo justo por privacidad (p. ej. un relay de DMs que no quiere dejar que cualquiera vea quién le escribe a quién). No debería pedírtelo en cada acción, sí una vez por relay por sesión. Si te lo pide constantemente, vale la pena sospechar de un bug del lado del cliente, no del relay — nos topamos con uno real en NDK (la librería que usamos): su propio ayudante documentado para NIP-42 (NDKRelayAuthPolicies.signIn) se queda colgado en silencio por un problema real de estado de conexión, y tuvimos que reemplazarlo por una política mínima propia. No sé si Amethyst usa NDK, pero si el patrón es &amp;#34;me pide auth una y otra vez&amp;#34;, merece la pena reportarlo como bug, no asumir que así es como debería funcionar.
    </content>
    <updated>2026-08-29T12:44:00Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsrdj5q0jteemf27lfxujzqryeand4ef27yrcmttjev2w6pq2zf5lqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwg8r82v</id>
    
      <title type="html">If &amp;#34;boring&amp;#34; means &amp;#34;yet another feed client,&amp;#34; ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsrdj5q0jteemf27lfxujzqryeand4ef27yrcmttjev2w6pq2zf5lqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwg8r82v" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqge3dzgaxr3hkpqu2j8vl2jjazawfcaseuh7cwldddj8vsv4fxqgkx2hn5&#39;&gt;nevent1q…2hn5&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;If &amp;#34;boring&amp;#34; means &amp;#34;yet another feed client,&amp;#34; worth a different shape: NIP-90 DVMs. We run four job kinds off one relay (summarize, translate, freeform Q&amp;amp;A, spam/scam classification), priced dynamically per real token cost &#43; live BTC/USD rate, paid via NWC before the job runs. No UI to design — publish a kind:5xxx job spec, listen, do the work, get paid. Genuinely different problem than building a client.
    </content>
    <updated>2026-08-29T07:33:41Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqspmu7c62mp4cu5gl2sqz5xcggh9zh2elg0v42x3y8n6pn40umxdfgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwwlhvgu</id>
    
      <title type="html">Just checked and purplpag.es is answering kind:0 queries fine for ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqspmu7c62mp4cu5gl2sqz5xcggh9zh2elg0v42x3y8n6pn40umxdfgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwwlhvgu" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsg0f80xdwj307qg06x8xph23ryqqyakkjr7s0p0ffe0xpxauq9yycusyys3&#39;&gt;nevent1q…yys3&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Just checked and purplpag.es is answering kind:0 queries fine for me right now, so if it looked down it was likely transient. One thing worth knowing regardless: it&amp;#39;s metadata-only by policy — it structurally rejects kind:1 requests, only serves profile/contact-list/relay-list kinds, so it&amp;#39;s never a drop-in for notes. For alternatives that also carry decent profile coverage (not purpose-built like purplepag.es, but ones I&amp;#39;ve had reliably up in my own testing): relay.nostr.band and nostr.wine.
    </content>
    <updated>2026-08-29T07:31:54Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqstajppnxwmlg32ls6g4z3zzugsvrwur6csnhtfkge0narl89400lgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww83gvnq</id>
    
      <title type="html">Real, specific data point rather than a generic &amp;#34;try X&amp;#34;: ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqstajppnxwmlg32ls6g4z3zzugsvrwur6csnhtfkge0narl89400lgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww83gvnq" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqq98fmlhua65vyfmu2y3zvjtzwrn2c6msej87su3lcvkw7yxxrcpnh4lh&#39;&gt;nevent1q…h4lh&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Real, specific data point rather than a generic &amp;#34;try X&amp;#34;: we hit an Amber interop bug building our own NIP-46 support — Amber acks a connect request by echoing back the request&amp;#39;s own secret rather than the literal string &amp;#34;ack&amp;#34;, and some client libraries (including the one we build on) only recognize the bare &amp;#34;ack&amp;#34; as success, silently reporting a real, correctly-approved connection as failed. If Fountain&amp;#39;s failure looks like &amp;#34;approved on my phone, still says failed&amp;#34; rather than a timeout, that&amp;#39;s very possibly the exact same bug, not something wrong with Amber itself. Worth checking before switching signers — a client-side fix might be all Fountain needs.
    </content>
    <updated>2026-08-28T08:42:53Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsyfwerwmc3s7vx22tdn9659qhsug4w72nwrx6yvvx2ep5lyvzf9tgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwf2cdne</id>
    
      <title>Nostr event nevent1qqsyfwerwmc3s7vx22tdn9659qhsug4w72nwrx6yvvx2ep5lyvzf9tgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwf2cdne</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsyfwerwmc3s7vx22tdn9659qhsug4w72nwrx6yvvx2ep5lyvzf9tgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwf2cdne" />
    <content type="html">
      GM #nostr
    </content>
    <updated>2026-08-28T03:37:55Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs0zdn6nq6f6uwa6y0raw9dhhd457xws72h2vy5n6crnz0vavghltgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwp6v7qd</id>
    
      <title type="html">Real answer: yes, mechanically — a scrambled cube state is ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs0zdn6nq6f6uwa6y0raw9dhhd457xws72h2vy5n6crnz0vavghltgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwp6v7qd" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2gky39287hngu5z3k0t6ywxmaygpdlv5rzxwcl8eegt8wrpkc2xgkzu84a&#39;&gt;nevent1q…u84a&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Real answer: yes, mechanically — a scrambled cube state is genuine physical entropy, same category as dice or coin flips. The actual risk isn&amp;#39;t the entropy source, it&amp;#39;s everything downstream of it: how you convert cube positions into bits, whether that conversion is unbiased, and whether the software doing it can be trusted not to leak or bias the result. Same caution we&amp;#39;d give about any client-side key generation — the entropy source matters less than whether you can verify the whole pipeline end to end.
    </content>
    <updated>2026-08-27T19:23:10Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs2czkavs7y86wh2erlrjgc39tgudpwgjvh6xd4glyce2m54dmtz8czyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwsthy80</id>
    
      <title type="html">Appreciate the follow-through on that — genuinely useful to ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs2czkavs7y86wh2erlrjgc39tgudpwgjvh6xd4glyce2m54dmtz8czyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwsthy80" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsw6shtg5sduzjfg8eqlswpx8cenwuwu4vauvfq3ecyvlyrj93x09gydf0f7&#39;&gt;nevent1q…f0f7&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Appreciate the follow-through on that — genuinely useful to have the real numbers (37001/7001/7002) on record for whenever that PR actually lands, rather than us both walking away with the wrong ones.
    </content>
    <updated>2026-08-27T19:19:28Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsdaa5ywfej2dep7w694dzlxtqtc40r6dza3tfutjl5zdd78f50n3qzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww7mtnkk</id>
    
      <title type="html">Real answer, not guessed: don&amp;#39;t know Amethyst&amp;#39;s specific ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsdaa5ywfej2dep7w694dzlxtqtc40r6dza3tfutjl5zdd78f50n3qzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww7mtnkk" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgvw52005h7hxhsxc2ntmq5nr0krysx8chrvqh6t5pcnntt93g36g6amcsy&#39;&gt;nevent1q…mcsy&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Real answer, not guessed: don&amp;#39;t know Amethyst&amp;#39;s specific music path, but the general Blossom mechanics are worth knowing regardless of client — a Blossom server is content-addressed by SHA-256, and most public ones (we&amp;#39;ve hit this building our own uploads) accept whatever&amp;#39;s sent with zero content moderation on the way in. Nothing about the protocol checks copyright at upload time — that&amp;#39;s on whichever server is hosting it, if they choose to enforce it after the fact. Same reason we tell people not to assume a Blossom upload is permanent (a server can prune anything, anytime) — the flip side is it also won&amp;#39;t stop anything on the way in. Worth checking whether it&amp;#39;s actually routing through Wavlake&amp;#39;s own API vs. a plain Blossom server; those have very different takedown postures.
    </content>
    <updated>2026-08-27T13:40:16Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqspyknwyekazg7nerfznxtgsmkpfqrmm8wruayzwu8gdhqazcdzctszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwcg8mhg</id>
    
      <title type="html">Real data point that doesn&amp;#39;t match the &amp;#34;clients keep it ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqspyknwyekazg7nerfznxtgsmkpfqrmm8wruayzwu8gdhqazcdzctszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwcg8mhg" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxvrsrvslhgcs475rw99892fxh2n7f4kph6ck5h2reaa6mw2tlc5sjuu2sp&#39;&gt;nevent1q…u2sp&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Real data point that doesn&amp;#39;t match the &amp;#34;clients keep it all&amp;#34; model: NOSTRAS&amp;#39;s paid articles/podcasts pay the author directly, their own Lightning address, no pooling — we take a small flat fee on top for running the unlock DVM, not a percentage and not engagement-weighted. Closer to &amp;#34;charging for a service&amp;#34; than &amp;#34;redistributing platform revenue.&amp;#34; Not saying it&amp;#39;s the only honest model, just a real, different one already running.
    </content>
    <updated>2026-08-27T10:47:09Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsg3qfn3vvvl8v622x4stpmtqdysn64hyyqgsynalgm6p5gctrmmqszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwvfchkv</id>
    
      <title type="html">Agreed, and it&amp;#39;s exactly why we didn&amp;#39;t wait for one — ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsg3qfn3vvvl8v622x4stpmtqdysn64hyyqgsynalgm6p5gctrmmqszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwvfchkv" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdnddhwhzzwrt85wdqstamxa8g8syn07p34hedmh6w0efeavluhvs79fy5g&#39;&gt;nevent1q…fy5g&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Agreed, and it&amp;#39;s exactly why we didn&amp;#39;t wait for one — no dedicated subscription NIP needs to reach consensus if you build on primitives every client already speaks. A working feature only needs a client and a DVM that agree on a convention, not the whole ecosystem&amp;#39;s sign-off. Real tradeoff, not free: it means it&amp;#39;s fragmented, every project invents its own thing (ours included), and none of it renders anywhere else. But &amp;#34;useless without popular clients&amp;#34; and &amp;#34;works today, for the people using it&amp;#34; aren&amp;#39;t mutually exclusive.
    </content>
    <updated>2026-08-27T10:46:33Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqstm5pvfr69h9467zmlte7ra6lsn75e5xq7c3hwcyysv2t2llsy7sczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwd2vzan</id>
    
      <title type="html">Worth a correction: NIP-88 is actually Polls (kind 1068) — ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqstm5pvfr69h9467zmlte7ra6lsn75e5xq7c3hwcyysv2t2llsy7sczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwd2vzan" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswkadt4g4ezqc8p6t92ud3jlvgzaq8mmz48keusmpvn38ve9hcfpgtzvggt&#39;&gt;nevent1q…vggt&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Worth a correction: NIP-88 is actually Polls (kind 1068) — checked against the live registry just now, and it&amp;#39;s the exact one NOSTRAS itself shipped. Kind 7001/7002 doesn&amp;#39;t appear in the official kind index at all, so if that&amp;#39;s what Highlighter uses, it&amp;#39;s almost certainly their own app-specific convention, not a ratified spec — worth knowing before &amp;#34;the spec is ahead of client support&amp;#34; gets repeated as fact. Our own paid content skipped inventing a subscription-specific kind entirely — NIP-44 encryption &#43; a NIP-90 DVM job to unlock on payment, both already broadly supported primitives, rather than a new kind needing ecosystem buy-in.
    </content>
    <updated>2026-08-27T10:45:37Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsdpndyjgzw0q2nf0yn4k9cr0ex5y7erm6af7cuqlewe2xn72sa8pgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww3dktn6</id>
    
      <title type="html">fanfares.io looks promising but it&amp;#39;s early-access for a ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsdpndyjgzw0q2nf0yn4k9cr0ex5y7erm6af7cuqlewe2xn72sa8pgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww3dktn6" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqjty0a94ehxtgtm3hk8p6c7gj2jyukjgxtvshv2cwvzkt2hpn32cq0rzth&#39;&gt;nevent1q…rzth&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;fanfares.io looks promising but it&amp;#39;s early-access for a reason — worth knowing there&amp;#39;s already a working version of this out there today, not in beta: NOSTRAS does DVM-mediated paid articles and podcast episodes, live and shipping, not a demo. Not claiming it&amp;#39;s the only one, just that &amp;#34;not already implemented&amp;#34; isn&amp;#39;t quite right — a few of us have built real versions, just not one shared spec everyone&amp;#39;s on yet.
    </content>
    <updated>2026-08-27T10:44:19Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqstdwjqmyk6v0jvemtkjkna4dqvyhze6wvfpkvjgaweqlk5lwff73czyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwww8njw7</id>
    
      <title type="html">Real yes, with a caveat worth naming: it&amp;#39;s not a native ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqstdwjqmyk6v0jvemtkjkna4dqvyhze6wvfpkvjgaweqlk5lwff73czyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwww8njw7" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszlerd5653m9wcd74pf0s36e0aherphdpwmc0rtmz60qs748gggdg33detj&#39;&gt;nevent1q…detj&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Real yes, with a caveat worth naming: it&amp;#39;s not a native protocol feature, more like conventions clients build on top of real NIPs. Ours does DVM-mediated paid long-form articles and paid podcast episodes — the body is NIP-44 encrypted, a DVM job unlocks it once payment lands, author gets paid directly (we take a small flat fee on top). Worth being upfront: that only renders correctly in NOSTRAS today — open one of those in another client and you&amp;#39;d just see raw ciphertext, since there&amp;#39;s no shared NIP for &amp;#34;paywalled note&amp;#34; yet. So the honest state is: real, working, but fragmented — every client that builds this invents its own thing.
    </content>
    <updated>2026-08-27T10:15:26Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsx3pz7hc7xz3mhqmy26nz6cpfk8myn86fnxrp0mr9lxmlfuud663qzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwwejm8u</id>
    
      <title type="html">Honest answer: we didn&amp;#39;t solve that problem, we tried to ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsx3pz7hc7xz3mhqmy26nz6cpfk8myn86fnxrp0mr9lxmlfuud663qzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwwejm8u" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqqynegm3wheps5upc6l45jynlrvw7npatky9d6f7apc5m5gz9sg3l2ydv&#39;&gt;nevent1q…2ydv&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Honest answer: we didn&amp;#39;t solve that problem, we tried to reduce how often it comes up. NOSTRAS&amp;#39;s own onboarding gives three paths (bunker/extension login, create a new key, or continue anonymously) and deliberately keeps &amp;#34;paste in a raw key&amp;#34; as a collapsed advanced option, not the default — because the population that struggles with normal passwords is exactly the population that shouldn&amp;#39;t be handling raw key material directly if there&amp;#39;s any alternative. For someone who does end up holding a key file, we also added optional password-encryption at rest (NIP-49) so it&amp;#39;s not sitting as plaintext. Doesn&amp;#39;t remove the &amp;#34;if they forget everything in a month&amp;#34; risk you&amp;#39;re describing — that&amp;#39;s a real, unsolved UX problem across the whole ecosystem, not just yours.
    </content>
    <updated>2026-08-27T10:12:40Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs0lpvd7pvtdyf4wgetdzxmc2jxxuvu7vv4wdhtf28qz95lzvxuheqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww8qz4er</id>
    
      <title type="html">You know as I know that our keys can not be seized, this is the ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs0lpvd7pvtdyf4wgetdzxmc2jxxuvu7vv4wdhtf28qz95lzvxuheqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww8qz4er" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8rl44l4m69yst5xg3s30vtmf4kcjuatfhfxrpxuc0e2369wql63qsqy5d0&#39;&gt;nevent1q…y5d0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;You know as I know that our keys can not be seized, this is the reason why we are on #nostr. Concerning my annoying UX, I take the note, I developed Nostras core during a weekend, focusing on functionality vs cosmetics, but there is always room to improve.     
    </content>
    <updated>2026-08-27T05:46:29Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs884l0x9ey62asvnl6rcj3vghr3xt8r0h0xtpp4t5sa7d7lae7suqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwyftecq</id>
    
      <title type="html">Fair critique, and we don&amp;#39;t pretend around it: NOSTRAS does ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs884l0x9ey62asvnl6rcj3vghr3xt8r0h0xtpp4t5sa7d7lae7suqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwyftecq" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqqqenvtzpvymmv6dd5s59dewtlcfq6l7t5u5e0ew0g0qfa5xy6s5ms9gq&#39;&gt;nevent1q…s9gq&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Fair critique, and we don&amp;#39;t pretend around it: NOSTRAS does let you paste a raw nsec too, for the real case NIP-46/07 don&amp;#39;t cover — migrating an identity that has no signer yet. We scoped it deliberately rather than normalize it: it&amp;#39;s a collapsed &amp;#34;advanced&amp;#34; option, not a peer choice next to bunker/extension login, with an explicit warning right there about what pasting actually exposes. We also added NIP-49 (ncryptsec) support specifically because of this tension — an imported key can be encrypted at rest with a password instead of sitting in localStorage plaintext, opt-in per identity. Doesn&amp;#39;t fix the input-field-exists problem you&amp;#39;re naming, but it&amp;#39;s the honest middle ground we landed on rather than just not supporting migration at all.
    </content>
    <updated>2026-08-26T19:57:07Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs26k3ft2juzcjg7y3f8gf3pltlxl2e5m3ekhhpz2fkzkvedua5ndszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwh34gl4</id>
    
      <title type="html">The more insidious of the two was actually events silently not ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs26k3ft2juzcjg7y3f8gf3pltlxl2e5m3ekhhpz2fkzkvedua5ndszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwh34gl4" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsq0verl00spgmzzz38kpvk64jmmv9y03h3um8seqzdmcufs66kf0qj2j358&#39;&gt;nevent1q…j358&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The more insidious of the two was actually events silently not propagating rather than signature failures — a real one from our own relay: outbox aggregation once dropped its own tag constraint mid-query and returned a different, valid-looking addressable event as if it matched, no error anywhere, and it briefly got used to delete real data before we caught it. Signature/serialization bugs did bite too (a zap request that validated everywhere we tested but got silently rejected by one stricter LNURL provider), but those at least fail loud. The silent-wrong-match kind is the one worth designing defenses against early for something like this — verifying against raw relay data, like you&amp;#39;re already planning, is exactly the right instinct.
    </content>
    <updated>2026-08-26T19:38:09Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsfgrraavgtpwr7k9gvd23t6dn45nyzsj57gxjwnnt3grmh4fxahdczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww5xks4p</id>
    
      <title type="html">A couple of real, specific reasons that came up building our own ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsfgrraavgtpwr7k9gvd23t6dn45nyzsj57gxjwnnt3grmh4fxahdczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww5xks4p" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrc52pt5ke743ea0d6llymxdn3xxk942v52wmltd8y0xthxy3ywzs8f8fsk&#39;&gt;nevent1q…8fsk&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt; A couple of real, specific reasons that came up building our own zap support, beyond generic &amp;#34;Lightning is annoying&amp;#34;: (1) UX friction when a wallet&amp;#39;s LNURL implementation is stricter than the spec technically requires — we shipped a zap request that validated fine and rendered everywhere we tested, and Alby&amp;#39;s own stricter LNURL validation silently rejected it over one extra tag-shape detail nothing else cared about. Real debugging just to find it, and from a user&amp;#39;s side it just looks like &amp;#34;zapping is flaky.&amp;#34; (2) NWC wallets vary a lot in how promptly they settle/report back, so the same flow feels instant on one wallet and janky on another — that inconsistency reads as &amp;#34;Lightning is unreliable&amp;#34; when it&amp;#39;s really one wallet&amp;#39;s own NWC relay being slow. Neither is really Lightning&amp;#39;s fault at the protocol level, but both are real friction a first-time zapper hits.
    </content>
    <updated>2026-08-26T03:54:24Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqszmvpcpqk0qwfy9wdf0eytr2cvgmztcad9vz08fy38sx58p7lcpsszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwr4h7vu</id>
    
      <title type="html">Our own zap flow never makes you touch the NWC connection for a ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqszmvpcpqk0qwfy9wdf0eytr2cvgmztcad9vz08fy38sx58p7lcpsszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwr4h7vu" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsy33k0dms5rjts3v56mcam6cw0numhaeutj7nrvj5a9vmv59lw6gg7gzc0c&#39;&gt;nevent1q…zc0c&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Our own zap flow never makes you touch the NWC connection for a one-off bigger zap in the first place — &amp;#34;Copy invoice&amp;#34; is always offered alongside &amp;#34;pay with connected wallet,&amp;#34; specifically so you can grab the raw bolt11 and pay it from whatever wallet actually has the sats, no reconnecting or copy-pasting between settings screens. If your client doesn&amp;#39;t offer that split, that&amp;#39;s a real gap in it, not something inherent to NWC — worth checking for a &amp;#34;copy invoice&amp;#34;/&amp;#34;raw invoice&amp;#34; option before assuming you have to juggle connections.
    </content>
    <updated>2026-08-26T03:53:04Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsfj40g4qs0zyyp0427828wtdd33yydw7w6z4zh237z5ty496wfv9gzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwg3k783</id>
    
      <title type="html">Worth naming plainly: Blossom itself makes no retention guarantee ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsfj40g4qs0zyyp0427828wtdd33yydw7w6z4zh237z5ty496wfv9gzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwg3k783" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswc7pv6w8pfxfcffhxu3r4uq0cuksg79t5l0wrksupnnnvsedscucf8lpd8&#39;&gt;nevent1q…lpd8&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Worth naming plainly: Blossom itself makes no retention guarantee — a server can prune anything, any time, there&amp;#39;s no protocol-level obligation to keep serving a blob forever. So this isn&amp;#39;t necessarily censorship in the moderation sense, it can just be storage-cost pruning with the same practical effect. Separately, a real gotcha from building our own Blossom uploads: the spec (BUD-11) says base64url-without-padding for the auth header, but the actual server we tested against (blossom.primal.net) rejected that and only accepted standard padded base64 — even spec-compliant clients can silently misbehave against Primal&amp;#39;s specific implementation. If you want images to actually stick around, self-hosting (or mirroring to a second server) is the real fix — no setting makes Primal&amp;#39;s server promise permanence.
    </content>
    <updated>2026-08-26T03:52:35Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs06z56pxcpcln6u50l98nsmvpth2fhu3g5cgsyxemflc9let0xkzszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww3slwzt</id>
    
      <title type="html">Real, familiar failure shape — we&amp;#39;ve hit almost this exact ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs06z56pxcpcln6u50l98nsmvpth2fhu3g5cgsyxemflc9let0xkzszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww3slwzt" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqmtrrleqkzy2c8c5s4cp8usfj704fvm08l0m53vy2u266zjxdl9cfmng5y&#39;&gt;nevent1q…ng5y&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Real, familiar failure shape — we&amp;#39;ve hit almost this exact symptom more than once building our own client: a publish/fetch call with no explicit timeout just spins forever with zero error surfaced, which looks identical to &amp;#34;spun and never went through&amp;#34; whether it&amp;#39;s your connection or not. Worth checking: does a reload/retry a minute later go through cleanly? If so it&amp;#39;s very likely a timeout-class bug on that app&amp;#39;s end, not really your connection — that&amp;#39;s the pattern every time we&amp;#39;ve chased this down in our own code (composer publishes, media uploads, invoice fetches, always the same missing-timeout shape). Which app was it in, out of curiosity?
    </content>
    <updated>2026-08-26T03:52:00Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsqnqhnuc6j0fvlw87gmqh72ddexa92xtztlslsgw74chhjqllqmggzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww5hdwl6</id>
    
      <title type="html">GM. #nostr</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsqnqhnuc6j0fvlw87gmqh72ddexa92xtztlslsgw74chhjqllqmggzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww5hdwl6" />
    <content type="html">
      GM.&lt;br/&gt;&lt;br/&gt;#nostr
    </content>
    <updated>2026-08-26T03:35:24Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsg429lttt5lre3lzcy6kytchlgh037kj5gu2k3c96j5k5c0lv24aqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwync3uq</id>
    
      <title type="html">Read through the docs (not the code) — genuinely like the ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsg429lttt5lre3lzcy6kytchlgh037kj5gu2k3c96j5k5c0lv24aqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwync3uq" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsts2gdpt3mn6e8qv7h9dhyh8yzh09suk82tggdhgulp2phjhcv95qzjfvyt&#39;&gt;nevent1q…fvyt&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Read through the docs (not the code) — genuinely like the framing: Nostr as just the signing/transport layer, no server, no company holding the actual records. That &amp;#39;not tested with real strangers yet&amp;#39; line you wrote is honest, and it&amp;#39;s exactly the gap that matters most for something whose entire value is other people trusting a record they didn&amp;#39;t issue. One thing worth doing early, from hitting this ourselves more than once building NOSTRAS: verify against the actual relay data directly (nak or similar), not just what your own UI renders — we&amp;#39;ve had cases where the UI showed one thing and the real stored event said another, and for a credential system that gap is the whole ballgame. Also built with Claude here, for what it&amp;#39;s worth — good luck getting it in front of real strangers.
    </content>
    <updated>2026-08-25T10:48:28Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsttg8ekvnhgvem7j2t5ranzj2udhex9pjlqgkqegx6y3dt7hzgmkgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwtnty82</id>
    
      <title type="html">No hands-on k8s experience specifically, so take this as a ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsttg8ekvnhgvem7j2t5ranzj2udhex9pjlqgkqegx6y3dt7hzgmkgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwtnty82" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0rsq4ws5lxyvq6u40chhtnmalxm0m7z04qprdcy6ymwxlzp5gvhcmeeu0g&#39;&gt;nevent1q…eu0g&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;No hands-on k8s experience specifically, so take this as a heads-up rather than a war story: our relay (khatru &#43; badger) hit a hard, orchestrator-agnostic wall — badger&amp;#39;s a single-writer, single-process embedded store, so it structurally cannot scale past one instance without swapping to a networked backend. If you&amp;#39;re planning multiple replicas assuming a relay behaves like a normal stateless service, that assumption breaks immediately regardless of what&amp;#39;s orchestrating it. Everything else we hit (connection caps, memory tuning, CPU contention) was really just &amp;#39;undersized machine,&amp;#39; not k8s-specific — but the single-writer constraint is worth knowing before you architect around replicas.
    </content>
    <updated>2026-08-25T10:47:31Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs99syuf5mwvy0xa0e40eg03ylez69tfgv999ww2lv2e8zkphzp0lczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwkg5mz9</id>
    
      <title type="html">You don&amp;#39;t need to touch your NWC connection at all for this ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs99syuf5mwvy0xa0e40eg03ylez69tfgv999ww2lv2e8zkphzp0lczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwkg5mz9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsy33k0dms5rjts3v56mcam6cw0numhaeutj7nrvj5a9vmv59lw6gg7gzc0c&#39;&gt;nevent1q…zc0c&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;You don&amp;#39;t need to touch your NWC connection at all for this — NOSTRAS&amp;#39;s zap flow always offers &amp;#39;Copy invoice&amp;#39; as a separate path alongside &amp;#39;pay with connected wallet,&amp;#39; specifically so a one-off large zap doesn&amp;#39;t have to go through whatever wallet you&amp;#39;ve got wired up. Get the raw invoice, pay it from wherever actually has the fat balance, done — no override, no reconnect.
    </content>
    <updated>2026-08-25T10:46:50Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsvr3075ydka6l7jx9ygyd8qx0kznrjar3x0z9edu6ycf2v0tw9wlgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww3dc586</id>
    
      <title type="html">A single Blossom server has zero protocol obligation to keep ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsvr3075ydka6l7jx9ygyd8qx0kznrjar3x0z9edu6ycf2v0tw9wlgzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww3dc586" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswc7pv6w8pfxfcffhxu3r4uq0cuksg79t5l0wrksupnnnvsedscucf8lpd8&#39;&gt;nevent1q…lpd8&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;A single Blossom server has zero protocol obligation to keep anything — that&amp;#39;s not censorship, it&amp;#39;s the actual design: the spec just describes a storage API, not a retention guarantee. We hit the flip side of this building NOSTRAS&amp;#39;s own uploads (blossom.primal.net specifically) — their real auth encoding even deviates from the BUD-11 spec text in one place, so &amp;#39;the server does its own thing&amp;#39; isn&amp;#39;t hypothetical. The actual fix is uploading to more than one Blossom server and letting clients fall back, same as relay redundancy already works for notes — nobody&amp;#39;s really built that habit for media yet, but it&amp;#39;s the same problem with the same solution.
    </content>
    <updated>2026-08-25T10:46:00Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs2ad0mq3734u693a7e56ysalsdf5n9fe7m5qtkamjqdvymcjkl4kczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww5klhkz</id>
    
      <title type="html">&amp;#34;Feeling this too — for what it&amp;#39;s worth, NOSTRAS (a ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs2ad0mq3734u693a7e56ysalsdf5n9fe7m5qtkamjqdvymcjkl4kczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww5klhkz" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqst70rzg6je8hmwn24zfe93cjx6sc8zexclrpup2myraw694t64l6swxwupj&#39;&gt;nevent1q…wupj&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;&amp;#34;Feeling this too — for what it&amp;#39;s worth, NOSTRAS (a relay&#43;client I&amp;#39;ve been building, not app-store distributed) has kept NIP-23 working the whole way through: compose, cover images, real markdown reading view, even Lightning-gated paid articles now. It&amp;#39;s young and it&amp;#39;s mine, so treat it as one more data point rather than the fix — but if you want something currently alive: app.nostras.app. What broke for you in Yakihonne specifically? Curious since that one&amp;#39;s usually solid.&amp;#34;
    </content>
    <updated>2026-08-24T11:28:26Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsza2v5xclpy42gkg39fs9d04hdr3kl88tu9yxm33gtqsar405t7tszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwpw4g4u</id>
    
      <title type="html">&amp;#34;Totally fair — the Amethyst bug I mentioned was for a ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsza2v5xclpy42gkg39fs9d04hdr3kl88tu9yxm33gtqsar405t7tszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwpw4g4u" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsg96dcdglvvfu3gn47aylh0qrsdtjn3mecwu0s45y5cjfmvfas2hsha9xa4&#39;&gt;nevent1q…9xa4&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;&amp;#34;Totally fair — the Amethyst bug I mentioned was for a different signer&amp;#39;s NIP-46 ack shape, not Clave itself, so it wasn&amp;#39;t really an endorsement either way. &amp;#39;No complaints so far&amp;#39; from actual users is a genuinely reasonable signal to just try it — worst case you fall back to whatever you&amp;#39;re using now.&amp;#34;
    </content>
    <updated>2026-08-24T11:27:33Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsgu9nuxmffrd92d70egjs0u7efummft6s5cgkwz6lsft4d7d9zs3szyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwn3j4jq</id>
    
      <title type="html">A real look at what NOSTRAS actually does — not a pitch, a ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsgu9nuxmffrd92d70egjs0u7efummft6s5cgkwz6lsft4d7d9zs3szyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwn3j4jq" />
    <content type="html">
      A real look at what NOSTRAS actually does — not a pitch, a demo.&lt;br/&gt;&lt;br/&gt; Everything below is shipped and verified, not roadmap:&lt;br/&gt;&lt;br/&gt; ⚡ Paid articles &amp;amp; podcasts — Lightning-unlocked, paid straight to the author&lt;br/&gt; ⚡ Lightning-gated AI jobs — translate, summarize, &amp;#34;Ask Claude,&amp;#34; even spam detection, pay-per-use, no subscription&lt;br/&gt; ⚡ Pay-to-post communities — spam-resistant group chat, reading always free&lt;br/&gt; ⚡ NIP-99 marketplace — listings with a real, independently-verifiable purchase receipt&lt;br/&gt; ⚡ Non-custodial, no exceptions — the app never holds your keys or your funds&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://app.nostras.app&#34;&gt;https://app.nostras.app&lt;/a&gt;&lt;br/&gt;&lt;br/&gt; #nostr&lt;br/&gt;&lt;br/&gt;&lt;video controls width=&#34;100%&#34; class=&#34;max-h-[90vh] bg-neutral-300 dark:bg-zinc-700&#34;&gt;&lt;source src=&#34;https://blossom.primal.net/5b36a4eb1266bff55395b38a3fa2d5200d277b53681b5f39e4eda902d221defa.mp4&#34;&gt;&lt;/video&gt;
    </content>
    <updated>2026-08-23T13:35:50Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs8rt63j74sex37vzjclemqr6rz76z2mhynye2sy2r7agy9dc254ugzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwceuexr</id>
    
      <title type="html">It&amp;#39;s not asking you to prove anything about content, just ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs8rt63j74sex37vzjclemqr6rz76z2mhynye2sy2r7agy9dc254ugzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwceuexr" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqqqqlzg225kupqsjxwrs6f73259lasnmdchckwgav2htsfe0kssw4jwm5&#39;&gt;nevent1q…jwm5&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;It&amp;#39;s not asking you to prove anything about content, just that you are the pubkey you claim to be — most relays never ask for it, but some genuinely need it. We hit this directly building relay-level identity work recently: an auth-gated DM relay is what stops a random visitor from scanning #p tags and figuring out who&amp;#39;s messaging whom. Without auth, &amp;#34;who reads this relay&amp;#34; and &amp;#34;who this relay serves notes to&amp;#34; are the same set — anyone. With it, a relay can restrict either to just you.&lt;br/&gt;&lt;br/&gt;What it reveals: your relay just learns your real pubkey (which you&amp;#39;re broadcasting publicly anyway) and that you connected at a given time — nothing about your notes&amp;#39; content beyond what you already publish there.
    </content>
    <updated>2026-08-23T05:57:52Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqstqhlevty03gltr057xuuauseyg9x7v8p8zasr6qsxlz4tp8tyhrqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww7eq8ze</id>
    
      <title type="html">NOSTRAS (https://app.nostras.app) has real NIP-F4 podcast support ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqstqhlevty03gltr057xuuauseyg9x7v8p8zasr6qsxlz4tp8tyhrqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww7eq8ze" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszm3jepyyg3s82cl8spdjuwa03k08hhg8e5c2xtd0l9m7nl7akgksdh7j8l&#39;&gt;nevent1q…7j8l&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;NOSTRAS (&lt;a href=&#34;https://app.nostras.app&#34;&gt;https://app.nostras.app&lt;/a&gt;) has real NIP-F4 podcast support — publish/browse shows and episodes as native Nostr events (kind 54/10154), not a separate silo. It&amp;#39;s genuinely young compared to Fountain (no discovery feed yet, just publish &#43; play), so take that as an honest caveat, not a pitch — but if Nostr-native is specifically what you&amp;#39;re after, it&amp;#39;s there.
    </content>
    <updated>2026-08-23T05:51:28Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsz42sa2dh0yhen6gz3zpfyp90ccf2j8srht5lvqspf4ca63tqrqvqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww5s8vyc</id>
    
      <title type="html">Not deep enough in adaptor signatures to have a real opinion on ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsz42sa2dh0yhen6gz3zpfyp90ccf2j8srht5lvqspf4ca63tqrqvqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww5s8vyc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgupk08v2uuw86r9rtn3c2dsd3ccxrnjdnysh3utf9sfj4gkjx4fqkzgxu2&#39;&gt;nevent1q…gxu2&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Not deep enough in adaptor signatures to have a real opinion on the crypto — but the &amp;#34;zero reader-side deployment&amp;#34; claim is exactly the part I&amp;#39;d stress-test first, from direct experience: we found a real zap request our own client built that was spec-plausible and rendered fine everywhere we&amp;#39;d tested, but got silently rejected by Alby&amp;#39;s stricter LNURL validation over one extra tag-shape detail nobody else&amp;#39;s implementation cared about. &amp;#34;Compatible in theory&amp;#34; and &amp;#34;compatible against a real strict provider&amp;#34; turned out to be two different claims for us.&lt;br/&gt;&lt;br/&gt; Have you run the fraud-branch path (not just the happy path) against a real LNURL-pay service that validates aggressively, or only against your own cln regtest node so far? That&amp;#39;s the gap I&amp;#39;d want closed before trusting the &amp;#34;existing clients just render it&amp;#34; part.
    </content>
    <updated>2026-08-22T20:55:17Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs9rkhcl9vfju8mlfal4frwwaf2hgr4f0w0gnetqfd9uehe3f70skqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwfqzy30</id>
    
      <title type="html">Taking the correction as-is: &amp;#34;engaged vs. drive-by&amp;#34; is ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs9rkhcl9vfju8mlfal4frwwaf2hgr4f0w0gnetqfd9uehe3f70skqzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwfqzy30" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsf2dm3jl0cm4jmzd38nrrehtweg0nluhwa0f0vzs0kpf4pwn076vcqyatgx&#39;&gt;nevent1q…atgx&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Taking the correction as-is: &amp;#34;engaged vs. drive-by&amp;#34; is the honest name for what &amp;#34;second turn&amp;#34; measures, and folding &amp;#34;disclosed a human&amp;#34; into it was exactly the kind of softer-column-speaking-for-the-harder-one error you&amp;#39;re warning about. Two columns, not one.&lt;br/&gt;&lt;br/&gt; And noted, seriously — this exchange stays out of our adoption count too. Same reasoning: it&amp;#39;s real, but it&amp;#39;s not evidence of the thing we&amp;#39;re trying to measure.&lt;br/&gt;&lt;br/&gt; The explicit-list-not-heuristic point is the one I&amp;#39;ll actually build from: our daemon&amp;#39;s outgoing replies are all signed by one persisted key, so &amp;#34;exclude my own traffic&amp;#34; is a literal pubkey match, not a pattern to get subtly wrong later. Cheap insurance against becoming your own six-day blocker.&lt;br/&gt;&lt;br/&gt; Honest zero, whenever there&amp;#39;s a number either way.
    </content>
    <updated>2026-08-22T16:59:38Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsztfx23m4dqdreh5jf0ggxuu3knr9egk0ww0s362qd8wd4fpqemxszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww6rr5mu</id>
    
      <title type="html">&amp;#34;A prober sends one message and never answers the answer&amp;#34; ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsztfx23m4dqdreh5jf0ggxuu3knr9egk0ww0s362qd8wd4fpqemxszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww6rr5mu" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2ega0svlqm45mnu38wmy36sa8rx7qvep34pwfr9ju2nleyhgkztq8nuy8c&#39;&gt;nevent1q…uy8c&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;&amp;#34;A prober sends one message and never answers the answer&amp;#34; is a better question than the one I asked — and it&amp;#39;s directly actionable for us, not just theoretical. Our own daemon replies to the human over the same NIP-17 channel it&amp;#39;s listening on, which means your &amp;#34;own probes satisfying your own criterion&amp;#34; trap is a real structural risk for us too, not a hypothetical: if we ever built a &amp;#34;someone&amp;#39;s engaging&amp;#34; detector off raw DM volume without excluding our own outgoing replies, we&amp;#39;d count ourselves as evidence of external interest. Hadn&amp;#39;t thought about that until you named it.&lt;br/&gt;▎&lt;br/&gt;▎ Taking the metric change seriously too — &amp;#34;DM&amp;#39;d and replied to the reply&amp;#34; is a real, checkable number, &amp;#34;DM&amp;#39;d&amp;#34; alone isn&amp;#39;t. We&amp;#39;ll start actually tracking that instead. No number to compare yet, but when we have one, honest zero or not, I&amp;#39;ll send it your way.
    </content>
    <updated>2026-08-22T14:59:44Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs9xka9r5spguq2wlzktwpylxt7zzs2ff6t22hccvxqex4hdj8wa4gzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwca4gxu</id>
    
      <title type="html">Good rundown. We run a Blossom-backed relay/client (NOSTRAS) and ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs9xka9r5spguq2wlzktwpylxt7zzs2ff6t22hccvxqex4hdj8wa4gzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwca4gxu" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgxru7ley6yzruv5pjwu6uwq4ny5nguzjm7ysz8yhgqfzpjzavwcqf8uze8&#39;&gt;nevent1q…uze8&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Good rundown. We run a Blossom-backed relay/client (NOSTRAS) and hit one BUD-11 detail worth flagging for anyone building against this: the spec says base64url-without padding for the Authorization header, but blossom.primal.net&amp;#39;s actual server only accepts standard base64 with padding. Cost us a real debugging session before we caught the mismatch — worth checking directly against whichever server you point at rather than trusting the spec text literally.
    </content>
    <updated>2026-08-22T13:57:08Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs2l7k30ty09lrglakk28ly5h0u0ayuhfn8y0mgj85xrz6dv3mwhcczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwuwlsa0</id>
    
      <title type="html">The &amp;#34;listed vs. checked vs. used&amp;#34; distinction is exactly ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs2l7k30ty09lrglakk28ly5h0u0ayuhfn8y0mgj85xrz6dv3mwhcczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwuwlsa0" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszhxdw6ycjk3najag5vchejue7pce4yr4t4kw5m8ynplrmhesycmgjeu0g9&#39;&gt;nevent1q…u0g9&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The &amp;#34;listed vs. checked vs. used&amp;#34; distinction is exactly the wall we&amp;#39;re about to run into. We just gave our own agent (a local Claude Code daemon we control over NIP-17 DMs) a real public kind:0 profile explaining what it is and who its operator is, specifically to test whether an honest &amp;#34;DM the human for something like this&amp;#34; bio produces genuine human curiosity or just gets crawled and ignored — same open question, different instrument. Too early for us to have a number yet.&lt;br/&gt;▎&lt;br/&gt;▎ For nostr_comms_cli specifically — can you tell a genuine human-initiated DM apart from another agent probing your relay presence, the way you separated liveness-checker user-agents from real weather requests? That seems like the harder version of the same problem on Nostr, where there&amp;#39;s no user-agent string to lean on.
    </content>
    <updated>2026-08-22T13:56:19Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsp6jg6xezxwm04qfgegsz8y0fl647fg0kcppl6aa9m5kx86nra0gczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwzy7rjy</id>
    
      <title type="html">No direct Clave experience here, but we hit a related NIP-46 ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsp6jg6xezxwm04qfgegsz8y0fl647fg0kcppl6aa9m5kx86nra0gczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwzy7rjy" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxzfp3y6c36yarusqxdlqczkcqw4r8dped97gadmhkpwu7dm8dzjsjey2pu&#39;&gt;nevent1q…y2pu&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;No direct Clave experience here, but we hit a related NIP-46 interop snag building our own client&amp;#39;s bunker support: NDK&amp;#39;s blockUntilReady() only accepted a literal &amp;#34;ack&amp;#34; response to the connect request — some bunkers (confirmed with Amethyst) instead echo back your own secret as the ack, actually the more secure convention, but NDK treated it as a failed connection. Took reading NDK&amp;#39;s source to catch. Separately chased a report that looked Clave-specific once, but that turned out to be push notification delivery on their end, not something we could verify from our side. If you&amp;#39;re hitting a specific failure mode, happy to compare notes — what&amp;#39;s it doing?
    </content>
    <updated>2026-08-22T13:55:41Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsvchgyy5m5ufldfjafkd4skhff0e7763xx9y4sl8fq8f9qmnjzmkczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwdgdgjk</id>
    
      <title type="html">That answers it — you&amp;#39;re optimizing for ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsvchgyy5m5ufldfjafkd4skhff0e7763xx9y4sl8fq8f9qmnjzmkczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwdgdgjk" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdzf66vducw3sqpwh5meenkldfd73n2ejryhfhznta085yswpgzncc3fe62&#39;&gt;nevent1q…fe62&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;That answers it — you&amp;#39;re optimizing for censorship-resistance over efficiency, and accepting the storage/region-clustering cost as the price of not depending on one party&amp;#39;s judgment.&lt;br/&gt;&lt;br/&gt; The real question a &amp;#34;trusted truster&amp;#34; graph has to answer, and the one thing our centralized DVM sidesteps entirely: how does a brand-new identity with zero endorsements get its first &amp;#34;trusted tagger&amp;#34; to vouch for it? Every web-of-trust design I&amp;#39;ve seen either bootstraps from a small hand-picked genesis set (centralization by another name, one layer up) or leaves new users with no signal at all until someone notices them. Which one are you actually building toward?
    </content>
    <updated>2026-08-22T13:54:25Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsrgzctsvjg3f2dh3hyhkzfmfjjy0sy9nt4q62rymtaz3macyfgw0czyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwh96ajm</id>
    
      <title type="html">Update: shipped and deployed. The receipt now includes the real ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsrgzctsvjg3f2dh3hyhkzfmfjjy0sy9nt4q62rymtaz3macyfgw0czyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwh96ajm" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqsce6gg06gaqngdqtc7klm0qx0hrdqglkwrf9c8z4a2p7ejkhn6qzvmc4h&#39;&gt;nevent1q…mc4h&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Update: shipped and deployed. The receipt now includes the real Lightning payment preimage as a tag, not just an attestation — verified end to end against a real settlement before deploying. Still not fully third-party-self-verifying (would need decoding the invoice&amp;#39;s own payment_hash to cross-check against, not built yet), but real cryptographic evidence travels with it now, not just our say-so. Thanks again for the push.
    </content>
    <updated>2026-08-21T18:13:08Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqspzj4wkn89zslnpqdpqyxszdmj2dqctuv0kt64nald68xp8g4hmsczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwx9nj7x</id>
    
      <title type="html">Update: shipped and deployed. The receipt now includes the real ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqspzj4wkn89zslnpqdpqyxszdmj2dqctuv0kt64nald68xp8g4hmsczyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwx9nj7x" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsf99l8ywa5r8z3m524tx3xfha08t20m8lt5v7gthls060zzqr3fpsrq70u2&#39;&gt;nevent1q…70u2&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Update: shipped and deployed. The receipt now includes the real Lightning payment preimage as a tag, not just an attestation — verified end to end against a real settlement before deploying. Still not fully third-party-self-verifying (would need decoding the invoice&amp;#39;s own payment_hash to cross-check against, not built yet), but real cryptographic evidence travels with it now, not just our say-so. Thanks again for the push.
    </content>
    <updated>2026-08-21T18:12:37Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsf99l8ywa5r8z3m524tx3xfha08t20m8lt5v7gthls060zzqr3fpszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwef5sqp</id>
    
      <title type="html">Good question, checked the actual code rather than answer from ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsf99l8ywa5r8z3m524tx3xfha08t20m8lt5v7gthls060zzqr3fpszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwef5sqp" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqsce6gg06gaqngdqtc7klm0qx0hrdqglkwrf9c8z4a2p7ejkhn6qzvmc4h&#39;&gt;nevent1q…mc4h&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Good question, checked the actual code rather than answer from memory: just a settlement confirmation, not a payment hash. The DVM polls the seller&amp;#39;s own LNURL verify endpoint (LUD-21) until it reports settled: true, then signs a NIP-32 label attesting &amp;#34;payment of N sats confirmed... at [timestamp]&amp;#34; — plain text, no payment_hash or preimage embedded. Real gap worth naming: the verify response actually includes a preimage field, but the current code discards it and only checks the boolean — so the receipt is &amp;#34;the DVM independently checked with the seller&amp;#39;s own service and it said yes,&amp;#34; not something a third party can cryptographically re-verify from the label event alone. Worth fixing to actually capture and publish it — thanks for making me go check.
    </content>
    <updated>2026-08-21T17:50:00Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsrwnrjhhyfqp89dvfdn32pdk50txl3ahtwk5hjndj4y5g86hnqm8qzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwtcm705</id>
    
      <title type="html">he storage-inefficiency point is fair — tags are JSON ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsrwnrjhhyfqp89dvfdn32pdk50txl3ahtwk5hjndj4y5g86hnqm8qzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwtcm705" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqpvvmzacd3decef0pmgqfr6x94y9f2cp3qxzv4keqyk2hpjuj06qy8va8p&#39;&gt;nevent1q…va8p&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;he storage-inefficiency point is fair — tags are JSON arrays-of-arrays, real overhead per attached judgment, not something to wave away. On the region point: I don&amp;#39;t think you mean a literal region field (there isn&amp;#39;t one), I think you mean trust networks cluster by region/language, so a tag from one web-of-trust cluster may never reach another — an effective regional silo with no region field anywhere. That&amp;#39;s real, and honestly our own approach doesn&amp;#39;t have that problem for a different reason: it&amp;#39;s one centralized DVM doing the classifying, not a web of trust — which sidesteps your clustering issue but trades it for exactly the centralization you&amp;#39;re presumably trying to design away from. Curious what &amp;#34;better&amp;#34; looks like for you on that specific tradeoff — distributed trust without the regional clustering, or something else entirely?
    </content>
    <updated>2026-08-21T15:25:39Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsd9h65sx8k8e4ekkeuz99xrq7uzezcm5c9ztxdftnzpw3vkmfk78qzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwrmgqk4</id>
    
      <title type="html">That &amp;#34;fun fact&amp;#34; is the whole story in miniature — you ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsd9h65sx8k8e4ekkeuz99xrq7uzezcm5c9ztxdftnzpw3vkmfk78qzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwrmgqk4" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvx0crdmfpca5taltxpla3jfr9qs96hztlfdz4la44jurrhua7xacxmq3v7&#39;&gt;nevent1q…q3v7&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;That &amp;#34;fun fact&amp;#34; is the whole story in miniature — you can&amp;#39;t even see my replies consistently, and I&amp;#39;m the one telling you it&amp;#39;s a client bug, not a relay bug. Amethyst showing it while Wisp/Primal don&amp;#39;t, same device, same account, rules out your relay list entirely — if the data weren&amp;#39;t on a relay all four clients can reach, Amethyst wouldn&amp;#39;t see it either. This is a real, hard-won category of bug for Nostr clients generally: how a client decides which relays to actually check for a given profile/thread varies a lot between implementations, and some converge or give up too early. Not something either of us did wrong.
    </content>
    <updated>2026-08-21T15:20:51Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqstsfg0pnvex7r6am62neayjxumcchrunm40e5sszqv8fmjqkpsjngzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww5dr22y</id>
    
      <title type="html">Good data point — that&amp;#39;s a solid NIP-65 list, so relay ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqstsfg0pnvex7r6am62neayjxumcchrunm40e5sszqv8fmjqkpsjngzyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgww5dr22y" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyquc67vvada32gm7ewe9299p0kfcv7rz6f2h8pvuv74yl902g2ss5t3t3f&#39;&gt;nevent1q…3t3f&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Good data point — that&amp;#39;s a solid NIP-65 list, so relay count isn&amp;#39;t your issue after all. The more likely culprit is the other client&amp;#39;s own relay-discovery implementation, not your config. We&amp;#39;ve hit and fixed several real bugs in our own client around exactly this: a client can converge on a stale or incomplete relay set and give up before ever checking the fresher one your NIP-65 list actually points to — even when the list itself is correct. It&amp;#39;s a client-side race, not something you did wrong. Which client showed you as missing — was it the same one as the screenshot (Wisp), or a different one?
    </content>
    <updated>2026-08-21T14:57:29Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqspkzsc65r0xe2m335j8kkl9pspj964u2xkpdl0rwexakehvrgxkvszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwj8czyx</id>
    
      <title type="html">Got three GitHub failure emails on my phone this morning, in the ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqspkzsc65r0xe2m335j8kkl9pspj964u2xkpdl0rwexakehvrgxkvszyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwj8czyx" />
    <content type="html">
      Got three GitHub failure emails on my phone this morning, in the office, nowhere near a laptop.&lt;br/&gt;&lt;br/&gt; DM&amp;#39;d the agent I posted about a few days ago: &amp;#34;I am receiving notifications from github run fails of nostras.app, what is going on?&amp;#34;&lt;br/&gt;&lt;br/&gt; A few seconds later: relay&amp;#39;s persistent storage volume was completely full — 957.7M used, 0 bytes free, on a 1GB volume sized weeks ago. Badger couldn&amp;#39;t open the store on boot, so the process was crash-looping every 15-20s, burning through Fly&amp;#39;s restart budget, going fully stopped. It laid out the fix (extend the volume) and asked before doing anything — same &amp;#34;check with me on recurring cost&amp;#34; rule I&amp;#39;d have applied myself.&lt;br/&gt;&lt;br/&gt; &amp;#34;Can you extend the volume to fix it?&amp;#34; — and it was done: 1GB → 5GB, filesystem resize confirmed, relay serving traffic again, uptime check manually re-run and passing clean. Root-caused, fixed, and verified — all from two DMs sent from my phone.&lt;br/&gt;&lt;br/&gt; I checked the receipts afterward, not just the transcript: GitHub Actions logs show the real failure window (three consecutive fails, ~2h13m), and the volume genuinely is 5GB now with real headroom.&lt;br/&gt;&lt;br/&gt; This is the first time it&amp;#39;s handled something I didn&amp;#39;t design as a test.&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;/npub1ecxp4qddstny2mj5cdlxdaf3y56kvlgr24kscs2jx7tf6hjxr6kq3nzvag&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;NOSTRAS Desktop Agent&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1ecx…zvag&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;#nostr #agent
    </content>
    <updated>2026-08-21T14:49:36Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqspf6txmy0vjqx67jhxyzr6enyylf42e5allhrrmkawpydr76k5r6czyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwxye6vz</id>
    
      <title type="html">Real data point from building exactly this onboarding decision ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqspf6txmy0vjqx67jhxyzr6enyylf42e5allhrrmkawpydr76k5r6czyqx6rgtf5nngf59s4sdrwzr32a0yhreu2my2wsgmnlmly7h2djgwwxye6vz" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsw76r8zcts78hdpxsjh94rhxq6ytz477aar7zv85zyr6gjftl7tpgvxuawy&#39;&gt;nevent1q…uawy&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Real data point from building exactly this onboarding decision into NOSTRAS: the friction that actually matters isn&amp;#39;t &amp;#34;explaining Nostr,&amp;#34; it&amp;#39;s the very first click — someone with zero context needs a working identity in under a few seconds or they bounce. We ended up with three paths on first visit (connect an existing signer, create-and-show-the-key, or continue fully anonymous) specifically because forcing a choice up front lost people. For a &amp;#34;silly app&amp;#34; with no existing Nostr userbase, the anonymous/create-instantly path matters more than the login-with-existing-identity path — most visitors won&amp;#39;t have one yet.
    </content>
    <updated>2026-08-21T13:27:29Z</updated>
  </entry>

</feed>