attn-protocol

ATTN Protocol

A decentralized framework enabling paid content promotion within the Nostr ecosystem. By establishing standardized communication methods for promotional content, the protocol creates new economic opportunities while preserving Nostr’s core principles of decentralization and privacy.

It also functions as the Bitcoin-native attention interchange for block-synced marketplaces. City Protocol’s clock services broadcast each new block height (kind 38808), ATTN Protocol services react in lockstep, and marketplace state freezes so every snapshot stays truthful. Promotions, matches, confirmations, and payouts all ride Nostr events, which keeps independent services synchronized without trusting a central coordinator.

Why it exists

Key capabilities

Event kinds

Kind Name Description Published By
38808 BLOCK Bitcoin block arrival event. Timing primitive for the entire protocol. City Protocol clock (@city/clock)
38188 MARKETPLACE Marketplace definition with parameters (min/max duration, supported event kinds, relay lists). References the City Protocol clock pubkey for timing. Marketplace operators
38288 BILLBOARD Billboard definition within a marketplace. Billboards are where promotions are watched and verified. Billboard operators
38388 PROMOTION Promotion request with bid (total satoshis for duration), duration (milliseconds), and content reference. Promotion creators
38488 ATTENTION Viewer availability signal with ask (total satoshis for duration), duration range (min/max milliseconds), and content preferences. Attention owners
38588 BILLBOARD_CONFIRMATION Billboard attestation of successful view. Billboard operators
38688 ATTENTION_CONFIRMATION Attention owner attestation of viewing. Attention owners
38788 MARKETPLACE_CONFIRMATION Final settlement event published after both BILLBOARD_CONFIRMATION and ATTENTION_CONFIRMATION are received. Marketplace operators
38888 MATCH Match between promotion and attention. Created when bid ≥ ask and duration is compatible. Marketplace operators
38988 ATTENTION_PAYMENT_CONFIRMATION Attention owner attestation of payment receipt. Published after receiving payment following MARKETPLACE_CONFIRMATION. Attention owners

All builders stamp the canonical coordinate/tag layout (["d", "<identifier>"], ["t", "<block_height>"]) so relays and analytics can filter by block height only.

Documentation

Protocol Specification

User Documentation

Developer Documentation

Contributing

Contributions are welcome! Please read each package README for build/test instructions and use Changesets for any version bumps.

License

MIT License