How do I apply for the OKX Market Forced Royalty Contract?
How do I apply for the OKX Market Forced Royalty Contract?
Before applying for the OKX Market Forced Royalty Contract, make sure you have:
Deploys or upgrades the NFT contract
Whitelists the OKX market contract
Set up royalty information by connecting your contract administrator wallet to the collection page, and selecting Make collection offer to set the royalty receiving address and collection rate. If you would like to modify your collection information, you can refer to this article for the collection in the EVM network and this article for the collection in the Ordinals network.
Note: If the project team’s wallet cannot connect to the market, you can contact our market technical staff for configuration.Make sure the following information is met before submitting your application via this application form:
Only whitelist contracts provided by OKX are tradable (refer to the integration document)
Contracts from other markets are not tradable
If the whitelist is opened to other markets that do not enforce forced royalties, OKX reserves the right to stop exclusive collection trading
What are the whitelisted addresses in different chains?
Aggregator addresses, mandatory royalty market contract addresses, and unified authorization contract addresses are transaction-related addresses that must be configured.
The batch transfer tool address is the OKX tool address, compatible with ERC721 and ERC1155, and its configuration is optional.
Chains | Aggregator address (Compulsory) | Mandatory royalty market contract address (Compulsory) | Unified authorization contract address (Compulsory) | Batch transfer tool address (Optional) |
ETH | 0xa7FD99748cE527eAdC0bDAc60cba8a4eF4090f7c | 0x82C0fDFA607d9aFbe82Db5cBD103D1a4D5a43B77 | 0x2B45c083c9cAb7edA8d2d63B926d9A828EE01c74 | 0x5B93A825829f4B7B5177c259Edc22b63d6E4e380 |
Polygon | 0xa7FD99748cE527eAdC0bDAc60cba8a4eF4090f7c | 0xdc8B1f859bD9aFd93159DEcF75eaDD5f871aE6ee | 0x2B45c083c9cAb7edA8d2d63B926d9A828EE01c74 | 0x8325A52a1B74Cd50B4CcF94dD821F56A7a9018E2 |
ARB | 0xa7FD99748cE527eAdC0bDAc60cba8a4eF4090f7c | 0xdc8B1f859bD9aFd93159DEcF75eaDD5f871aE6ee | 0x2B45c083c9cAb7edA8d2d63B926d9A828EE01c74 | 0xdc426b528377F3Bd301D09FA0Ea16ff169cC8C73 |
BNB | 0xa7FD99748cE527eAdC0bDAc60cba8a4eF4090f7c | 0xdc8B1f859bD9aFd93159DEcF75eaDD5f871aE6ee | 0x2B45c083c9cAb7edA8d2d63B926d9A828EE01c74 | 0x6A5Cf9D9d0B8c32610b2a2e60cBb766D3404C3c6 |
Mode | 0xa7FD99748cE527eAdC0bDAc60cba8a4eF4090f7c | 0x2Cc7a0Ab3CD788d4C59A31d7C4001351Fb1CE564 | 0x2B45c083c9cAb7edA8d2d63B926d9A828EE01c74 | 0x5F47bfAD0d500A999b6A937e8D1715Db0B573631 |
X Layer | 0xa7FD99748cE527eAdC0bDAc60cba8a4eF4090f7c | 0xEfcB1C65C1fff1BDE5938505137AddA08c02713B | 0x2B45c083c9cAb7edA8d2d63B926d9A828EE01c74 | 0x08E4a58C6434f3d59d3D608596cFc3Cb95ef3329 |
What are the reference codes?
Here are the codes that you can reference to:
For collection, you can refer to the ERC721 standard implementation of Openzeppelin 4.9 as an example.
JavaScriptfunction _beforeTokenTransfer( address from, address to, uint256 tokenId ) internal virtual { if (_isContract(msg.sender)) { require(senderAllowlist[msg.sender], "Sender not in Allowlist"); } // ... ... // ... ... }
For open-source code, you can refer to this link as an example