FortiBlox LogoFortiBlox Docs

X1ID

X1ID resolves @handles and X1NS domain names to addresses on the X1 blockchain, and addresses back to their primary @handle — read straight from chain, never from an API you have to trust.

X1ID

X1ID (x1id.io) is name resolution for X1. It turns a human-readable name into an address, and an address back into the @handle its owner chose as primary — and it does both by reading on-chain accounts directly, so nothing you build on it depends on a FortiBlox server being up.

Two naming systems are covered, and they are kept strictly apart:

  • @handles — flat, permanent, ASCII-only names (@jack) issued by the on-chain X1 Handle Registry program.
  • X1NS domains — the pre-existing hierarchical namespace (jack.x1, jack.xnt, jack.xen), resolved for compatibility.

The one rule

@jack and jack.x1 can belong to different people. Every result X1ID returns names the namespace that answered, and input shaped like both (@jack.x1) is refused with ambiguous rather than guessed. Show the namespace next to any resolved address before letting a user send.

Start here

Where things live

Program / endpointNetwork
@handle registry program8JgnNWi24bq9uzfnT9XmkWxvaWMVgoEs9bu8QsHhLe1PX1 testnet
@handle resolution RPChttps://rpc.testnet.x1.xyzX1 testnet
X1NS domainsSPL Name Service under the .x1 / .xnt / .xen rootsX1 mainnet
Hosted REST resolverhttps://api.x1id.ioreads X1 testnet

The handle registry is testnet-only today; mainnet deployment is gated on a custody decision for the registry's authority. See Introduction for the full constants table.