.ely names that can be registered, owned, transferred and resolved to wallet addresses.
Each registered name is represented by an ERC-721 NFT. The protocol provides smart contract interfaces for registration, renewal, ownership management, name resolution, partner programmes, referrals and marketplace royalties.
This section explains how developers, wallets, applications and other ecosystem projects can interact with the protocol.
1. What Developers Can Build
Developers can integrate.ely names into applications and services across the Elysium ecosystem.
Examples include:
- Wallet integrations: Allow users to send assets to a human-readable
.elyname instead of entering a full wallet address. - Name resolution: Resolve a registered name to its associated wallet address.
- Identity and profiles: Display a user’s
.elyname as their onchain identity. - NFT integrations: Read ownership information, display name NFTs and support compatible transfers.
- Marketplace integrations: Support trading of
.elyNFTs and retrieve royalty information through ERC-2981. - Partner integrations: Verify eligibility for configured partner programmes and benefits.
- DeFi integrations: Use
.elynames as readable identifiers within supported applications and interfaces.
2. Protocol Architecture
Elysium Names is organised around three primary smart contracts.ElyNamesMainnet
The core ERC-721 name contract. It manages:- NFT ownership and transfers.
- Name expiry information.
- Address records.
- Text records.
- Primary-name settings.
- Manager permissions.
- Name resolution.
- ERC-2981 royalty information.
ElyControllerMain
The registration and protocol-management contract. It handles:- Name registration.
- Commit-reveal registration protection.
- Registration pricing.
- Renewals.
- Expiry and grace-period rules.
- Expired-name premiums.
- Referral accounting.
- Registration discounts.
- Partner programme configuration and eligibility.
- Reserved-name registration.
- Payment routing.
ElyAuction
The auction contract handles the distribution of reserved single-character names. It manages:- Auction scheduling.
- Bidding.
- Minimum bid increases.
- Outbid refunds.
- Auction settlement.
- Winning-bid registration.
- Auction proceeds.
3. How the Contracts Work Together
The contracts divide responsibilities while working together as one naming system. For example, when a user registers a name:- The user prepares a registration commitment.
- The controller validates the commitment and registration conditions.
- The controller processes the registration payment.
- The core name contract creates the corresponding NFT and assigns ownership to the intended receiving wallet.
- The registered name becomes available through the protocol’s resolution and record interfaces.
4. Name Resolution
Applications can resolve a.ely name to its associated wallet address using the core contract.
The resolve(string label) function accepts the name label without the .ely suffix.
For example, an application resolving yourname.ely passes yourname to the function.
The contract returns the associated wallet address when the name is valid and active. If the name is not registered or is no longer active, resolution returns the zero address.
The protocol also provides a reverse lookup through primaryNameOf(address account), which returns the account’s primary .ely name when one is set.
See Name Resolution for the relevant functions and integration considerations.
5. Ownership and Records
Because each name is an ERC-721 NFT, developers can use standard ERC-721 interfaces to inspect ownership and support compatible NFT operations. The protocol also provides name-specific functionality for:- Reading and updating address records.
- Reading and updating text records.
- Checking the assigned manager.
- Checking expiry information.
- Reading the primary name associated with a wallet.
6. Network and Development Environment
Elysium Names is designed for the EVM-compatible Elysium network. The protocol uses HYPE for registration payments and other applicable protocol transactions, in addition to the network’s required gas fees. The Elysium testnet configuration previously used during development includes:
These are testnet details, not mainnet configuration.
For mainnet integrations, developers should use the official network parameters and deployed contract addresses published for the public deployment. Do not reuse testnet addresses or configuration when connecting to mainnet.
7. Developer Resources
The following resources provide additional information and access to the protocol’s implementation.- Website: https://elysiumnameservice.xyz/
- Developer reference: https://elysiumnameservice.xyz/developers.html
- GitHub repository: https://github.com/bonaventure001/ely-names
- X: https://x.com/elysiumNames
8. Where to Go Next
This documentation is organised to help developers understand the protocol before integrating it.- Name Resolution: Learn how to resolve
.elynames and retrieve associated records. - Smart Contract Architecture: Explore the responsibilities and relationships of the protocol contracts.
- Integration Guide: Learn how applications can interact with the protocol.
- Contract Administration: Understand ownership, permissions and administrative configuration.
- Security & Testing: Review the protocol’s testing approach and security considerations.