No custody · no gas · separate addresses

Self-custodial
wallet
inside Telegram

Private cross-chain transfers and swaps in seconds. On the chain a withdrawal lands on, it shows neither your balance nor the address you deposited to. Deposit USDT on BEP20, withdraw on TRC20 for $1 instead of $3, with no gas token.

Chains
19
Routes
162
Tokens
21
You send
Amount
USDT
bridge
You get

Network fee included. This is the raw route. The wallet adds its service fee, shown before you sign.

Open in Telegram
01 · No custody

Nothing moves without you

Your recovery phrase is generated and encrypted on your phone. We store it nowhere and cannot sign anything on your behalf.

02 · No gas

One amount, in the token you send

The network fee is inside the operation. Deposit on BEP20, withdraw on TRC20: $1 of network fee instead of $3.

03 · Separate addresses

Your payout does not come from your deposit address

Deposits and withdrawals sit on different addresses, with no transaction between them on the chains at either end. Both are still recorded under your vault on the public ledger that holds its balance.

Privacy

Whoever you pay sees the payment. Their chain does not show your balance.

An ordinary wallet is one address with its whole history in the open. Send crypto to someone once and they can put your address into a block explorer and read everything: your balance, your past transfers, everyone else you have dealt with. Not a hacker, not an investigator. Anyone you ever paid.

Here deposits and withdrawals are kept apart. Deposits arrive on a separate address, one per account and chain, and the balance is not held there. A withdrawal leaves by its own route, and on the chains at either end no transaction connects the two addresses.

What this is not

This is unlinkability at the two ends, not anonymity. Your balance and every deposit and withdrawal are recorded under your vault on a public ledger, and anyone who reads it can connect them. Amounts and timing are public too, your Telegram account still identifies you to us, and an exchange that knows both ends of a transfer still knows them. We do not sell it as a mixer and it is not one.

1 20 20 33 22 11 00 23 31 21 11 01 21 31 01 21 31 01 1DEPOSITADDRESSPRIVATEWALLETWITHDRAWALADDRESSinoutno direct link
Recovery phrase

The recovery phrase stays with you

At setup a 12-word phrase is created on your device and encrypted with your PIN. There is one copy, and it is yours. Without it the wallet cannot be restored.

  1. 01

    Your phone only

    The phrase is created on your device. The server never stores it, not in the clear and not encrypted, and holds no key that could read it.

  2. 02

    Bound to your Telegram

    The phrase works only for this wallet and only in your Telegram account. In a third-party wallet it is useless, and a phrase from elsewhere does not work here.

  3. 03

    Write it down

    On paper, by hand. Lose it together with your phone and access is gone for good: no password reset, no support rescue, no way around the phrase. Your share of the key is yours alone. So is the responsibility.

Routes · any chain to any chain

90 ways to move USDT alone

USDT lives on 10 chains, which is 90 ordered pairs for a single asset, and the wallet quotes every one of them. Deposit on one and withdraw on another: BEP20 to TRC20 is $1 of blockchain fee instead of $3, with the arrival estimate shown before anything moves.

USDT routes between chains
USDTArbitrumAvalancheBEP20ERC20OptimismPlasmaPolygonSolanaTONTRC20
Arbitrum✓✓✓✓✓✓✓✓✓
Avalanche✓✓✓✓✓✓✓✓✓
BEP20✓✓✓✓✓✓✓✓✓
ERC20✓✓✓✓✓✓✓✓✓
Optimism✓✓✓✓✓✓✓✓✓
Plasma✓✓✓✓✓✓✓✓✓
Polygon✓✓✓✓✓✓✓✓✓
Solana✓✓✓✓✓✓✓✓✓
TON✓✓✓✓✓✓✓✓✓
TRC20✓✓✓✓✓✓✓✓✓
How a route works

One operation, however many steps it takes

You name what you are sending and what you want to end up with. Everything between those two points is the route: a swap on the chain the money is on, a bridge to the chain it needs to reach, and a send at the far end. The wallet prices all of it as one quote before you agree to anything.

The network fees for every step are taken out of the amount rather than asked for separately, which is why you never hold USDT on one chain and a native token on another just to be allowed to move. You approve once, on your device, and your phone signs nothing without that approval. The quote you saw is the quote you get.

A route diagram: the wallet swaps to one chain, bridges to another, and sends from there
The wallet

Several wallets in one account, separate on-chain

Hold as many wallets as you need inside one Telegram account. Each is its own account on-chain, and nothing links them until you move money between them, so paying from one tells nobody about the others. Send to a @username or to any address.

Open in Telegram

Questions

Can someone link my deposit to my withdrawal?

Not from the chains at either end: the deposit address and the address you send to have no transaction between them, and the balance never sits on either. The ledger your balance is recorded on is public, though, and anyone who reads it can follow a deposit into your vault and a withdrawal out of it. That is why this is unlinkability, not anonymity.

Do you store my recovery phrase?

No. It is generated on your device and encrypted there with your PIN. It never reaches us in a form we can read. Without it we could not restore your wallet, even if you asked.

What happens if I lose the phrase?

While your phone still opens the wallet, nothing is lost: show the phrase again and write it down. Lose both the phrase and the phone, and the wallet is gone. There is no reset, no support recovery and no back door, because any of those would mean we could sign without you.

Can I import a phrase from another wallet?

No. The phrase is generated for Private Wallet and bound to your Telegram account, so an outside phrase will not open it.

Do I need gas to send?

No. The network fee is part of the operation: you pay one amount in the token you are sending and hold no native token for any chain.

What does USDT from BEP20 to TRC20 cost?

Deposit on BEP20, withdraw on TRC20: $1 of network fee instead of $3.