Verifying a Telegram handle
Thirty seconds of checking before you message. This is the single highest-value habit when working with Web3 contact data, and almost nobody does it.
Why this page exists
Telegram handles in this dataset — and, as far as we can tell, in every comparable dataset — are produced by testing whether an account with the same username as the contact's X handle exists on Telegram. That is a username collision test, not an identity check.
It is often right. It is not reliably right. In a 300-contact audit we found roughly 6% of checkable matches belonged to a different person, and about two thirds of matched accounts had profiles too empty to judge either way. Full numbers on the methodology page.
Consider what the error costs. A wrong LinkedIn connection request is ignored. A wrong Telegram DM introduces you to a stranger, burns the contact, and if that stranger knows the person you meant it can be worse than that. Thirty seconds avoids all of it.
The check
1. Look at the X bio first — it often just tells you
Search the xBio column for t.me or tg. Some people publish their Telegram handle themselves, and when they do it is the only fully trustworthy source available. It overrides whatever handle is in the file.
This matters more than it sounds. In our audit, one contact's own X bio read tg @misschash while the inferred handle in the data was a different username entirely. The person had said where to find them and the pipeline had not listened.
In Google Sheets, flag them all at once:
=REGEXEXTRACT(LOWER(G2), "t\.me/([a-z0-9_]+)|tg[:\s@]+@?([a-z0-9_]{4,})")
2. Compare the two profiles
Open the handle in Telegram and read the profile title and bio against the contact's X bio. You are looking for one specific thing: a detail that appears on both sides and is not the username.
Strong — message with confidence
A shared employer, project, role or distinctive full name across both profiles.
X: "Head of Marketing @ether_fi" · Telegram: "Slater — Head of Marketing @ ether.fi"
Same role, same company, independently stated. That is not a coincidence.
Strong — self-published cross-reference
Either profile links to the other.
Telegram bio: "prev. co-founder satonomy.io · x.com/shira_sats"
The person has connected the identities themselves. This is the best evidence that exists.
Weak — do not treat as confirmed
A shared first name, or overlapping generic sector words. "Crypto", "Web3", "DeFi", "founder", "building" describe thousands of people on this list and connect nothing.
X: "Frontend Engineer, Fintech & DeFi" · Telegram: "Ikhwan — Cracked Dev, Fintech & Defi"
Plausible. Not established. Approach through X instead, or open with something that survives being wrong.
Stop — this is the wrong person
Different given names across the profiles, an organisation or channel rather than a person, or the contact naming a different handle in their own bio.
X display name: "Nima Kia" · Telegram title: "Nicholas"
3. Check the account is alive
Telegram shows a last-seen time on most profiles. A handle that is correct but dormant for two years is not a contact. Search the username in Telegram's search bar — you will see the display name and last-seen without opening a conversation or sending anything.
An empty profile — no display name beyond a first name, no bio, no photo — is not evidence of anything either way. It is simply unjudgeable, and it describes about two thirds of matched accounts. Use another channel for those.
What "no evidence" means
It does not mean the handle is wrong. It means you cannot tell, and you should act accordingly: use X, which is present on 98.9% of records and does not have this problem, or open with a message that reads sensibly even if it reaches a stranger.
A useful habit: for unverified handles, put the identifying detail in the first line rather than assuming it. "Hey — is this the Slater who runs marketing at ether.fi?" costs nothing if you are right and fails gracefully if you are not.
Doing this at scale
For a shortlist of 30 to 50, do it by hand as you write each message; it adds a few seconds per contact.
For a larger list, sort by evidence rather than checking everything. Add a column that flags rows where the Telegram profile title or bio shares a distinctive word with the X bio — excluding generic terms — and work that subset first. Those are the handles most likely to be correct, and they are a minority of any list.
We apply this logic on ingestion for newly added contacts, through a gate that refuses to store a match unless specific cross-profile evidence supports it. It does not retroactively cover handles collected before it existed, which is why this page exists rather than a promise that the field is clean.
Why we publish this
Because the alternative is selling a 31.5% coverage number and letting you discover the error rate on your own contacts. A field with a stated reliability is worth more than a field with an implied one, and every vendor in this category has the same underlying problem whether or not they say so.