Skip to main content
Elysium Names uses administrative controls and contract-level permissions to manage protocol operations. These controls allow authorised accounts and contracts to perform specific functions while keeping name ownership separate from protocol administration. This page explains the administrative structure and the responsibilities associated with it.

1. Contract Ownership

The protocol uses OpenZeppelin’s Ownable2Step ownership model. Under this model, transferring ownership involves two steps:
  1. The current owner initiates the ownership transfer by nominating a new owner.
  2. The nominated address accepts the transfer to complete the process.
The two-step process helps prevent accidental transfers of administrative ownership to an incorrect address. Contract ownership provides access to functions restricted to the contract owner. It does not give the owner control over individual name NFTs owned by users.

2. Authorised Contracts

The protocol consists of three primary contracts:
  • ElyNamesMainnet
  • ElyControllerMain
  • ElyAuction
The core name contract needs to recognise the controller and auction contract so they can perform their authorised operations.

Controller authorisation

ElyControllerMain handles registration, renewals and other protocol operations. Its authorisation allows it to coordinate name registration and update relevant name information through the core contract.

Auction authorisation

ElyAuction handles the distribution of reserved single-character names. Its authorisation allows it to coordinate registration for successfully settled auctions. These permissions are necessary for the contracts to work together as intended. Authorisation is distinct from ownership: an authorised contract can perform its permitted operations without becoming the owner of the core contract.

3. Administrative Responsibilities

Protocol administration includes maintaining the configuration required for the contracts to operate correctly. Depending on the relevant contract and its available administrative functions, this includes:
  • Managing contract ownership.
  • Configuring authorised controller and auction contracts.
  • Managing treasury and royalty wallet settings.
  • Configuring reserved-name permissions.
  • Maintaining partner programme settings.
  • Reviewing protocol configuration before deployment or changes.
Administrative actions should be performed only by the appropriate authorised account.

4. Treasury and Royalty Configuration

Elysium Names uses separate treasury and royalty wallet settings. The treasury receives protocol payments, including registration payments, renewals and auction proceeds. The royalty wallet receives secondary-market royalties when supported marketplaces honour the royalty information returned by the NFT contract. These addresses are independently configurable. Changing one should not be assumed to change the other. Before making an administrative update, verify the intended recipient and confirm the resulting configuration onchain. For more information, see Treasury & Royalties.

5. Name Ownership Is Separate

Protocol administration should not be confused with ownership of registered names. Each registered name is represented by an ERC-721 NFT. The NFT holder owns the name, subject to its registration term and the protocol’s rules. The name owner can perform the actions permitted to them, including:
  • Transferring the name NFT.
  • Updating address and text records.
  • Appointing or removing a manager.
  • Setting or clearing a primary name.
An appointed manager has limited permissions and does not become the NFT owner. Protocol administrators do not automatically receive ownership of user-registered names.

6. Administrative Security Practices

Administrative access is an important part of protocol security. The following practices are recommended:
  • Use a secure administrative wallet.
  • Consider a multisignature wallet for critical administrative ownership.
  • Verify the destination address before initiating ownership transfers.
  • Confirm that nominated owners can accept ownership.
  • Review contract authorisations after deployment.
  • Keep treasury and royalty addresses clearly documented.
  • Verify configuration changes through onchain reads.
  • Avoid granting unnecessary permissions to external contracts or accounts.
Administrative keys should be protected independently of ordinary user wallets.

7. Deployment and Configuration Checks

During deployment, the protocol’s contracts must be deployed and configured in the correct order. The deployment process includes:
  1. Deploying the core name contract.
  2. Deploying the controller contract.
  3. Deploying the auction contract.
  4. Configuring the required contract authorisations.
  5. Applying reserved-name configuration.
  6. Reviewing treasury and royalty settings.
  7. Verifying administrative ownership and permissions.
The deployment scripts are available in the project repository:
  • script/mainnet/DeployMainnet.s.sol
  • script/mainnet/ScheduleAuctions.s.sol
The first script handles the main contract deployment and initial configuration. The second schedules the single-character auctions. Developers should inspect the actual deployment script and deployed contract state before assuming a particular administrative address or setting is active.

8. Important Considerations

  • Contract ownership and name NFT ownership are separate.
  • Ownable2Step requires the nominated owner to accept ownership.
  • The controller and auction contracts require their respective authorisations to interact with the core contract.
  • Treasury and royalty wallets are separate configuration settings.
  • Administrative permissions should be reviewed before and after deployment.
  • Testnet configuration should not be assumed to match mainnet configuration.

9. Summary

Elysium Names separates protocol administration from individual name ownership. The Ownable2Step model provides a two-step ownership transfer process, while authorised contract permissions allow the controller and auction contracts to perform their designated operations. Careful management of administrative ownership, contract authorisations and payment settings helps maintain the integrity of the naming protocol.