Resolver API.
A common language for wallets, bots, trading interfaces and communities. Public, open, CORS enabled. No key required.
Base URL
/api
Resolve a name
Accepts milo or milo.coin. Returns the full canonical record. Unregistered names return 404 with available: true.
loading…
Reverse lookup
Find every name pointing at a token address.
Check availability
{ "name": "milo.coin", "valid": true, "available": false, "reason": "Already registered.", "record": { … } }List & search
q matches name, ticker, token name or address. owner lists names owned by a wallet.
Register (wallet-signed)
Registration needs no transaction and no fee. The owner proves control of a wallet by signing a plain-text message with ed25519 (what every Solana wallet's signMessage does).
The signature is the 64-byte detached ed25519 signature of the message bytes, base64 encoded. The message format is:
Nomen — register milo.coin Wallet: <base58 wallet address> Nonce: <nonce from /api/nonce> No transaction. No fees. This signature only proves wallet ownership.
Record fields
| Field | Meaning |
|---|---|
| name | Full name, e.g. milo.coin |
| label | Name without the suffix |
| ticker / tokenName | Locked at registration |
| mint | Solana token address this name points at |
| mintKind | existing (format validated) or example (generated identifier, no token deployed) |
| owner / creator | Wallet that controls the record / wallet that registered it |
| links | twitter, telegram, website, pumpfun, community (nullable, editable by owner) |
| image | Data URL of the square token image, or null |
| example | True for the seeded demo records |
Rules
Names are 3–24 characters: lowercase letters, numbers and single hyphens, no hyphen at either end. Short and generic names such as ai.coin or sol.coin are reserved. Name, ticker and token address are immutable; everything else is editable by the owner. One wallet can hold up to 100 names. Names identify tokens inside Nomen, not the public DNS.