RSSHub
A per-citation toll at the crawler boundary — AI agents pay authors when they ground answers in feed items.
What gets metered
a grounded citation — when an LLM agent (or crawler) grounds an answer in a source URL served via RSSHub, it POSTs { crawlerId, link, author } to the sidecar's /citation route and pays a per-citation toll.
- Who pays: the crawler/agent that monetizes the content (
crawlerId, mapped inPAYER_WALLETS) - Who gets paid: the item's author (
author→CREATOR_WALLETS)
Attach surface — no fork
The crawler boundary — RSSHub itself is untouched. The party that fetches and monetizes the content reports the citation. (Alternative, still fork-free: an operator-run middleware in front of RSSHub that stamps an attribution token per item.)
Quickstart
Run the citation sidecar; crawlers report grounded citations to it:
PLATFORM=rsshub RATE=5000 \
PAYER_WALLETS='{"<crawlerId>":"0x…"}' \
CREATOR_WALLETS='{"<author-or-author-url>":"0x…"}' \
FACILITATOR_URL=https://facilitator.example FACILITATOR_API_KEY=… \
npx up-integration # RATE = micro-USDC per citation
# a crawler reports a citation:
curl -X POST http://up-sidecar:8410/citation \
-H 'content-type: application/json' \
-d '{"crawlerId":"<crawlerId>","link":"https://…","author":"<author>"}'
All values above are placeholders — supply your own facilitator, wallets, and rate.
The shared prerequisites (a deployed StakeVaultFactory, a running
facilitator, a wallet registry) are covered in the admin overview.
Verify
node scripts/e2e-rsshub-live-docker.mjs Fetches a real item from a live ghcr.io/diygod/rsshub feed, POSTs a crawler citation, and settles the toll on anvil (author paid 5000 micro-USDC).
Notes & caveats
Links
- Recipe:
packages/integrations/deploy/rsshub/README.md— the authoritative attach instructions in the repo. - Testing plan — RSSHub row
- Integration Playbook — how integrations like this one are built.
- Testing plan — this platform's row in the L1→L4 matrix.