X (Twitter) Proof Guide

Prove you control an X account by adding your AnchorID to your profile bio.


What is this? X proof lets you prove you control an X account by adding your AnchorID to your profile bio or the website field on your profile.

Important: This is an account control proof. It does not prove legal identity.


How this differs from every other proof type

Every other AnchorID proof is fetched with an ordinary anonymous HTTPS request, which means anyone can re-run the check themselves with curl. X proof cannot work that way. x.com serves a JavaScript shell to non-browser clients, so a plain fetch never sees the bio text. AnchorID therefore reads the profile through the X API using a server-side application token.

Stated plainly, here is what that changes:

If you want a proof that any stranger can independently verify end to end, use a website, DNS or GitHub proof. X proof is a convenience for an account you already have, not the strongest link in your record.


Setup

1. Add the claim

On your edit page, choose X (profile bio) and enter either form:

@yourhandle
https://x.com/yourhandle

twitter.com URLs and www. prefixes are accepted and normalized. The claim is always stored canonically as https://x.com/<handle>, lowercased.

2. Put your AnchorID on your X profile

Add your resolver URL to either your bio or the website field on your profile:

https://anchorid.net/resolve/<your-uuid>

X bios are 160 characters. If that is tight, these shorter forms also verify:

FormExample
Short URLanchorid.net/<uuid>
LabeledAnchorID: <uuid>
Compactaid:<uuid>
URNurn:uuid:<uuid>

A bare UUID with no label or URL around it does not verify. A marker that only appears in your display name, your location, or a pinned post does not verify either — only the bio and the website field are read.

3. Verify

Click Verify on the claim. On success the claim moves to verified and https://x.com/<handle> is published in your profile's sameAs.


What AnchorID reads

Two public fields, and nothing else:

Specifically, AnchorID reads the expanded form of any link in those fields. X rewrites every URL in a bio through its t.co shortener and shows a truncated display form, so the real destination is only visible in the expanded link data the API returns.

What AnchorID does not see:

There is no "Sign in with X" step, and AnchorID never asks for access to your account.

A link that merely redirects to your resolver URL does not verify. The marker has to be on X.


Handle changes

The claim is keyed on the handle. If you change your X handle, the old claim stops verifying — add the claim again under the new handle and delete the old one.

Because handles on X can be released and re-registered by someone else, a verified X claim is a statement about the account that held the handle when it was checked. This is the same caveat that applies to any platform-issued name, and it is one of the reasons AnchorID identifiers are UUIDs rather than names.


Troubleshooting

MessageMeaning
Proof not foundThe resolver URL or a short marker isn't in your bio or website field. Check for typos and that the change is saved.
X account not foundThe handle doesn't exist. Check spelling, or re-add the claim if you changed handles.
X account unavailableThe account is suspended or restricted, so its bio can't be read.
X verification temporarily unavailableThe API request limit was reached. Your claim status is unchanged — try again shortly.
X verification is not enabledThis server has no X API credentials configured. Contact the administrator.
Could not reach the X APITemporary network problem. Your claim status is unchanged.

Verification results are cached for about 15 minutes. Use the re-check option to bypass the cache after editing your bio.


← Back to Proofs