Nostr tags for crawl records (kind 31420).
Filterable facts are NIP-32 l labels shaped key:value with namespace L nip-xx. Event content is the canonical JSON record. Unknown values are omitted — never placeholders.
Required tags
dandr— canonical domaint shopping— v1 vertical (plus optional subcategoryttags such aselec)l status:<crawled|blocked-tos|agents-not-welcome|error>(L nip-xx)l tos:<ok|bans-automation|unknown>crawled_at,v,license CC0-1.0
Payments (l labels)
Readable method names (open vocabulary): card, paypal, btc-onchain, lightning, cashu, fedimint, usdc, …
l pay:<method>,l pay_online:<method>,l pay_instore:<method>,l pay_unscoped:<method>,l no:<method>
Bitcoin
l btc:0-4,l btc_anyl btcpriv:<noacct|selfhosted|ecash|sp|ark|nokyc>
Agent access
l ag:0-3,l ar:<reason>,l anw:<reason>
Checkout
l co:,l guest:,l kyc:
Also vantage, crawler, and name tags as documented in CRAWL-RUBRIC.md.
Example relay filters (REQ)
{"kinds":[31420],"#t":["shopping"],"#l":["pay:lightning"]}
{"kinds":[31420],"#l":["btc:3"],"#l":["status:crawled"]}
{"kinds":[31420],"#t":["elec"],"#l":["ag:2"]}
Ingest on this site: NDJSON files may contain either plain JSON records or signed kind 31420 events (relay URL wiring comes later).