Skip to content

Your TON Wallet Has More Than One Address

6 min read · Verified September 2026

Every TON wallet is a smart contract, and each contract version (v3, v4R2, W5) derives a different address from the same seed phrase. Tokens are jettons, held in a separate contract per owner per token rather than a shared ledger. Both facts mean a tracker can watch a real address of yours and still show zero.

You restore a TON wallet from its seed phrase. The words are right. The app accepts them. The balance is zero.

Nothing has been stolen and nothing is lost. On TON, a wallet is not an account that the protocol maintains for you. It is a smart contract that gets deployed on your behalf, and there have been several versions of that contract over the years. A different version, derived from the same twelve or twenty-four words, produces a different address. Two of your addresses are real. Only one of them is on screen.

Why does one seed phrase give me several addresses?

Because the wallet code changed and old wallets kept working.

TON has shipped a sequence of wallet contracts: v1 and v2 in the early days, then v3R1 and v3R2, then v4R2, and now v5R1, usually written W5, which added features like gasless transfers and much higher message throughput. The comparison in TON's own documentation lays out what each version does differently. What it does not shout about is the consequence for users: the contract's code is part of what determines its address, so deploying a different version from the same key lands you somewhere else on the chain.

Tonkeeper's documentation on address versions confirms the practical shape of this. New wallets default to W5. Older versions from v3R1 onward are still supported and are reachable through the active-address settings rather than being shown by default.

For tracking, treat this as a hard rule: a TON holder does not have an address, they have a set of them. Find every version you have ever funded, and add each one to your tracker separately. There is no view that discovers the others for you, because from the chain's point of view they are unrelated contracts that happen to share an owner.

Watching each wallet version as its own address is the only way a TON total adds up.

Which form of my address should I paste?

Whichever one the tool accepts, because they all mean the same thing.

TON's address format documentation sets out three renderings of one account. The raw form is 0: followed by 64 hex characters, canonical but with no error checking. The user-friendly form is base64 with a checksum, and it comes in two flavours: bounceable addresses beginning EQ, where a failed transaction returns the funds, and non-bounceable addresses beginning UQ, where they do not. Testnet uses kQ and 0Q. The documentation is explicit that these representations refer to exactly one address despite looking nothing alike.

So your wallet may display UQ..., an explorer may show EQ..., and an API may hand back 0:..., and a tracker that rejects one of them is being fussy rather than correct. Convert rather than assume you have found a second wallet.

One more oddity worth knowing before you panic at an explorer page. A TON wallet contract is not deployed until its first outgoing transaction. An address that has received funds but never sent any shows as uninitialised, which reads alarmingly like "does not exist" while holding a real balance. Tonviewer will show you the state alongside the balance.

Why don't my tokens look like ERC-20s?

Because TON's token standard is built the opposite way round.

An ERC-20 is one contract holding a ledger of everybody's balances. A jetton splits that apart: there is a jetton master contract for the token itself, and then a separate jetton wallet contract for each owner of that token, holding only their balance. Your USDT on TON is not a row in a shared table. It is a small contract that belongs to you, whose address is derived from the master contract and your wallet address. TON documents how to find a jetton wallet either by asking the master contract or by querying an indexer.

This design is fine for the chain and awkward for anything that has to summarise your holdings. Discovering what you own means discovering contracts, not reading a list, which is why jetton coverage varies more between tools than ERC-20 coverage does, and why a smaller jetton is more likely to be missing from a tracker than a comparably obscure Ethereum token. When something is absent, check the address on an explorer before deciding you were robbed.

NFTs work the same way, one contract per item inside a collection contract, which is also why Telegram usernames and anonymous numbers behave like assets you can move. Expect them to appear in a wallet view and not in a portfolio total.

The spam that arrives through this machinery is unusually manipulative. TON jetton and NFT spam frequently imitates a system notification, with names formatted as instructions and a link in the description, because the item's own metadata is the attack surface. Hide them, do not open the link, and do not sign anything they suggest. Spam and dust tokens covers the filtering approach; the same logic applies to a jetton with a name that reads like a message from support.

Is my Telegram balance the same as my TON wallet?

Only sometimes, and the distinction decides whether you can track it at all.

Telegram's built-in wallet has offered two things under one interface. The custodial balance is held by the operator on your behalf, which means fast onboarding and no seed phrase, and also no on-chain address of your own to hand to a tracker. TON Space is the self-custodial option, with a 24-word recovery phrase and a real address that behaves like any other TON wallet.

If you want your Telegram holdings in a portfolio view, they need to be in TON Space or an external wallet like Tonkeeper. A custodial balance can only be entered by hand, as a manual position, which is the honest way to represent an IOU from a company rather than an asset on a chain.

That same custodial arrangement is the reason TON attracts an unusual volume of impersonation. Bots offering airdrops, fake wallet mini-apps, and support accounts that want your recovery words all trade on the fact that a lot of TON users arrived through a chat app rather than a wallet. Recognising fake crypto apps and never sharing a seed phrase do most of the work here.

What actually changed when Toncoin became Gram?

The name, the ticker and the logo, on 15 June 2026. Nothing else.

There was no token swap, no new contract, no bridge step and no claim process. Balances carried over one-for-one, addresses were untouched, and staking positions and transaction history were unaffected. A wallet holding ten Toncoin held ten Gram the next morning. Exchanges and price feeds relabelled markets on their own schedule, which is why some apps showed "Gram (prev. Toncoin)" for a while and a few older tools still carry TON as the symbol.

The tracking cleanup is small: check that your manual positions and any alerts you set are attached to the current asset rather than a stale ticker, the same way you would after any rename. The security note is larger. A rename with no user action required is perfect cover for a scam that says otherwise, and every message you receive asking you to migrate, claim or connect a wallet because of it is fraudulent.

Publishing a TON address carries a specific cost that is easy to miss. Because so much of TON's activity runs through Telegram, an address is frequently linkable to a username, a gift, or a public channel purchase, which makes the usual pseudonymity thinner than it looks. The wallet privacy tradeoff is worth reading before you post one.

If you take one operational habit from all of this, make it an inventory: every wallet version you have deployed, every address in whichever format your tools prefer, and a note of which balances are custodial and therefore not on a chain at all. TON will keep shipping wallet contracts, and each new one will quietly add another address to that list. Keeping one identity legible across several chains is the wider version of the same discipline.

Common questions

Almost certainly the wallet app opened a different contract version than the one you funded. A seed phrase deployed as v4R2 gives a different address than the same seed deployed as W5. Both are yours. In Tonkeeper, older versions are shown under the active address settings.

No. They are two renderings of the same account. EQ marks a bounceable address and UQ a non-bounceable one, and there is also a raw form beginning 0: followed by hex. All three point at one account, though some tools accept only one of the formats.

A jetton is TON's token standard. Instead of one contract holding everyone's balances, each token has a master contract and each holder gets their own jetton wallet contract for it. Finding your balance means discovering that contract, which is an indexing job, so obscure jettons are missed more often than obscure ERC-20s.

It depends which one. The custodial balance inside Telegram is held by the operator and has no address you can hand a tracker. TON Space is self-custodial, has its own 24-word seed phrase, and produces a real on-chain address you can watch.

No. The June 2026 change renamed the token and its ticker and nothing else. There was no swap, no new contract and no claim process, and balances carried across one-for-one. Any message asking you to migrate or connect a wallet for the rebrand is a scam.

TON charges storage fees. Every contract, including your wallet, pays rent for the data it occupies, deducted as transactions touch the account. For an ordinary wallet the amount is tiny, but it is not zero, and it explains a balance that shrinks without you sending anything.

Read-only address watching, manual positions and a portfolio widget, on a free tier that does not expire.

Keep reading

← All guides