MusicBrainz

Registry / resolver resolver tested — L1→L4

The identity registry that turns a music scrobble into a payable artist — recording MBID → artist MBID → wallet.

What gets metered

not a payable event itself — MusicBrainz is the registry that makes music events payable. A scrobble's recording_mbid is resolved via the WS/2 API (GET /ws/2/recording/<mbid>?inc=artists&fmt=json) to the credited artist_mbid, which the wallet registry maps to a payout address.

Attach surface — no fork

Read-only use of the public MusicBrainz WS/2 API (or a locally-run musicbrainz-server). Nothing is installed on MusicBrainz — the resolver composes into any music sidecar as its resolveCreator.

Quickstart

Enable MBID resolution in the Navidrome/Subsonic sidecar (CREATOR_WALLETS keyed on artist MBID):

PLATFORM=navidrome RATE=100 \
MUSICBRAINZ_USER_AGENT="universal-paywall/0.1 (ops@example.com)" \
CREATOR_WALLETS='{"<artist-mbid>":"0xArtistWallet"}' \
FACILITATOR_URL=https://facilitator.example FACILITATOR_API_KEY=… \
npx up-integration

# MUSICBRAINZ_BASE_URL overrides WS/2 (point at a local
# musicbrainz-server in CI to avoid the public ~1 req/s limiter)

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

npm test -w @universal-paywall/integrations

8 resolver unit tests, plus live validation against the public WS/2: a known recording resolved to its credited artist's wallet, a repeat lookup was served from cache (1 network call), and unknown MBIDs returned null.

Notes & caveats

Links

← All integrations