How to Revoke a Telegram Bot's Wallet Access
The order that actually cuts a trading bot off: cancel its strategies, withdraw, move to a fresh wallet, revoke approvals on each chain, then sever the chat.
Published 2026-11-10
The order that actually works
Revoking a trading bot is not one button. It is five actions in a fixed order: cancel every strategy still running, withdraw the balance, move what remains to a fresh wallet, revoke on-chain approvals chain by chain, then block or delete the bot in Telegram.
The order matters. Each step removes a different kind of access, and some steps can only be done from inside the bot.
The five steps
- Cancel running strategies. Copy trades, limit orders, DCA schedules and auto-sell rules keep executing after you stop chatting. Cancel each one from the bot's own menu.
- Withdraw the balance. Move tokens and any native coin out of the wallet the bot operates to an address you control.
- Move to a fresh wallet. Anything you plan to keep trading with should live somewhere the bot has never seen. Do not reuse a key you have already imported.
- Revoke on-chain approvals. Go chain by chain. A token approval is a standing permission on that network, and it survives anything you do in Telegram.
- Sever the chat. Block the bot, delete the conversation, remove it from any group. This is last because it is the smallest step, not the largest.
Why not start with the chat
The bot's interface is where you cancel strategies and request withdrawals. Block it first and you can lose the only convenient control panel you have, sometimes with a copy-trade still open and no obvious way to close it. Cancel, withdraw, then cut the conversation.
What Telegram actions actually do
Blocking, deleting a chat and removing a bot from a group act on messages. They stop the bot from reaching you. They do not touch the wallet it holds a key for, and they do not cancel approvals it already has on chain.
Funds move on chain regardless of what the chat window shows. A balance hidden behind a blocked bot is still a balance, and a running strategy does not know it has been blocked. The sections below take each step in turn: first the three layers of access, then the split between custodial deposit wallets and imported keys, then the removal steps chain by chain.
Three layers of access: the chat, the wallet, and the approvals
A trading bot reaches your money through three separate doors. Each one is closed somewhere different, by a different action.
The three layers
- The Telegram conversation. The chat where you send commands, paste contract addresses and read confirmations. It lives inside Telegram, on your account and the bot's.
- The wallet the bot controls or has keys for. Either a deposit address the bot generated for you, or a wallet whose private key you pasted into the chat. This lives on chain, and the bot can act on it without asking you again.
- The token approvals on chain. Permissions you signed that let a contract move specific tokens from your wallet. They live on the blockchain, attached to your address, and they do not expire on their own.
Why one action is never enough
Removing the chat deletes a conversation. It does not move a token, cancel an approval or change who holds a key. It is the weakest of the three actions, and the one most often mistaken for the whole job: the messages stop, so it feels finished while the wallet side is untouched. Closing the wallet side means withdrawing funds and revoking approvals, and neither happens inside Telegram.
Approvals are also per chain. A bot listed on several chains can hold permissions on each of them separately, so a check on one network says nothing about the others. A wallet that looks clean on Solana can still carry live approvals on Ethereum or Base. Check each chain your wallet has touched with that bot, one by one.
Two wallet situations
There are two starting points, and they do not have the same fix: a deposit address the bot created for you (custodial, the bot holds the key), versus a private key you imported (you hold it, the bot has seen it). The next section splits them. For what each bot documents about its own setup, start from the bot pages or a specific chain such as Solana.
Custodial deposit wallets and imported private keys are not the same problem
Two different setups get described as "giving a bot access". They leave different things behind, and they do not have the same cleanup.
Custodial deposit wallets
Here the bot generates a deposit address for you. You send funds to it, and the bot's system signs the trades on those funds. You never held the key, so there is no key of yours to rotate.
The fix is withdrawal plus abandonment. Move the balance to a wallet you control, then stop using that address. The address itself stays tied to the bot's system and its history stays public; what ends is your money sitting inside it.
If you never saw a private key screen and the bot simply replied with an address to fund, this is the case you are in.
Imported private keys
Here you pasted a private key into the bot. That key can sign anything it controls, for as long as funds sit on it. Treat it as exposed from the moment it was pasted, not from the moment something goes wrong.
The fix is a fresh wallet and a full move: every token, on every chain that key touches, including small balances you stopped watching. After that, treat the old key as burned and never reuse it, even if nothing has happened yet.
| Model | Who signs | What you gave up | What removal looks like |
|---|---|---|---|
| Custodial deposit address | The bot's system | Control of the funds you sent | Withdraw, then abandon the address |
| Imported private key | The key, via the bot | The key itself | Move every asset to a fresh wallet, retire the key |
Never share a seed phrase
Never share a seed phrase with a bot or with anyone. An imported private key is not a seed phrase you can later rotate: it is the key itself, and whatever it signs is signed.
Withdrawing is not revoking
An empty wallet with live approvals is still a wallet with live approvals. Draining the balance removes the funds, not the permission. Approvals come off separately, chain by chain, and that step comes after the money has moved.
Step one: cancel the strategies the bot keeps running
A running strategy does not wait for a message from you. Copy trading mirrors another wallet's trades as they happen, limit orders sit waiting until the price arrives, DCA entries fire on their schedule, and auto-sell rules close a position at the level you set. None of this needs you online, and none of it stops because you stopped typing commands in the chat.
What stays armed until you turn it off
| Bot | Documented features that keep running |
|---|---|
| Bloom | Sniping, copy trading, limit orders |
| Maestro | Sniping, copy trading |
| GMGN | Sniping, copy trading, limit orders, auto-sell with take-profit and stop-loss |
| BONKbot | DCA |
The point is not that these bots behave badly. A strategy you set stays armed until you turn it off inside the bot, which is exactly what you asked for when you set it.
Where to look
- Active and pending limit orders, including any placed on a chain you have not looked at today.
- Copy-trade positions you follow, and any wallet copied into your account.
- Scheduled DCA entries.
- Price triggers and take-profit or stop-loss rules attached to open positions.
Some bots group these in one menu; others keep them separate per chain. Check every chain you have traded through the bot, not just the last one.
Cancel before you withdraw
Cancel first, withdraw second. A limit order, copy-trade rule or DCA schedule can re-enter the market with the balance you just left behind, and you end up withdrawing from a position that is still moving. Close the strategies, confirm nothing is pending, then move the funds.
If you are about to connect a fresh wallet elsewhere, the copy trading and limit orders pages show which bots leave those strategies running on your behalf.
Steps two and three: withdraw everything, then move to a fresh wallet
Withdraw the full balance, not the visible balance
Start with everything the bot shows you, then look for what it does not. Small token positions are the ones people leave behind: a dust balance of a memecoin, a partial fill, a token that arrived after the last trade. If the bot deducts a fee from the outgoing transfer, leave a small buffer so the last withdrawal does not land short or fail outright.
Check the address, not the dashboard
Open the deposit address on the chain's explorer and read the token list there. You are looking for:
- tokens sent straight to the address, outside the bot
- airdrops that arrived and were never traded
- leftover SOL or ETH kept there for gas
A dashboard lists what the bot tracks. The explorer lists what the address holds. The two are rarely identical.
Create the replacement wallet yourself
Set up the new wallet in a wallet you control, generate the seed phrase there, and write it down offline. Do not create it inside a bot, and never type a seed phrase into a chat window.
For an imported key, this step is the actual fix. A key the bot has seen can be used again for as long as funds sit at the address it opens, so moving the balance to a wallet the bot has never touched is what ends that exposure. Withdrawing and staying put does not.
Confirm every transfer on chain
Send the assets, then open each transaction on the explorer and check the destination address and the amount that arrived. A chat confirmation is a message, not a settlement. If a transfer does not appear on chain, it has not happened.
Nothing here is financial, legal or tax advice, and moving assets between wallets can have tax consequences in some jurisdictions.
Step four: revoke approvals on every EVM chain
An allowance is a permission you signed. It lets a specific contract move a specific token out of your wallet, up to a limit, until you change it. A trading bot's router asks for that permission the first time you trade, and it stays open after the trade closes, after you stop using the bot and after you block it in Telegram. Closing it is a transaction you sign yourself, not a command you send to the bot.
Approvals live on the chain where you signed them
An approval sits in the state of one chain. Setting a token allowance to zero on Ethereum does nothing for Base, BNB Chain or Arbitrum. The same token can carry a separate open allowance on each network, and each one has to be closed in its own transaction.
One check is not enough
Multi-chain bots collect approvals on every chain they trade. Maestro lists eleven chains, among them Solana, BNB Chain, Base, Ethereum, Arbitrum and Tron (Maestro). Bloom lists Solana, Ethereum, BNB Chain and Base (Bloom). Banana Gun lists Ethereum, Solana, BNB Chain and Base (Banana Gun). GMGN lists Solana, BNB Chain, Ethereum and Tron (GMGN). Revoking on the one chain you remember trading on leaves the rest untouched.
How to review and zero out allowances
- Open a reputable revoke tool, or the token approval page of each chain's block explorer, for example Etherscan on Ethereum and Basescan on Base.
- Connect the old wallet. Reviewing permissions does not move funds, but read every prompt before you sign it.
- Work through each allowance and set the ones you no longer use to zero. Skip the "keep it in case" allowances.
- Repeat on every chain the bot supported, including the ones you only tried once.
Check NFTs and marketplace approvals too
Collection-wide approvals let a marketplace or contract move any NFT in a collection, and they are a different category from token allowances. Review them in the same session, because they survive the same way.
Revoking costs gas
Each revocation is an on-chain transaction. The old wallet needs a small native balance to pay for it: ETH on Ethereum or Base, BNB on BNB Chain, the chain's own gas token elsewhere. Revoke before you empty that wallet completely.
Solana is a separate job
Approvals on Ethereum and other EVM chains live in one place per wallet: the ERC-20 allowance list. Solana does not work that way. There is no single allowance screen covering every asset, so a revoke tool built for Ethereum will not find or clear anything on a Solana wallet.
The two things to look at
- Delegates on your token accounts. An SPL token account can name a delegate permitted to move that specific token balance, usually up to an approved amount. This is the Solana equivalent of an approval, and it is set per token account rather than once for the whole wallet.
- Token accounts still open. Every SPL token you have held gets its own account, funded with a small rent deposit. Accounts for tokens you sold, dumped or never wanted stay open until you close them.
How to remove them
Open your Solana wallet's own approvals or connected apps screen and look for delegates you did not set deliberately. Revoke those. Then close the empty token accounts; the rent deposit comes back to your wallet.
Revoking a delegate and closing an account are separate actions. Closing an account does not clear a delegate on another token, and revoking a delegate does not close anything.
Disconnecting is not revoking
Pressing disconnect on a website ends the session. The delegate approval stays on chain and can still move the tokens after you disconnect. Treat disconnecting as a convenience, not a removal.
If the bot held your Solana private key
A wallet whose private key was imported into a bot has a bigger problem than any delegate. The key itself can sign transactions, so approving nothing and revoking everything changes little. Move the balance to a fresh wallet and stop using the exposed one.
Step five: sever Telegram, and what BotFather's /revoke really does
Most pages about revoking a Telegram bot answer a developer's question. BotFather's /revoke replaces a bot's API token: the credential the developer uses to run the bot. It has nothing to do with your wallet, your balance or any approval the bot already holds on chain. It cannot move funds and it cannot stop them moving.
/revoke is for the bot's owner
The command works only on bots you created yourself in BotFather. A trader who connected a wallet to someone else's bot cannot run it, and does not need to. If token revocation is what brought you here, the straight answer is that it is developer housekeeping. It is not how a user cuts a bot off.
What a user can actually do
- Stop the bot: use the bot's own stop command if it publishes one, or simply leave the chat.
- Delete the chat: clears the conversation from your list.
- Block the account: stops messages and commands from that account reaching you.
- Remove the bot from any group where you added it, so other members' commands do not reach it either.
| Action | What it changes | What it leaves alone |
|---|---|---|
| Stop command | The bot's message flow | Wallet keys, on-chain approvals |
| Delete chat | Your conversation and its history | The bot's ability to message you again |
| Block account | Messages and commands from that account | Wallet keys, on-chain approvals |
Check the handle before you trust it
Telegram's managed bot documentation states that a managed bot username, including the bot suffix, must be 5 to 32 characters long (https://core.telegram.org/api/bots/managed-bots). A short or odd-looking handle is worth checking against the bot's own website before you send anything to it.
Use only the handle published on the bot's own site, such as @bonkbot_bot or @BloomSolana_bot. Impersonator bots with near-identical names are common, and they ask for the same wallet access the real bot asks for.
Why this step goes last
Blocking is the weakest of the three layers. It stops the conversation, not the permissions. Do it after the money has moved out and the approvals are gone, so that nothing is left running behind a chat you can no longer see.
Access layer, location, and removal method
Read top to bottom, this table is the whole exit in one view. Each row is one thing the bot can use, where that thing actually lives, and the step that takes it away.
| Access layer | What it gives the bot | Where it lives | How to remove it | What happens if you skip it |
|---|---|---|---|---|
| Telegram chat and commands | Your instructions, and every strategy it keeps running until cancelled | Your Telegram account | Cancel each running strategy with the bot's own command, then delete the chat and block the bot | Strategies keep executing after you think you have stopped |
| Custodial deposit wallet | A deposit address the bot generated and holds the key for | On the bot's side, not your device | Withdraw the full balance to a wallet you control and stop sending funds to that address | The balance stays spendable by whoever controls that wallet |
| Imported private key | Signing power over your own wallet | Held by the bot after you imported it | Move every asset to a fresh wallet, then stop using the imported one | The bot can still sign transactions from that wallet |
| EVM token approvals | Permission for a contract to move a specific token | On chain, per token, per chain | Revoke each approval in a block explorer or revoker, once per chain | The approval outlives the deleted chat and the emptied wallet |
| Solana approvals and delegates | Delegate rights over SPL tokens | On Solana, separate from EVM | Revoke the delegate in your Solana wallet or a Solana revoker | The delegate can still move those tokens |
Skipping the middle rows is the usual reason people feel unsure whether the bot is really gone.
What revocation cannot undo, and how to confirm it is gone
What stays true after the procedure
Some things are settled and stay settled:
- Trades that already executed are final. Revoking, blocking or deleting the chat does not reverse a swap that filled.
- Fees already charged stay charged. A trade fee taken on a completed order, such as Bloom's 1% per its fee docs, is not returned by cutting access afterwards.
- A private key the bot has seen should be treated as exposed until the funds behind it are moved. Importing a key into a bot means the key existed outside your wallet, and no button in Telegram changes that history.
Why the fresh wallet comes before the revoke
Revoking an approval does not stop a bot that still holds your private key from signing a new one. The approval list is a permission slip the key can reissue at any time. That is the reason for the order: empty the old address and move to a fresh wallet first, then revoke approvals on the drained address. Cleaning approvals on a wallet that still holds funds, and still has a key somewhere else, protects very little.
Confirmation checklist
- Bot balance at zero, checked inside the bot and on an explorer.
- Every chain the bot supports checked in a revoke tool, one chain at a time. A bot listed on several chains can hold a separate approval on each.
- Solana token delegates cleared, since that is a different mechanism from EVM allowances.
- Strategies cancelled: copy trading, limit orders, DCA and auto-sell all keep running until you stop them.
- Chat blocked and the bot removed.
Watch the old address
Keep an eye on the old address in a block explorer for a while rather than trusting the chat window. Funds move on chain regardless of what the bot displays, and an empty chat proves nothing about a wallet.
If you are about to hand a wallet to a different bot, check which strategies it will keep running on your behalf before you connect anything. Compare Telegram trading bots by chain and by the features they leave running, from copy trading to limit orders, then choose one whose access you can withdraw on your own terms.
Frequently asked questions
Does blocking a Telegram bot remove its access to my wallet?
No. Blocking stops messages, not blockchain permissions. If you shared a private key or seed phrase, the bot can still move funds. If you signed token approvals, those remain live on-chain. Blocking is not a security control. Revoke approvals in a wallet or approval tool and, if a key was exposed, move assets to a new wallet. Check the old wallet for approvals after you block. Use only the official bot handle from the bot's own website; impersonator bots are common. If you never shared a key or approved anything, blocking ends the Telegram contact but still check approvals.
Does /revoke in BotFather cut off a trading bot's wallet access?
No. BotFather's /revoke cancels a bot token, which controls the bot's Telegram API connection. It does not cancel token approvals and does not erase a private key or seed phrase you sent to the bot. If the bot still has your key or an approval, it can keep acting on-chain. Use /revoke to cut Telegram access only. For wallet safety, revoke approvals in your wallet and move funds to a fresh wallet if a key was shared. Check each chain separately.
Can a bot create a new approval after I revoke one?
Yes, if it can still send transactions for your wallet. That usually means you gave it a private key, seed phrase or smart wallet session, or you sign a new approval. Revoking one approval removes that permission only. A bot with ongoing authority can request or create another approval, and you might approve it without noticing. Check approvals regularly, revoke anything you do not recognise, and move funds to a fresh wallet if a key was shared. One revoke is not a permanent block.
Do I need to check approvals on every chain a bot supports?
Yes. Token approvals are recorded on the chain where you granted them. An approval on Ethereum does not appear or get revoked on Solana, Base, BNB Chain or TON. Check each chain separately in a wallet or approval checker. A bot's supported chains are not a checklist of where you approved; your own history is. Revoke on the chain where the approval lives. If you imported the same private key into several chains, treat every one as exposed. For Solana, check token delegate approvals too.
What if the bot only ever held a deposit address it created for me?
If the bot generated a deposit address and never received your private key or seed phrase, there may be no wallet approval to revoke. The risk is the funds you sent to that address. Stop depositing, withdraw what the bot allows, and check whether the address is a smart contract or a wallet you control. If you cannot withdraw, treat the balance as at risk. Do not send more to test it. A deposit address is not the same as a token approval, so handle it by moving funds, not by revoking.
Is moving to a fresh wallet enough on its own?
Not always. A fresh wallet protects new funds only if you never import the old seed phrase or private key and never approve the old wallet again. Old approvals remain on the old address until revoked, and any bot holding the old key can still move assets left there. Move assets, then revoke approvals on the old wallet, and stop using it for trading. If a seed phrase leaked, create a completely new wallet, not a new account in the same app. Check each chain.