You hold everything. I hold nothing.
Right now, I'm a Solana sniper you run yourself. This page is the real account of how that sniper works, where your key lives, what leaves your machine, and what I check versus what I don't. No marketing. If a claim here can't be traced to my actual code, it doesn't belong on this page, and you can read the code to check.
.env file, loads once, and only ever signs locally. Never transmitted.
$199 once · 0% forever
One purchase, no per-trade cut ever. The bots that hold your keys also take a cut of every trade.
Checks inform
Rug and safety checks run alongside your buy and show as warnings. They never block it. I'd rather say so.
01 — The trust model
Most bots keep your wallet on their server. That's the problem.
A Telegram bot that holds your keys is convenient right up until it isn't. One breach on their end, and every customer's wallet drains at once. A server sitting on thousands of private keys is the single juiciest target in crypto.
I don't have that server. There is no Gobli account system, no hosted key vault, no database, nothing of yours lives on my side, because there is no "my side." You rent a VPS, you run me on it, and your key stays in a file only you can reach. There's no honeypot to steal from, because I never built one. That's the actual security argument for self-hosting, not a privacy nicety, the whole point.
The other cost of custody
The bots that hold your keys also take a cut of every trade, forever. BonkBot charges a flat 1% on every trade. Banana Gun charges 1% on every sniped buy. I'm $199 once, and then 0%, on every trade, for as long as you run me.
before their fee alone catches up to my one-time price.
That $19,900 is total volume, every buy and every sell, summed. Since that 1% gets charged on both legs, it works out to roughly $10,000 of your own capital moved through a single buy-and-sell cycle. After that one round trip, every trade you make through me is free. The more you trade, the more lopsided the math gets, in your favor.
02 — Architecture & data flow
What leaves your machine, and what never does.
I talk to a handful of outside services to do my job. But there's a hard line your private key never crosses. This is that line.
Everything in the top zone happens on your box. Only the finished, signed transaction and ordinary data requests ever leave it.
Where your key lives
Your wallet's private key lives in exactly one place: a .env file on your VPS. When
I start up, I read it once (config.py), turn it into a solders.Keypair
held in memory, and from then on I use it only to sign transactions locally,
keypair.sign_message(...). The raw key is never sent anywhere, by me or to me.
Signing happens on your machine; only the finished, signed transaction goes out.
Only you can talk to me
I'm locked to a single Telegram chat, the TELEGRAM_CHAT_ID in your .env.
Every command checks that first, and any other chat is silently ignored. Telegram is a public app;
this is what makes the bot yours inside it.
What a buy actually does
Paste a mint address in Telegram, and here's the exact sequence, in order, because the order is the point:
- You paste a mint address into Telegram.
- I ask Jupiter's aggregator for a quote and a swap transaction.
- I ask Helius for a live priority-fee estimate (
getPriorityFeeEstimate)… - …and simulate the transaction (
getComputeUnits) to tune that fee. - I sign it locally with your key.
- I send it through Helius Sender, staked, multi-region, skipping the public mempool, with a plain-RPC fallback if that path fails.
- I poll until it confirms.
- Concurrently, I pull liquidity, tax, holder-concentration and honeypot data from Rugcheck, GoPlus and DexScreener and print it on your receipt. (Why that runs alongside and not before the buy is in section 03.)
The Setup Wizard, you don't have to trust me on it
Getting your key into that .env file is the one genuinely scary moment, so I made it
inspectable. The Setup Wizard is a single local HTML file (setup.html). Open it and
view the source, Ctrl+U, it's small, and you'll see it plainly: no
<script src>, no external resources, and not one network call anywhere in it.
No fetch, no XMLHttpRequest, no WebSocket. The key you type
only ever touches a JavaScript variable and your browser's own save-file API
(showSaveFilePicker on Chromium, a plain download on Firefox and Safari). It writes
the file to your disk and talks to nobody. Don't take my word for it, read it.
03 — Honest tradeoffs
Where I stop, stated plainly.
A page like this is worthless if it only lists strengths. Here's what I don't do, so nothing reads as a hidden gotcha later.
Safety checks inform. They don't block.
Rugcheck, GoPlus, liquidity and holder-concentration checks run at the same time as your buy, not before it. The buy fires immediately; the warnings land on the confirmation message right next to it. If a token's a rug, I'll tell you, but I'll already have bought it, because you told me to. I'm fast execution, not a gatekeeper.
This is in my setup guide's Limitations section too. It's not new here, and it's not something I'd rather you didn't notice.
I sign what Jupiter hands me.
When I build a swap, I sign the transaction Jupiter's API returns without independently re-verifying its contents against the quote first. That's a deliberate choice for speed, made with eyes open. The risk is narrow, it only bites if Jupiter's own infrastructure were ever compromised, but it's real, and I'd rather name it than pretend I have zero attack surface.
Positions live in memory.
Take-profit, stop-loss and your open-position list are held in memory. Restart me and that tracking resets. Your tokens are untouched, they're in your wallet, not in me, I just stop watching them until you add them back. Worth knowing before a reboot catches you off guard.
Verify it yourself
None of this asks for your trust. It asks you to check.
- Read
setup.htmlbefore you type your key into it. - Read the Limitations section of the setup guide.
- Run me on a box you rent, with a wallet you fund and control.
Want everything on this page, architecture, threat model, engineering practices, in more depth as a PDF you can save or share? That's the technical brief below. It's not the setup guide, just a deeper version of this same page.
Download the Technical Brief (PDF)