Value-for-Value Lightning payments inside your Feedbin RSS reader
A browser extension (Chrome + Firefox) that adds WebLN-powered Lightning payments to Feedbin. When a feed contains podcast:value tags (Podcasting 2.0), a Boost panel appears directly in the article view — so you can send sats to creators without ever leaving your reader.
Built by Patoo for the Alby V4V Bounty (150k sats).
| Feature | Details |
|---|---|
| 🔍 Auto-detection | Scans RSS feeds for podcast:value Lightning tags |
| ⚡ WebLN payments | Uses webln.keysend() via Alby (or any WebLN wallet) |
| 🎛 Split payments | Distributes boosts to all recipients by their split percentage |
| 💬 Boostagrams | Attach a message with your payment (TLV record 7629169) |
| 🎨 Native UI | Clean design that blends with Feedbin's minimal aesthetic |
| 🌙 Dark mode | Respects prefers-color-scheme |
| 💾 Smart caching | Feeds are cached 10 min to avoid redundant fetches |
| 🔄 SPA-aware | MutationObserver + Turbolinks/Turbo event listeners |
v4v-feedbin/
├── manifest.json # MV3 manifest (Chrome + Firefox compat)
├── popup.html # Extension popup UI
├── src/
│ ├── content.js # Content script — injected into feedbin.com
│ ├── background.js # Service worker — CORS-free RSS fetching
│ ├── styles.css # Content-script styles
│ ├── popup.js # Popup logic
│ └── popup.css # Popup styles
├── icons/ # Extension icons (16, 32, 48, 128px)
└── README.md
- Content script (
content.js) watches Feedbin's DOM viaMutationObserverand URL change polling. - When an entry is viewed, it tries to identify the RSS feed URL (via DOM attributes or Feedbin's own API).
- The background service worker (
background.js) fetches the RSS/XML — bypassing CORS because the extension hashost_permissionsfor all origins. - The feed XML is parsed for
<podcast:value>and<podcast:valueRecipient>elements. - If a Lightning
keysendvalue block is found, a Boost Panel is injected above the article. - On click,
webln.keysend()is called for each recipient according to their split percentage. - A boostagram TLV record (7629169) is included with the podcast name, app name, and optional message.
-
Clone this repo:
git clone https://github.com/patoo0x/v4v-feedbin.git cd v4v-feedbin -
Chrome / Brave / Edge:
- Go to
chrome://extensions - Enable Developer mode
- Click Load unpacked → select this directory
- Go to
-
Firefox:
- Go to
about:debugging#/runtime/this-firefox - Click Load Temporary Add-on → select
manifest.json
- Go to
-
Install Alby browser extension and connect your Lightning wallet.
-
Visit feedbin.com and open any feed with
podcast:valuesupport!
Any podcast listed on PodcastIndex with Lightning enabled will work. Try subscribing to feeds like:
- Podcasting 2.0 —
https://mp3s.nashownotes.com/pc20rss.xml - What Bitcoin Did — has V4V enabled
- Any podcast using Fountain, Podcastindex, or Buzzsprout with V4V
You can verify a feed has the tag by checking for <podcast:value type="lightning" method="keysend"> in the XML.
# Run the parser test (Node.js)
node test/test-parser.jsExpected output:
✓ Detected podcast:value tag
✓ Parsed 3 recipients
✓ Split calculation correct
✓ Suggested amount: 1000 sats
<podcast:value type="lightning" method="keysend" suggested="0.00000015000">
<podcast:valueRecipient
name="Alice (Podcaster)"
type="node"
address="02d5c1bf8b940dc9cadca86d1b0a3c37fbe39cee4c7e839e33bef9174531d27f52"
split="40"
/>
<podcast:valueRecipient
name="Bob (Co-host)"
type="node"
address="032f4ffbbafffbe51726ad3c164a3d0d37ec27bc67b29a159b0f49ae8ac21b8508"
split="60"
/>
</podcast:value>await webln.enable();
await webln.keysend({
destination: recipientNodePubkey,
amount: String(satsForThisRecipient),
customRecords: {
// Boostagram (BLIP-10)
'7629169': JSON.stringify({
app_name: 'V4V for Feedbin',
podcast: feedTitle,
message: userMessage,
value_msat_total: totalSats * 1000,
sender_name: 'Feedbin Reader'
})
}
});PRs welcome! Ideas for improvement:
- Lightning Address support (in addition to node keysend)
- Streaming payments per minute read (V4V 2.0 style)
- LNURL-pay support
- Per-feed boost history / stats
- Feedbin native API integration for feed discovery
MIT © 2026 Patoo — patoo.ai
- Alby — WebLN provider & bounty sponsor
- Feedbin — the excellent RSS reader
- Podcasting 2.0 — the
podcast:valuespec - WebLN — Lightning payment API