Your wallet¶
Custody: read this first¶
The autotrader is custodial. Your private key is stored encrypted by the execution service so it can sign trades in the moment a call fires, without waiting for you to approve each one. That speed is the entire point of the product, and custody is what pays for it.
What that means in practice:
- You are trusting the operator and the infrastructure with the keys to that wallet.
- The bot wallet is a hot trading wallet. It is not storage.
- Fund it with what you intend to trade, and withdraw profits out to a wallet you control alone.
The key is never loaded into the Telegram-facing service — only the separate signer holds it. That limits the blast radius of a chat-surface compromise, but it does not make the arrangement non-custodial. It is custodial. Size your deposit accordingly.
What can move SOL out of this wallet¶
Custody is the trust question above. This is the narrower, checkable question: what the software will actually sign. Only three flows can spend from your wallet, and each is bounded:
- Trades — capped by your own settings: SOL per trade, maximum open positions, and the daily loss limit, with the SOL you keep for exits. Their platform fee (1% or 3% of the buy) and network costs ride inside the trade.
- Withdrawals — only to the single address you set, behind a single-use 60-second confirmation, and blocked while any exposure is open.
- Premium payments — exactly the plan price, only to the platform's fixed payment address, under a hard 5 SOL ceiling. The payment flow takes no address from anyone. See why paying cannot drain your wallet.
Every one of these is simulated before signing and confirmed on-chain afterwards, and each constraint is enforced in the execution service itself — the Telegram side cannot instruct it past them.
Creating vs importing¶
The bot generates a keypair on the server and stores it encrypted. Creating a wallet this way never sends the private key over Telegram — you never type it in, and nothing sends it out to you.
Telegram is still the only channel this bot has, so the two actions that deliberately move a key do use it: importing an existing wallet, and exporting this one. Both carry the warnings below. Creating and never exporting is the only path on which the key never touches Telegram at all.
Pair this with regular withdrawals to your own wallet and your exposure stays bounded to your working balance.
/importwallet or /settings accepts a base58-encoded 64-byte Solana private
key. The flow is encrypted, expiring and double-confirmed, and your key message
is deleted from the chat immediately after it is read.
Telegram is not a secret transport
Your key sits in Telegram's infrastructure between sending and deletion, and deletion is best-effort. If the bot cannot delete it, you get a visible warning — but the message existed either way.
Never import a wallet that holds anything you would mind losing. Generating a fresh wallet and funding it is strictly safer.
You can hold one active wallet. To import a different key, you must first withdraw or export the current wallet and delete it. A deleted or disabled wallet can be re-created or re-imported later.
Keeping SOL for your exits¶
There is no protected reserve. The bot does not hold any SOL back, and nothing is refused for failing to keep a minimum balance. Your wallet is yours to spend down to zero, including on a Premium plan.
A wallet with no SOL cannot sell
Every Solana transaction costs SOL — a sell as much as a buy. If you spend down to nothing while holding a position, that position stays open until you send SOL back to the wallet, because the exit cannot pay its own network fee. Take-profit and stop-loss cannot fire either; they are transactions too.
This is chain mechanics, not a policy we can waive. Keep a little SOL beyond what you are trading — a few thousandths of a SOL covers an ordinary exit, and more if you use priority fees or the Lightspeed route.
Buys are still checked against your actual balance: an entry that your wallet cannot afford — buy size, platform fee, network and priority fees, token-account setup — does not happen. That check is on the money the buy itself needs, and no longer on a balance you must keep afterwards.
The one floor that remains is arithmetic rather than policy: your wallet pays the network fee on its own transfers, so a withdrawal or a Premium payment cannot take the balance to exactly zero. Both refuse with the largest amount you can send rather than failing on chain.
Balance warnings¶
When a confirmed balance refresh finds your wallet below what the next buy actually requires, you get one Telegram warning showing your balance, the required amount and the shortfall.
It re-arms only after sufficient funding returns. An unchanged low balance does not generate repeat notifications.
Withdrawals¶
/withdraw sends SOL from your bot wallet to an address you set.
The withdrawal flow, step by step
The flow: set a fixed destination → enter an amount → confirm with a single-use 60-second code.
Before anything is signed, the service:
- validates the destination is a real Solana public key
- blocks the withdrawal while any position is pending, open, closing or awaiting reconciliation — you cannot accidentally pull the SOL out from under an open trade. See what to do when it blocks
- simulates the transaction, then submits and confirms it
The signed withdrawal and its expected signature are stored before submission, so a crash or timeout mid-flight cannot produce a second withdrawal. The same bytes are safely rebroadcast instead, and no new withdrawal is created until the first one is confirmed, failed, or its blockhash has expired.
When a withdrawal is blocked¶
The block is real and there is no override, so it is worth knowing exactly what clears it. Selling is never blocked. The gate applies to withdrawals and to wallet removal — not to exits, so the way out is always open:
- Sell what you hold.
/positionscloses any position on demand, whatever your take-profit and stop-loss are set to. Nothing about the block prevents it. - Withdraw once the position resolves.
What counts as unresolved is a position that is pending entry, open, closing or awaiting reconciliation, plus any leftover token-account cleanup that has not finished. All of them are self-clearing rather than open-ended:
- A pending entry resolves as soon as the transaction lands or its blockhash expires — a Solana blockhash is valid for roughly a minute and a half, after which the position is marked failed and stops blocking anything.
- A closing or reconciling position resolves when its exit is confirmed on chain. It is waiting for the chain, not for us.
- With automation on, a new entry can of course start while you are resolving the last one. Turning Auto off first stops that, and turning Auto off is never blocked either.
What we do not promise
There is no maximum duration on this block, no manual override, and no button that forces a withdrawal past an unresolved position. If a position stays stuck — an exit that never confirms, a cleanup that keeps failing — the block persists until it resolves, and the honest answer is that you would need to contact us rather than clear it yourself.
Your key is still yours in that situation: exporting it is not gated on exposure, so you can always take the wallet elsewhere even while a withdrawal through the bot is refused.
Exporting your private key¶
/settings → wallet submenu → Show Private Key. It requires a single-use
60-second confirmation and is only ever displayed in your private chat with the bot.
What the export message does
The delivered message:
- warns that anyone holding the key controls the wallet
- carries a Delete Private Key Now button
- auto-deletes after 60 seconds
- has Telegram's content protection enabled to discourage forwarding and saving
Content protection is a speed bump, not a wall
It cannot prevent screenshots, and it cannot protect you on a compromised device. Export only when you actually need to, and if you suspect the key was exposed, move the funds.
Each export is delivered exactly once: the queued message is encrypted, its ciphertext is destroyed the moment the sender picks it up, and an export that is never delivered expires after five minutes and is discarded.
That is a property of the message, not of your wallet. Exporting does not consume your key — it stays encrypted in the bot, and you can export again, up to twice an hour.
Exporting does not hand back lifecycle ownership¶
This surprises people, so it is worth stating plainly: exporting your key does not remove the wallet from the bot. The bot still holds its copy and still manages the positions it opened.
The two do coexist safely, because the bot tracks exactly the token quantity it acquired, in the exact token account it acquired it in, and re-reads that from chain every couple of seconds:
- If you sell or transfer out part of that inventory yourself, the bot reduces its own tracked remainder. Only tokens still present remain eligible for bot exits.
- If all of the attributed inventory disappears, the bot closes the position as an external exit, notifies you, and reconciles the economics against the actual transaction — including your wallet's SOL change, fees, and rent adjustments.
- Pre-existing inventory of the same token is protected. If you already held the token before the bot bought it, the bot only ever sells its own attributed share.
- Tokens transferred into that account later are not adopted into the position.
Unknown output assets from an external sell are left explicitly unvalued rather than being assigned an invented PnL.
Deleting your wallet¶
Wallet deletion is available in the wallet submenu behind a confirmation gate. It has the same exposure block as withdrawals — you cannot delete while positions are live — and it erases the encrypted secret.
If you have not exported the key first, deletion is irreversible.