Protocol Rewards
#
IntroductionAt Zora, we are passionate about providing the best experience to create and earn onchain. Protocol Rewards is a split of our 0.000777 ETH mint fee allowing:
- Creators to monetize their work
- Developers to earn from NFT mints and creations they facilitate
#
Fee Split (Per Mint)#
Free MintRecipient | Amount |
---|---|
Creator | 0.000333 ETH |
Create Referral | 0.000111 ETH |
Mint Referral | 0.000111 ETH |
First Minter | 0.000111 ETH |
Zora | 0.000111 ETH |
#
Paid mintRecipient | Amount |
---|---|
Create Referral | 0.000222 ETH |
Mint Referral | 0.000222 ETH |
First Minter | 0.000111 ETH |
Zora | 0.000222 ETH |
Mint Referral: The platform that referred a specific mint of an NFT
Create Referral: The platform that referred the creator to deploy the NFT collection
First Minter: The first collector to mint an NFT, defaults to the NFT creator if a normal NFT
#
How It Works: Creator- Creator selects the "Free + Rewards" pricing option when creating their 721 or 1155 NFT
- Creator specifies a wallet address eligible to claim their rewards
- Creator opens up their edition for minting -- that's it!
The creator's total ETH generated from rewards is aggregated into an escrow contract and can be withdrawn at any time.
#
How It Works: Developer#
Create Referral RewardThe create referral reward is paid out to the developer or platform that referred the creator to deploy their NFT collection using Zora's contracts.
#
Creating an ERC-721 TokenThe createReferral
address is the parameter to specify the reward recipient when calling the createEditionWithReferral
or createDropWithReferral
functions.
More info on the other parameters from our standard createEdition
and createDrop
functions can be found here.
function createEditionWithReferral( string memory name, string memory symbol, uint64 editionSize, uint16 royaltyBPS, address payable fundsRecipient, address defaultAdmin, IERC721Drop.SalesConfiguration memory saleConfig, string memory description, string memory animationURI, string memory imageURI, address createReferral) external returns (address)
function createDropWithReferral( string memory name, string memory symbol, address defaultAdmin, uint64 editionSize, uint16 royaltyBPS, address payable fundsRecipient, IERC721Drop.SalesConfiguration memory saleConfig, string memory metadataURIBase, string memory metadataContractURI, address createReferral) external returns (address)
#
Creating an ERC-1155 TokenThe createReferral
address is specified upon token creation.
function setupNewTokenWithCreateReferral( string calldata newURI, uint256 maxSupply, address createReferral) public
#
Mint Referral RewardThe mint referral reward is paid out to the party that referred the collector to mint an NFT.
#
ERC-721 MintingThe mintReferral
address is the parameter to specify as the reward recipient upon mint.
function mintWithRewards( address recipient, uint256 quantity, string calldata comment, address mintReferral)
#
ERC-1155 Mintingfunction mintWithRewards( IMinter1155 minter, uint256 tokenId, uint256 quantity, bytes calldata minterArguments, address mintReferral)
#
Withdrawing RewardsRewards must be withdrawn from the escrow contract, which the address can be found here.
function withdraw(address to, uint256 amount)
function withdrawWithSig( address from, address to uint256 amount, uint256 deadline, uint8 v, bytes32 r, bytes32 s)