Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Allowed kinds

The shipped default whitelist, in full. It is identical in both packages (DEFAULT_ALLOWED_KINDS in floonet-strfry/plugin/floonet_writepolicy.py and in floonet-rs/src/admission.rs), and it is exactly what runs in production on the flagship relay.floonet.dev, which serves two applications: the Goblin wallet and the Magick Market marketplace. Everything not listed is rejected; see The whitelist: default deny.

Goblin wallet kinds

KindNIPNameWhy Floonet carries it
001Profile metadataDisplay names and avatars, so contacts render as people
302Contact listFollow and contact lists
509Deletion requestLets users retract their own events
1359SealThe inner encrypted layer of a gift wrap
105959Gift wrapThe opaque envelope everything private travels in
1000265Relay listWhere a user can be found
1005017DM relay listWhere to deliver a user’s private messages
2413346Nostr ConnectRemote signing (ephemeral); wallet login
24140GoblinAuthorize SessionsEphemeral session channel for the Authorize Sessions feature
2723598HTTP authAuthenticates name-authority registration requests

Magick Market marketplace kinds

The marketplace also reuses 0, 5, 1059, and 10002 above.

KindNIPNameWhy Floonet carries it
101Text noteBug reports, shared listings
725ReactionLikes on listings and posts
14GammaOrder chatPlaintext order messages in the market’s order flow
16GammaOrder statusOrder processing and status updates
17GammaPayment receiptPayment confirmation in the order flow
111122CommentThreaded comments
1000051Mute listMerchant/product blacklist
3000051People setAdmins, editors, featured users
3000351Bookmark setFeatured collections
3002323Long-form articleNews and long-form posts (author-locked, see below)
3007878App-specific dataCart, relay preferences, registries
3040299Product listingClassified listing / product
30405GammaProduct collectionCollections and featured products
30406GammaShipping optionShipping options in the order flow
3199089Handler informationMarketplace instance settings

“Gamma” marks kinds from the Gamma Markets spec the marketplace implements; they have no merged NIP yet.

Public notes are author-locked

Being on the whitelist is necessary but not sufficient for the two public-note kinds. Kind 1 (text notes) and kind 30023 (long-form articles) are accepted only from an operator-chosen set of authors. This is closed by default: with no authors configured, both kinds are rejected for everyone, so random notes cannot be spammed to the relay. Every other kind is unaffected, and kind 0 profiles stay open so wallets can republish them.

Operators list the authorized authors as hex pubkeys or npubs (their choice):

  • floonet-strfry: FLOONET_AUTHORIZED_AUTHORS, comma-separated, in .env (or in a KEY=VALUE file named floonet.env next to the plugin, path overridable via FLOONET_ENV_FILE; real environment variables win, and touching the plugin reloads it with no restart).
  • floonet-rs: authorization.public_note_authors in config.toml.

Invalid entries are logged and skipped; the rest still apply.

Excluded on purpose

KindWhy it is rejected
9735Lightning zap receipts; dead in this GRIN-only ecosystem
25910ContextVM; only ever rides inside a 1059 gift wrap, never raw
30017/30018Legacy NIP-15 market events; read from sellers’ own relays during migration, never written here

Notes

  • The canonical list is the union of what the two live applications publish and read; the tables above match DEFAULT_ALLOWED_KINDS in both packages and the policy running on relay.floonet.dev.
  • Kind 22242 (NIP-42 AUTH) is a connection-level event, not a stored one, so it does not appear in the storage whitelist; it is handled by the auth machinery when authentication is enabled.
  • Operators upgrading an existing relay: the list may grow, but never narrow it below what live wallets already depend on.
  • Kind reference: https://nostrbook.dev/.