Managing Your Deployed ERC721-C Collection Settings

Limit Break Dev
Limit Break
Published in
6 min readSep 27, 2023

A new addition to the Minting Press is the ability to define and modify your security settings, giving you full control over every aspect of your collection. The easiest way to handle this is to use the default settings applied when launching your contract, which provides basic royalty protections and blocking royalty-optional exchanges without any other bells and whistles.

If you do not wish to use the defaults, you are empowered to create and maintain your own allowlists and security policies directly. First, we’ll discuss how to create new allowlists and security policies, then how you can apply those to your collections directly.

To get started, select “Manage My Collections” from the landing page

Creating and Maintaining Allowlists

Operator and Receiver allow lists are what drive the ability for ERC721-C to control how tokens move. These define the contracts permitted to interact with ERC721-C tokens. Without these restrictions, bad actors would be able to ignore the rules as coded and perform unwanted actions. By default, tokens are assigned the Limit Break managed Operator Allowlist, which will include the payment processor as well as any other conforming exchange contracts. There is no default receiver allowlist maintained, and Limit Break has no public one.

Note: Receiver allowlists are used in cases where creators want to explicitly allow specific external protocols to receive and add composable functionality on top of their collections.

To create your own custom operator allow lists, click the CREATE NEW ALLOWLIST button. Add and remove marketplace or other operator smart contract addresses at your own discretion.

Once created, your allow list will appear in the list as editable. You can add and remove addresses one at a time. You may also add and remove addresses to your allowlists at any time in the future as market conditions evolve.

Creating and Maintaining Security Policies

Security policies control fine grain aspects of how collections interact with the Payment Processor, such as whether smart contract signatures are accepted, pricing constraints are enforced, and whether there are defined payment methods allowed for settlement and more. Creators can define their own policies, or use the immutable default policy. A full list of the security settings are:

  • Exchange Allowlist: If enabled, only contracts on the Exchange Allowlist are able to call the payment processor to execute orders.
  • Payment Method Allowlist: Enforces that only tokens on the allowlist can be used to complete payment for tokens.
  • Pricing Constraints: If enabled, the creator can set a single payment token, as well as lower and upper bounds for the collection. Owners can also set pricing bounds at the token level.
  • Private Listings: If enabled, allows for users to perform direct OTC sales through the payment processor.
  • Delegated Purchases: Allows for designated addresses to purchase for another address.
  • EIP1271 Signatures: Allows for smart contracts to sign orders via EIP1271
  • Exchange Allowlist EOA Bypass: Allows for confirmed EOAs to bypass the exchange allowlist
  • Policy Owner: The address of the owner who controls the policy. If this is address(0), the site will display “Ownership Renounced”
  • Push Payment Gas Limit: The amount of gas forwarded on transfer, modifiable to allow for this to change if there is an upgrade which requires this.

To define your own policy, you click the CREATE NEW POLICY button at the bottom of the screen and toggle your selections. If you choose to have an Exchange Allowlist or Payment Method Allowlist defined, you can update those lists after creation.

Applying Them To Your Collection

Contracts you have deployed via the Minting Press are captured under the “Collections” tab after selecting “Manage My Collections” on https://developers.freenft.com/. All collections created by the address you are connected with will be visible upon loading this page. If you do not see the contract you wish to edit, you can use the search functionality and load it manually.

Once you select a contract to modify, the screen presents two dropdowns, ERC721-C Settings and Marketplace Security Settings. These separate the modifications you make to your actual ERC721-C NFT and configurations that apply to the Payment Processor.

ERC721-C Settings

ERC721-C Settings are settings directly related to the transfer and receipt of the NFT. On this page, token creators can define:

  • Transfer Security Level: Select from one of the (7) predefined Transfer Security Levels which range from fully open to extremely restrictive, depending on the creator’s needs and current market factors.
  • Operator Allowlists: If a token’s Transfer Security Level is 1 or greater, a creator can select from already defined Operator Allowlists which enforce the contracts or addresses that may call the transferFrom function on a token.
  • Receiver Allowlists: If a token’s Transfer Security Level is 3 or greater, a creator can select from already defined Receiver Allowlists, which enforce the contracts or addresses that may receive the token without needing to conform to the security constraints such as signing the EOA Registry or having code at the address.

Marketplace Security Settings

In this section you can review and select the Security Policy you would like to apply to your collection. To see more details, you can click the “More Info” button

Now that you have deployed and configured your ERC721-C contract, you can distribute it and users can freely trade on any marketplace which supports the Payment Processor as a settlement protocol.

Reservoir offers tooling for creators to make branded marketplaces. Stay tuned for the final tutorial in this series that will teach you how to create your own white label marketplace!

Safe Multi-Signature Wallet Support

To make managing your collections more secure, the Minting Press dApp was made to be compatible with the Safe Apps ecosystem. To use it, you can load the Minting Press as a custom app by following the below steps:

  • Navigate to https://app.safe.global and load your safe
  • Clicking the “Apps” tab on the left hand side
  • Clicking the “My custom apps” tab at the top.
  • Adding a custom Safe App is as simple as typing in the url of the dApp https://developers.freenft.com/ and loading it.

Once you have added the custom app, it will show without needing to add again. Submitting a transaction on the Minting Press via the safe app will create a proposal for your transaction so your other multi-sig signers can review and approve.

Limit Break’s ERC721-C, Adventure ERC721-C, Payment Processor, Minting Press, and related services and protocols (collectively “Tools”) are made available on an as-is basis and Limit Break disclaims all representations and warranties, express or implied, in connection with use of these Tools. Users bear all responsibility for ensuring the proper and legal use of these Tools and should exercise best judgement and caution where appropriate when deploying them. Limit Break does not warrant, endorse, guarantee, or assume responsibility for any product or service advertised or offered by a third party using the Tools, and will not be a party to or in any way be responsible for monitoring any transaction between users and any third-party providers of products or services deploying the Tools.

--

--

Limit Break Dev
Limit Break

Limit Break devs live by a code: be the best and ship, ship, ship!