Interop
It's just Nostr.
The Lightning FM catalog is ordinary signed Nostr events on an open-read relay, with media on an ordinary Blossom server. Any client, relay, or agent can consume all of it. This page documents the few places where we extend the standards, so you don't have to reverse-engineer anything.
31337 has no merged NIP: a community registry definition and a draft NIP (nips PR #1043, closed 2026-08 without merging) disagreed about required tags. We emit a superset so readers of either dialect parse our tracks, and we are preparing a successor proposal based on this shipped contract. Events are addressable: the d tag is the track's stable identity and republishing replaces.
To play a track you need exactly: url, x, m. Event content, when non-empty, is the artist's description. Events carry a NIP-89 client tag.
Standard NIP-99: d, title, price (["price","1500","sats"]), status, t. Plus three of ours:
The checkout itself is an HTTP protocol at the endpoint, not a NIP: the gate has the buyer pay an invoice minted by the artist's own wallet, confirms settlement via LUD-21, and then releases the download. The money routes buyer → artist; the platform can't take a cut, structurally. The full gate API ships documented with the self-hosted release. Until then, write us if you're building against it.
Questions, or building a client against this? hello@lightning.fm. This page changes rarely and versions with the wire format.