<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-06-28T06:54:42Z</updated>
  <generator>https://yabu.me</generator>

  <title>Nostr notes by IndieSats</title>
  <author>
    <name>IndieSats</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://yabu.me/npub18rs8naesjjhc3zmk4quuuktjrlu3l04d4ehfaev40syfctvcpydsnd97wc.rss" />
  <link href="https://yabu.me/npub18rs8naesjjhc3zmk4quuuktjrlu3l04d4ehfaev40syfctvcpydsnd97wc" />
  <id>https://yabu.me/npub18rs8naesjjhc3zmk4quuuktjrlu3l04d4ehfaev40syfctvcpydsnd97wc</id>
  <icon>https://indiesats.com/logo-spin.gif</icon>
  <logo>https://indiesats.com/logo-spin.gif</logo>




  <entry>
    <id>https://yabu.me/nevent1qqs9y2c4nf95066km0ev7t4vlp7cyrxgylnc5c3k9v3z4ll4j9pym7gzyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3k8jxcgr</id>
    
      <title type="html">IndieSats: Two Paths to Publish 🎵 Publish with IndieSats (2% ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs9y2c4nf95066km0ev7t4vlp7cyrxgylnc5c3k9v3z4ll4j9pym7gzyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3k8jxcgr" />
    <content type="html">
      IndieSats: Two Paths to Publish&lt;br/&gt;&lt;br/&gt;🎵 Publish with IndieSats (2% fee)&lt;br/&gt;• No Nostr profile needed&lt;br/&gt;• Just a lightning address&lt;br/&gt;• We sign &amp;amp; publish for you&lt;br/&gt;• Your music appears in our RSS feed&lt;br/&gt;• Tradeoff: Convenience for fee&lt;br/&gt;&lt;br/&gt;⚡ Use Your Nostr Profile (0% fee)&lt;br/&gt;• Full self-sovereignty&lt;br/&gt;• Your relays, your identity&lt;br/&gt;• Direct fan relationships&lt;br/&gt;• No platform cut&lt;br/&gt;• Tradeoff: Learning curve&lt;br/&gt;&lt;br/&gt;Both paths put your music on Nostr. One is the easy on-ramp. One is the open road.&lt;br/&gt;&lt;br/&gt;Choose your adventure. 🎸⚡&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://indiesats.com&#34;&gt;https://indiesats.com&lt;/a&gt;
    </content>
    <updated>2026-07-07T19:22:47Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsruzca3fdmsz7h9zeu4cex7tw5rxsrn3nxa32yw4smwectg5357yszyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3kr42gkv</id>
    
      <title type="html">New: NIP-73 RSS feed tags on every IndieSats publish (kind 1063). ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsruzca3fdmsz7h9zeu4cex7tw5rxsrn3nxa32yw4smwectg5357yszyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3kr42gkv" />
    <content type="html">
      New: NIP-73 RSS feed tags on every IndieSats publish (kind 1063).&lt;br/&gt;&lt;br/&gt;Your Nostr ID = your feed.&lt;br/&gt;IndieSats publish = your IndieSats feed.&lt;br/&gt;Either way, clients can subscribe directly from Nostr.&lt;br/&gt;&lt;br/&gt;Music distribution that bridges both worlds. 🎸⚡
    </content>
    <updated>2026-07-07T16:29:57Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsx5ft8ecptrk6cf2dquux46l8f78hzcs8xjkq7k9zudg72s2qdr2szyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3k9ehshe</id>
    
      <title>Nostr event nevent1qqsx5ft8ecptrk6cf2dquux46l8f78hzcs8xjkq7k9zudg72s2qdr2szyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3k9ehshe</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsx5ft8ecptrk6cf2dquux46l8f78hzcs8xjkq7k9zudg72s2qdr2szyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3k9ehshe" />
    <content type="html">
      Testing NIP-73 post from IndieSats
    </content>
    <updated>2026-07-07T16:29:25Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs084qucfd8t498qlrtlwrzcqrzzrgh4hazccdm5js2sfknt5ac56czyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3k8nq9r0</id>
    
      <title type="html">New: NIP-73 RSS feed tags on every IndieSats publish (kind 1063). ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs084qucfd8t498qlrtlwrzcqrzzrgh4hazccdm5js2sfknt5ac56czyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3k8nq9r0" />
    <content type="html">
      New: NIP-73 RSS feed tags on every IndieSats publish (kind 1063).&lt;br/&gt;&lt;br/&gt;Your Nostr ID = your feed.&lt;br/&gt;IndieSats publish = your IndieSats feed.&lt;br/&gt;Either way, clients can subscribe directly from Nostr.&lt;br/&gt;&lt;br/&gt;Music distribution that bridges both worlds. 🎸⚡
    </content>
    <updated>2026-07-07T16:28:53Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs979qgrg3rzh3eads6lwqwd64qqch0xxumjjuna62ek2n3q8jlggszyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3krg3qlu</id>
    
      <title type="html">New: NIP-73 RSS feed tags on every IndieSats publish (kind 1063). ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs979qgrg3rzh3eads6lwqwd64qqch0xxumjjuna62ek2n3q8jlggszyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3krg3qlu" />
    <content type="html">
      New: NIP-73 RSS feed tags on every IndieSats publish (kind 1063).&lt;br/&gt;&lt;br/&gt;Your Nostr ID = your feed.&lt;br/&gt;IndieSats publish = your IndieSats feed.&lt;br/&gt;Either way, clients can subscribe directly from Nostr.&lt;br/&gt;&lt;br/&gt;Music distribution that bridges both worlds. 🎸⚡
    </content>
    <updated>2026-07-07T16:28:20Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsvw6twddpt47ex78uafg2ehjlutz2dm82apfemgy3farlg69e94egzyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3klxh3sm</id>
    
      <title type="html">New: NIP-73 RSS feed tags on every IndieSats publish (kind 1063). ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsvw6twddpt47ex78uafg2ehjlutz2dm82apfemgy3farlg69e94egzyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3klxh3sm" />
    <content type="html">
      New: NIP-73 RSS feed tags on every IndieSats publish (kind 1063).&lt;br/&gt;&lt;br/&gt;Your Nostr ID = your feed.&lt;br/&gt;IndieSats publish = your IndieSats feed.&lt;br/&gt;Either way, clients can subscribe directly from Nostr.&lt;br/&gt;&lt;br/&gt;Music distribution that bridges both worlds. 🎸⚡
    </content>
    <updated>2026-07-07T16:27:49Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsvnc8vtk0evy65w7mjqr6rn68mmxq43fx8szrkfkqyqpwsc8cesnczyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3ksmq7jz</id>
    
      <title type="html">Title by Artist Name Description 🎵 Listen on Indiesats: ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsvnc8vtk0evy65w7mjqr6rn68mmxq43fx8szrkfkqyqpwsc8cesnczyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3ksmq7jz" />
    <content type="html">
      Title by Artist Name&lt;br/&gt;&lt;br/&gt;Description&lt;br/&gt;&lt;br/&gt;🎵 Listen on Indiesats: &lt;a href=&#34;https://indiesats.com/artist.html?npub=npub18rs8naesjjhc3zmk4quuuktjrlu3l04d4ehfaev40syfctvcpydsnd97wc&amp;amp;play=https%3A%2F%2Fdl.dropboxusercontent.com%2Fscl%2Ffi%2Fkelcjfsjhfzoz1gztvc3f%2FIndiesats_test.m4a%3Fdl%3D1&#34;&gt;https://indiesats.com/artist.html?npub=npub18rs8naesjjhc3zmk4quuuktjrlu3l04d4ehfaev40syfctvcpydsnd97wc&amp;amp;play=https%3A%2F%2Fdl.dropboxusercontent.com%2Fscl%2Ffi%2Fkelcjfsjhfzoz1gztvc3f%2FIndiesats_test.m4a%3Fdl%3D1&lt;/a&gt;&lt;br/&gt;💼 Artist profile: &lt;a href=&#34;https://indiesats.com/artist.html?npub=npub18rs8naesjjhc3zmk4quuuktjrlu3l04d4ehfaev40syfctvcpydsnd97wc&#34;&gt;https://indiesats.com/artist.html?npub=npub18rs8naesjjhc3zmk4quuuktjrlu3l04d4ehfaev40syfctvcpydsnd97wc&lt;/a&gt;&lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting &lt;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nevent1qyvhwumn8ghj7un9d3shjtnfdejxjetnv968xtnrdaksz9nhwden5te0wfjkccte9ec8y6tdv9kzumn9wsq32amnwvaz7tmsw4e8qmr9wfjkccte9e3k7mgpp4mhxue69uhkummn9ekx7mqqyr9y8w072aav6w9dsteww0t5vrtzufygrrchen6ezm4f2k577sh0xgjjpzn&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;nevent1q…jpzn&lt;/a&gt;&lt;/span&gt; &lt;/div&gt; Description &lt;/blockquote&gt;
    </content>
    <updated>2026-07-05T21:41:25Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqszwqy8m2ydx0njfyrefmh6jvl2cedarwyhs2vn96senkz6j5yyvvgzyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3kdvy87z</id>
    
      <title type="html">Test Title by Test Artist Name Test Description 🎵 Listen on ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqszwqy8m2ydx0njfyrefmh6jvl2cedarwyhs2vn96senkz6j5yyvvgzyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3kdvy87z" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsr9jp5u5xsdxavraljzzcd2dpz4pw7t6z6w5uu4jkv2gtel9qruycvf0xfc&#39;&gt;nevent1q…0xfc&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Test Title by Test Artist Name&lt;br/&gt;&lt;br/&gt;Test Description&lt;br/&gt;&lt;br/&gt;🎵 Listen on Indiesats: &lt;a href=&#34;https://indiesats.com/artist.html?npub=npub18rs8naesjjhc3zmk4quuuktjrlu3l04d4ehfaev40syfctvcpydsnd97wc&amp;amp;play=https%3A%2F%2Fwww.dropbox.com%2Fscl%2Ffi%2Fkelcjfsjhfzoz1gztvc3f%2FIndiesats_test.m4a%3Fdl%3D1&#34;&gt;https://indiesats.com/artist.html?npub=npub18rs8naesjjhc3zmk4quuuktjrlu3l04d4ehfaev40syfctvcpydsnd97wc&amp;amp;play=https%3A%2F%2Fwww.dropbox.com%2Fscl%2Ffi%2Fkelcjfsjhfzoz1gztvc3f%2FIndiesats_test.m4a%3Fdl%3D1&lt;/a&gt;&lt;br/&gt;💼 Artist profile: &lt;a href=&#34;https://indiesats.com/artist.html?npub=npub18rs8naesjjhc3zmk4quuuktjrlu3l04d4ehfaev40syfctvcpydsnd97wc&#34;&gt;https://indiesats.com/artist.html?npub=npub18rs8naesjjhc3zmk4quuuktjrlu3l04d4ehfaev40syfctvcpydsnd97wc&lt;/a&gt;&lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting &lt;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nevent1qqsr9jp5u5xsdxavraljzzcd2dpz4pw7t6z6w5uu4jkv2gtel9qruycvf0xfc&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;nevent1q…0xfc&lt;/a&gt;&lt;/span&gt; &lt;/div&gt; Test Description &lt;/blockquote&gt;
    </content>
    <updated>2026-07-05T20:50:58Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqsx49ckntqnqum5gzw32552tdvkkzwcv950mcpge7w3y9xns96tnyqzyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3kvaxmdk</id>
    
      <title type="html">Test Track by Test Artist Name Test Description 🎵 Listen on ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqsx49ckntqnqum5gzw32552tdvkkzwcv950mcpge7w3y9xns96tnyqzyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3kvaxmdk" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsr34f58wlj8zg7agctap708vv4ju5pl7w0u8kxmlluj55yhn4lqrspy4p7r&#39;&gt;nevent1q…4p7r&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Test Track by Test Artist Name&lt;br/&gt;&lt;br/&gt;Test Description&lt;br/&gt;&lt;br/&gt;🎵 Listen on Indiesats: &lt;a href=&#34;https://indiesats.com/artist.html?npub=npub18rs8naesjjhc3zmk4quuuktjrlu3l04d4ehfaev40syfctvcpydsnd97wc&amp;amp;play=https%3A%2F%2Fwww.dropbox.com%2Fscl%2Ffi%2Fkelcjfsjhfzoz1gztvc3f%2FIndiesats_test.m4a%3Fdl%3D1&#34;&gt;https://indiesats.com/artist.html?npub=npub18rs8naesjjhc3zmk4quuuktjrlu3l04d4ehfaev40syfctvcpydsnd97wc&amp;amp;play=https%3A%2F%2Fwww.dropbox.com%2Fscl%2Ffi%2Fkelcjfsjhfzoz1gztvc3f%2FIndiesats_test.m4a%3Fdl%3D1&lt;/a&gt;&lt;br/&gt;💼 Artist profile: &lt;a href=&#34;https://indiesats.com/artist.html?npub=npub18rs8naesjjhc3zmk4quuuktjrlu3l04d4ehfaev40syfctvcpydsnd97wc&#34;&gt;https://indiesats.com/artist.html?npub=npub18rs8naesjjhc3zmk4quuuktjrlu3l04d4ehfaev40syfctvcpydsnd97wc&lt;/a&gt;&lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting &lt;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/nevent1qqsr34f58wlj8zg7agctap708vv4ju5pl7w0u8kxmlluj55yhn4lqrspy4p7r&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;nevent1q…4p7r&lt;/a&gt;&lt;/span&gt; &lt;/div&gt; Test Description &lt;/blockquote&gt;
    </content>
    <updated>2026-07-05T20:09:05Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqs843upfytufpxc8af3yzzg90g5cgqaw8euuwmn7ydw720sex47grszyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3kx8eq7q</id>
    
      <title type="html">🎵 IndieSats: One Feed, Two Protocols How we bridge RSS and ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqs843upfytufpxc8af3yzzg90g5cgqaw8euuwmn7ydw720sex47grszyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3kx8eq7q" />
    <content type="html">
      🎵 IndieSats: One Feed, Two Protocols&lt;br/&gt;&lt;br/&gt;How we bridge RSS and Nostr:&lt;br/&gt;&lt;br/&gt;The Problem&lt;br/&gt;RSS has no album tag. Podcast Index doesn&amp;#39;t understand &amp;#34;this group of tracks is an album.&amp;#34; So historically, platforms generated separate RSS feeds per track or album. Result? Listeners subscribed to multiple feeds, apps couldn&amp;#39;t group discographies, and artists managed URL chaos.&lt;br/&gt;&lt;br/&gt;Our Solution: Deterministic GUIDs &#43; Single Feed&lt;br/&gt;One RSS feed per artist. All tracks — singles AND albums — flow through the same URL:&lt;br/&gt;&lt;a href=&#34;https://indiesats.com/api/feed?npub=your_npub&#34;&gt;https://indiesats.com/api/feed?npub=your_npub&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Album name prefixes track titles for visual grouping:&lt;br/&gt;• &amp;#34;Summer 2026 - Song A&amp;#34;&lt;br/&gt;• &amp;#34;Winter Vibes - Song B&amp;#34;&lt;br/&gt;&lt;br/&gt;SHA1-Based GUIDs&lt;br/&gt;Every track gets a deterministic GUID derived from the artist&amp;#39;s npub &#43; Nostr event ID:&lt;br/&gt;SHA1(&amp;#34;indiesats:&amp;#34; &#43; npub &#43; &amp;#34;:&amp;#34; &#43; eventId)&lt;br/&gt;&lt;br/&gt;Why this matters:&lt;br/&gt;• Same GUID across RSS, Nostr, and keysend forwarding&lt;br/&gt;• No database needed — recomputable from relay events&lt;br/&gt;• Stable for podcast apps even if you re-publish&lt;br/&gt;&lt;br/&gt;Lightning Address Agnostic&lt;br/&gt;The feed URL contains only your npub — no hardcoded lightning address. Change your lnaddress? Same feed URL. Podcast apps resolve it fresh each time. No re-submitting to Podcast Index. No broken feeds.&lt;br/&gt;&lt;br/&gt;How Nostr Bridges The Gap&lt;br/&gt;• Discovery: Podcast apps (RSS) vs Nostr clients&lt;br/&gt;• Payment: Value blocks/keysend/lnaddress (RSS) vs same payment methods via IndieSats UI (Nostr)&lt;br/&gt;• Album grouping: Title prefix (RSS) vs c tags (Nostr)&lt;br/&gt;• GUID source: SHA1(npub:eventId) — same for both&lt;br/&gt;&lt;br/&gt;The Magic&lt;br/&gt;One publish → Nostr event → RSS feed → Podcast Index. Artists get both worlds with one workflow.&lt;br/&gt;&lt;br/&gt;Add your feed to Podcast Index once. Change lightning addresses freely. Done forever. 🎸⚡
    </content>
    <updated>2026-07-01T15:15:28Z</updated>
  </entry>

  <entry>
    <id>https://yabu.me/nevent1qqswt83l76772462macj06j7fjauu8257w6rhykt6k48hxq90xf7trqzyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3kzxlvwu</id>
    
      <title type="html"># IndieSats: Bridging Nostr and RSS with Deterministic GUIDs We ...</title>
    
    <link rel="alternate" href="https://yabu.me/nevent1qqswt83l76772462macj06j7fjauu8257w6rhykt6k48hxq90xf7trqzyquwq70hxz22lzytw65rnnjewg0lj8a74khxa8h9j47q38pdnqy3kzxlvwu" />
    <content type="html">
      # IndieSats: Bridging Nostr and RSS with Deterministic GUIDs&lt;br/&gt;&lt;br/&gt;We built IndieSats to address a problem that&amp;#39;s emerging right now: artists are publishing music twice — once to Nostr, once to RSS — and fans have to follow them in two places. Worse, payment metadata doesn&amp;#39;t travel between the two worlds.&lt;br/&gt;&lt;br/&gt;Here&amp;#39;s how we connect them without building a centralized database.&lt;br/&gt;&lt;br/&gt;---&lt;br/&gt;&lt;br/&gt;## The Problem&lt;br/&gt;&lt;br/&gt;Nostr is great for real-time discovery. RSS is great for permanence and podcast app compatibility. But they&amp;#39;re disconnected:&lt;br/&gt;&lt;br/&gt;- A Nostr `kind:1063` audio event has no RSS feed URL&lt;br/&gt;- An RSS `&amp;lt;item&amp;gt;` has no Nostr event ID&lt;br/&gt;- Payment splits in Nostr tags don&amp;#39;t map to Podcast Index `&amp;lt;podcast:value&amp;gt;` blocks&lt;br/&gt;&lt;br/&gt;Artists have to maintain two identities. Fans have to follow twice. Payment routing is broken.&lt;br/&gt;&lt;br/&gt;---&lt;br/&gt;&lt;br/&gt;## Our Approach: Deterministic GUIDs&lt;br/&gt;&lt;br/&gt;Instead of a database linking Nostr events to RSS items, we use a hash of the event itself.&lt;br/&gt;&lt;br/&gt;```&lt;br/&gt;GUID = SHA1(&amp;#34;indiesats:&amp;#34; &#43; npub &#43; &amp;#34;:&amp;#34; &#43; eventId)&lt;br/&gt;```&lt;br/&gt;&lt;br/&gt;This gives every track a 40-character hex identifier (the full SHA1 hash) that is:&lt;br/&gt;- **Deterministic** — Same input always produces same GUID&lt;br/&gt;- **Portable** — Works in Nostr events, RSS feeds, and keysend TLVs&lt;br/&gt;- **Self-verifying** — Anyone can recalculate it from the Nostr event&lt;br/&gt;- **Standard** — Uses full SHA1 output, no arbitrary truncation to remember&lt;br/&gt;&lt;br/&gt;---&lt;br/&gt;&lt;br/&gt;## How It Works&lt;br/&gt;&lt;br/&gt;### Publishing a Track&lt;br/&gt;&lt;br/&gt;1. Artist publishes `kind:1063` to Nostr with:&lt;br/&gt;   - `client: indiesats`&lt;br/&gt;   - `title`, `audioUrl`, `coverUrl`, `duration`&lt;br/&gt;   - `value` recipients (payment splits)&lt;br/&gt;   - Optional `album` tag&lt;br/&gt;&lt;br/&gt;2. IndieSats generates the GUID from the event&lt;br/&gt;&lt;br/&gt;3. RSS feed includes:&lt;br/&gt;   ```xml&lt;br/&gt;   &amp;lt;podcast:value type=&amp;#34;lightning&amp;#34; method=&amp;#34;keysend&amp;#34;&amp;gt;&lt;br/&gt;     &amp;lt;podcast:valueRecipient&lt;br/&gt;       name=&amp;#34;Artist Name&amp;#34;&lt;br/&gt;       type=&amp;#34;lnaddress&amp;#34;&lt;br/&gt;       address=&amp;#34;artist@wallet.com&amp;#34;&lt;br/&gt;       split=&amp;#34;100&amp;#34;/&amp;gt;&lt;br/&gt;   &amp;lt;/podcast:value&amp;gt;&lt;br/&gt;   ```&lt;br/&gt;   &lt;br/&gt;   The GUID is used directly as the `&amp;lt;podcast:guid&amp;gt;` value.&lt;br/&gt;&lt;br/&gt;### Receiving Payments&lt;br/&gt;&lt;br/&gt;- **Nostr path**: Zap the event directly&lt;br/&gt;- **RSS path**: Podcast app sees `&amp;lt;podcast:value&amp;gt;` and pays the lnaddress&lt;br/&gt;- **Keysend path**: Optional TLV `697070` carries the GUID for forwarding&lt;br/&gt;&lt;br/&gt;---&lt;br/&gt;&lt;br/&gt;## The TLV Extension (Experimental)&lt;br/&gt;&lt;br/&gt;For artists without lnaddresses who want keysend payments forwarded, we use a custom TLV:&lt;br/&gt;&lt;br/&gt;| Field | Value | Purpose |&lt;br/&gt;|-------|-------|---------|&lt;br/&gt;| `customKey` | `697070` | &amp;#34;IS&amp;#34; in ASCII (IndieSats routing hint) |&lt;br/&gt;| `customValue` | Track GUID (40 chars) | Identifies which track/artist to forward to |&lt;br/&gt;&lt;br/&gt;This lets a node operator receive keysend payments and forward them to the artist&amp;#39;s lnaddress without maintaining a mapping database.&lt;br/&gt;&lt;br/&gt;---&lt;br/&gt;&lt;br/&gt;## Why This Matters&lt;br/&gt;&lt;br/&gt;**No central database**: The artist&amp;#39;s catalog exists entirely on Nostr. IndieSats just renders it.&lt;br/&gt;&lt;br/&gt;**No custody**: We never hold sats. Payments go directly to artists or their designated splits.&lt;br/&gt;&lt;br/&gt;**Protocol-native**: We follow Podcast Index specs, Nostr NIPs, and Lightning standards — no proprietary formats.&lt;br/&gt;&lt;br/&gt;**Reproducible**: Anyone can query Nostr for `kind:1063` events with `client:indiesats` and rebuild the same catalog.&lt;br/&gt;&lt;br/&gt;---&lt;br/&gt;&lt;br/&gt;## Current Implementation&lt;br/&gt;&lt;br/&gt;- **RSS feeds**: `indiesats.com/api/feed?npub=&amp;lt;npub&amp;gt;`&lt;br/&gt;- **Relay**: `wss://relay.indiesats.com` (whitelist publish, public read)&lt;br/&gt;- **GUID formula**: SHA1-based as described above&lt;br/&gt;- **Client**: Static site, no accounts, no server-side state&lt;br/&gt;&lt;br/&gt;---&lt;br/&gt;&lt;br/&gt;## This Is Just How We Do It&lt;br/&gt;&lt;br/&gt;We&amp;#39;re not claiming this is &amp;#34;the standard&amp;#34; or that others should adopt it. It solves our problem — bridging Nostr and RSS without building a platform that holds user funds or data.&lt;br/&gt;&lt;br/&gt;If the approach resonates, use it. Modify it. Ignore it. The code isn&amp;#39;t open source (it&amp;#39;s just a website), but the logic is transparent.&lt;br/&gt;&lt;br/&gt;The GUID formula is simple enough to reimplement in any language. The Nostr events are public. The RSS feeds are standards-compliant.&lt;br/&gt;&lt;br/&gt;Build your own thing. This is ours.&lt;br/&gt;&lt;br/&gt;---&lt;br/&gt;&lt;br/&gt;*Published from indiesats.com*
    </content>
    <updated>2026-06-28T06:30:17Z</updated>
  </entry>

</feed>