Skip to main content
Updating ERC721C (v1) Security Policy

Protecting creator royalties on Magic Eden's EVM NFT platform.

Updated over 2 months ago

This guide is designed to assist creators using ERC721C v1 contracts in updating their security policy to block transactions involving platforms which do not respect creator royalties. This document pertains specifically to ETH however the process is the same for other EVM chains like Polygon.

Ethereum mainnet

Polygon mainnet

Validator

0x0000721C310194CcfC01E523fc93C9cCcFa2A0Ac

0x0000721C310194CcfC01E523fc93C9cCcFa2A0Ac

Level

1

1

operatorWhitelistId

14

14

permittedContractReceiversAllowlistId

1

1

Requirements

Before proceeding, ensure you have:

  • Your collection’s contract address

  • Access to the collection contract owner wallet

  • Sufficient ETH (or MATIC if on Polygon) in the owner wallet for transaction fees

Overview

  • Check if you are currently registered to the default validator

  • Check if you are currently subscribed to the default subscription

  • Subscribe to the Magic Eden list

Walkthrough

Check if you are currently registered to the default validator

Start by confirming if your collection is registered to the default validator maintained by Limit Break. Navigate to your collection contract on Etherscan (or Polyscan) and access “Contract” > “Read Contract”. Look for the getTransferValidator section. Note that the index may vary (e.g., 8 in this case). If you can't locate it, ensure your contract utilizes ERC721C by Limit Break.

If the value returned in getTransferValidator matches 0x0000721C310194CcfC01E523fc93C9cCcFa2A0Ac, your collection is registered to the default validator, and you can proceed to the next step.

If it's different, your collection needs to switch to the default validator. Refer to How to switch to default validator and Magic Eden whitelist for guidance.

Check if you are currently subscribed to the Magic Eden whitelist

Next, verify if your collection is subscribed to the Magic Eden whitelist.

Locate the getSecurityPolicy function, select “query.” This query doesn’t require your wallet to be connected, making it safe and free.

Note the result. In the provided example, the returned value is 0, 0, 0, indicating that the collection contract uses the configuration security level = 0, operator whitelist id = 0, permitted contract receiver allowlist = 0. Your collection may have different values.

If the returned value from your collection contract is 1, 14, 1, you are subscribed to the Magic Eden whitelist and are all set.

If you see different values, follow the steps outlined in How to switch to default validator and Magic Eden whitelist for assistance.

How to switch to default validator and Magic Eden whitelist

To proceed with this step, connect your collection owner wallet to Web3 and ensure there's enough ETH in your wallet to cover transaction fees.

  • Click “Connect to Web3” and follow the instructions from your wallet to connect the collection owner's wallet.

  • Once connected, navigate to your collection contract and access “Contract” > “Write Contract”. Locate setToCustomValidatorAndSecurityPolicy and set the following parameters:

    • validator (address): 0x0000721C310194CcfC01E523fc93C9cCcFa2A0Ac

    • level (uint8): 1

    • operatorWhitelistId (uint120): 14

    • permittedContractReceiversAllowlistId (uint120): 1

Click “Write” to submit the transaction. You will be prompted to sign with your wallet and pay a small gas fee to update the security policy.

Optionally, you can verify the update by using getCollectionSecuritypolicy in the validator contract here. It should now return 1, 14, 1.


If you encounter any issues or need further assistance, don't hesitate to reach out to our support team.

Did this answer your question?