Collection Royalties on Alto Market

How to make your collection royalty ready for Alto Market

Alto supports ERC-2981 and strongly recommends that NFT contracts incorporate this into their code upon deployment.

Openzeppelin provides an easy reference royalty integration here: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/common/ERC2981.sol

If your NFT collection does not support ERC2981, you can optional set royalties by creating an override and linking it to the Open Royalty registry, Alto has deployed the Manifold Royalty Registry on Canto at: 0x5829c7eAc45059bF33164D3E0B7B4Dd945f32782

To easily deploy your own factory and link it to the registry please complete the following steps:

STEP 1: Create a new override using the Canto Block Explorer

https://evm.explorer.canto.io/address/0x438a5fd647a47709B8F5AF991EA2e5963b7D6552/write-contract#address-tabs

Make sure to connect your wallet (Metamask) used to deploy your NFT.

Enter the royalty percentage basis points (bps), 100 bps = 1%. And the address which should receive the royalties. Keep in mind that royalties can be paid in any token on Canto or in CANTO. So the receiving address should be able to receive ERC20 tokens and CANTO.

Once you’re happy with the settings, deploy this by clicking β€œWrite” and following the instructions in Metamask.

STEP 2: After this transaction is confirmed by Canto validators you can attach this to the Royalty registry.

First you will need the address of the Override you just created, which can be found in the Logs section of the transaction in step 1.

Now head over to the Royalty Registry and link the Override to your NFT contract:

https://evm.explorer.canto.io/address/0x5829c7eAc45059bF33164D3E0B7B4Dd945f32782/write-contract#address-tabs

Enter the Address of your NFT contract, and then the address of the override created in Step 1. Confirm by clicking β€œWrite” and follow the instructions in Metamask.

If you get an error message or difficulty estimating gas this is likely due to not using the wallet used to deploy the NFT or not having correct ownership of the NFT contract. Please contact Alto through their discord to link the contracts.

STEP 3: After the transaction in Step 2 has finished you can check the royalties by checking the RoyaltyEngine at:

https://evm.explorer.canto.io/address/0xc83ebAdD67e024e3B28468D6767A576eeb66e93B/read-contract#address-tabs

Under 3. getRoyaltyView, enter the NFT contract address, any valid NFT ID (default 1) and an amount (check with at least 1000 to correct for rounding). Click β€œQuery” ensure the below is correct.

If for whatever reason the information is not correct, you can start again from step 1.

Last updated