NFT / Marketplace·Zora Network · Base · Ethereum · Optimism · Arbitrum · EVM
Zora
NFT mint protocol and Zora Network L2, plus the newer Coins Protocol that turns posts and creator profiles into instantly tradeable ERC-20s on Base via Uniswap V4 hooks. Two SDKs: Protocol SDK for 1155/721 mints + collects, and Coins SDK for content/creator/trend coins.
- 011155 open-edition mints
- 02creator and content coins (Coins Protocol)
- 03Uniswap V4 hook trading
- 04low-cost mints on Zora Network and Base
- 05premints (gasless creator setup)
- pnpm add @zoralabs/protocol-sdk @zoralabs/coins-sdk viem
| Variable | Scope | Description |
|---|---|---|
| ZORA_API_KEY | Server | API key from zora.co/settings/developer (required for Coins SDK rate limits and full features). |
| NEXT_PUBLIC_ZORA_CHAIN_ID | Client | Target chain ID (e.g. 7777777 for Zora Network, 8453 for Base). |
For NFT mints use `@zoralabs/protocol-sdk`: instantiate `createCollectorClient({ chainId, publicClient })` and call `mint({ tokenContract, mintType: '1155', tokenId, quantityToMint, minterAccount })` to get prepared calldata, then send via viem/wagmi. For Coins, install `@zoralabs/coins-sdk`, call `setApiKey()`, then use `createCoin()` to deploy a content/creator coin and `tradeCoin()` to swap through the V4 pool. Coins Protocol runs on Base mainnet today.
- ⚑Coins Protocol launches use a custom Uniswap V4 hook with an anti-sniping fee that decays from 99% over the first 10 seconds — UIs must surface this or users will see brutal slippage.
- ⚑Zora's Protocol Rewards split mint fees among creator, referrer, and the protocol — set `mintReferral` and `platformReferral` correctly or you forfeit the referral share.
- ⚑Royalty enforcement on Zora 1155 is EIP-2981 only; secondary venues (OpenSea, Blur) can ignore it. Don't model creator revenue on royalty income alone.
- ⚑The Coins SDK needs an API key (`setApiKey`) for indexed queries; without it you hit rate limits and lose explore/leaderboard endpoints.
- ⚑Premints exist off-chain until the first collect; you cannot read them via standard ERC-1155 indexers — use the Zora API or Protocol SDK helpers.
- ⚑Zora Network (chainId 7777777) and Base (8453) are both supported but contract addresses differ — always derive from the SDK's chain config, never hardcode.