Skip to main content

Trust & transparency

X1ID handles hold identity and route payments, so trust matters. Everything below is built in, and the final section gives you the on-chain address to check it all yourself.

Your handle is permanently yours

Once you register a handle, it’s yours — there’s no renewal to miss and no expiry that could quietly transfer it to someone else. A name people send money to must never change owners through inaction, so ownership doesn’t lapse. It only moves when you choose to transfer or sell it.

Built to resist impersonation

Handles use letters, numbers, and simple characters only — no emoji and no lookalike letters borrowed from other alphabets.
This closes a real trap. In many systems, an attacker can register a name that looks identical to yours using a lookalike character from another alphabet — for example a Cyrillic “а” in place of a Latin “a” in @alice. To the eye they’re the same; to a computer they’re different names. By allowing only one, plain character set, X1ID removes that whole class of attack instead of trying to spot it after the fact.

Verified vs. unverified records

Anyone can type an address into a name. X1ID lets you prove you control your addresses, and it shows the result honestly: a proven address appears as verified, and an unproven one is shown as unverified. Nothing unproven is ever dressed up as trusted, so people know what they’re relying on before they send.

Recovery, if you lose access

You can set up recovery in advance so that a lost or inaccessible wallet doesn’t mean a lost handle. Set it up while everything is working — it’s the safety net that lets you get your name back later. See What you can do.

You can audit it yourself

X1ID runs as a public on-chain program. You don’t have to take our word for anything — you can inspect it directly on the X1 explorer.

Registry program address

8JgnNWi24bq9uzfnT9XmkWxvaWMVgoEs9bu8QsHhLe1P
This program is currently deployed on X1 testnet. The move to X1 mainnet is a separate, deliberate step we’re preparing for — until then, treat handles as running on testnet. We’ll make the mainnet launch clear when it happens.

For developers

If you’re building an app and want to resolve @handles to addresses, there’s a public package, @x1id/resolve, on npm. Start at app.x1id.io.