Contract Addresses
All contracts are deployed to the same addresses on both Base and BSC:| Contract | Address |
|---|---|
| ENSRegistry | 0xce3830A628674C67e35294128F638dDC9c69d8f8 |
| MakxRegistrar | 0x62b26B7e71127AF8bD26b44FB3BF2f17D845A530 |
| MakxTokenResolver | 0xEcB18a27D37a289AA5A9721f8F28c879E894E2F3 |
| MakxUniversalResolver | 0x535aeD7b7Cd80Ed9A0835E1Ed29a99d038B8B777 |
Registering Tokens (Factory Integration)
Only approved factories can register .makx domains. Your factory contract must be added by the Makx team before you can register names.Registration Flow
What Happens During Registration
A singleregister() call atomically:
- Creates the ENS subnode
<label>.makxin the ENS registry - Sets the resolver to
MakxTokenResolver - Stores immutable token data (address, name, symbol)
- Sets the ETH address record (coin type 60)
- Stores initial text records from
keys/values - Creates the reverse record (
<address>.addr.reverse->label.makx)
owner in the request becomes the metadata editor — they can update mutable text records and contenthash, but cannot change the token address, name, or symbol.
Label Rules
Labels are used as-is (no normalization). The resulting domain is<label>.makx. Choose labels carefully — they cannot be changed or re-registered.
Managing Token Metadata
After registration, the metadata owner can update mutable fields by calling theMakxTokenResolver directly.
Setting Text Records
name, symbol) will revert with ImmutableField(key).
Setting Content Hash
Transferring Metadata Ownership
setText, setContenthash, and transferOwnership.
Reading Token Data On-Chain
Single Call for Core Info
Individual Lookups
Reverse Lookup
To find the .makx name for a token address on-chain, compute the reverse node:Verifying a Makx Token On-Chain
Computing Node Hashes
The node for<label>.makx is: