← Protocols
Sound.xyz
NFT / Marketplace·Ethereum · Optimism · Base

Sound.xyz

01Description

Onchain music NFT protocol with a Sound Edition contract standard, tiered mint schedules, and a TypeScript SDK for releases and indexed metadata.

02Best for
  • 01music NFT releases
  • 02tiered/golden-egg mint schedules
  • 03artist drop pages
  • 04music collector portfolios
  • 05song-level royalties
03Install
  • pnpm add @soundxyz/sdk viem
04Environment variables
VariableScopeDescription
SOUND_API_KEYServerSound.xyz API key (request via Discord) for indexed event/metadata reads.
05Prompt snippet
Use the Sound SDK for music NFT mints and indexed reads. Construct with `const sound = SoundClient({ apiKey: process.env.SOUND_API_KEY, transport: http() })`. Fetch a release via `sound.release.fromHandle({ artistHandle, releaseSlug })`, then call `sound.edition.eligibleQuantity({ editionAddress, mintSchedule, account })` to gate UI before mint. Execute the mint with `sound.edition.mint({ mintSchedule, quantity, account })` which builds a viem transaction. Listen for indexed mints via the GraphQL endpoint at `https://api.sound.xyz/graphql` (auth header `x-sound-api-key`).
06Gotchas
  • Sound.xyz consumer site went offline in early 2026 — the Sound Protocol contracts and SDK still work, but the indexed GraphQL/API may stop serving new releases; budget for self-indexing via reservoir or direct event logs.
  • Sound Edition uses ERC-721A batch minting — `tokenId` is sequential per edition, not per mint schedule, so allowlist + public + golden-egg schedules all share the same ID space; UI must group by schedule for analytics.
  • Royalties are enforced at the contract level (EIP-2981) but Sound historically used the operator filter; downstream marketplaces that ignore it (Blur, X2Y2 by mode) skip royalties — pin secondary listings to royalty-honoring venues.
  • Mint schedules include `signed` configurations requiring a Sound-issued signature — calling `mint()` without it reverts with `InvalidSignature`; always go through the SDK rather than constructing the call yourself.
  • Audio + cover art metadata is pinned to Sound's IPFS provider; archival collectors should re-pin via Filebase/Pinata since the project's hosted gateway may not persist beyond their indexed window.
  • Each chain has separate Sound Protocol deployments — passing an Ethereum edition address to an Optimism client returns `EditionNotFound`.
07Alternatives