The title is quite a mouthful, but it’s the most accurate summary of what I’m about to explain in this article. For an upcoming audio-visual NFT release I tried to find a technical solution where:
a) my collaborator and I would be able to mint on our own custom contract
b) have both primary and secondary sales split directly into two different wallets and
c) have the NFT listed on the Zora marketplace
As it turns out, there is no off-the-shelf solution for this, so I started to investigate further. My plan was to really understand how contracts, modules and tokens interact with my wallet and the blockchain so I reached out to @sweetman.eth and @0xSplits who were so kind to invest their time to explain everything to me in detail. This article explains everything I learned in the process. I hope you will find it useful!
First of all, let’s get an overview what we’re actually doing here from a conceptual standpoint:
A contract on 0xsplits distributes incoming fees according to a defined split to different wallets. This is the contract address where all sales profits (both primary and secondary) will be directed to
A custom contract on Manifold will be used for minting the tokens. This is where the assets will be uploaded to IPFS. Gas fees occur once for the deployment of the contract, and once for every token that is minted. Also, this is where you set the wallet address for secondary sales.
In order for the token to be indexed by Zora (and subsequently appear on the Zora marketplace), the Zora Transfer helper has to be be approved. Gas fees occur once for this.
To be able to define the details for token listing, the Zora Asks V1.1 module has to be approved for the Module Manager. Gas fees occur once for this.
As a last step, the sales price, currency and payout address need to be set for the token on the Zora Asks V1.1 module. Once the Zora Transfer Helper and Zora Asks V1.1 module are approved for your contract, this is the only step that needs be repeated for every new token you want to list.
This part of the article is the most detailed, as I wanted to make sure every step is explained and every on-screen reference is explained. I would suggest to take note of a few important details because you embark on your journey as you will have to return to them frequently throughout the process. These are:
Your wallet address
Manifold contract address
Zora Module Manager
Asks V1.1 Address
Also, I would suggest to do a trial run on the Rinkeby testnet before moving to mainnet. This has been really useful for me, as I didn’t have to worry about wasting gas fees on mistakes. You can request Rinekby Eth via the link at the end of the article. Be aware that the Zora contract addresses are different for Rinkeby and mainnet, so make sure you use the correct ones depending on which you are using.
All in all there are six steps required to list your NFTs that were minted with a custom Manifold contract for a fixed price on Zora with the primary and secondary royalties paid out via 0xsplits (hence the title of this article):