The provably-fair revolver, played in Telegram.
Quantum Bullet is a Russian-roulette betting game that runs right inside your Telegram groups. Players ante up $BULLET, take turns at a virtual revolver, and the survivors split the pot. Every outcome is verifiable, every move is on-chain, and you never touch a seed phrase or pay for gas.
There is nothing to install. Add the bot to a group, run a command, and you are playing. Behind the scenes each account gets its own Solana wallet, stakes are escrowed and paid out automatically, and the chamber the bullet sits in is locked in cryptographically before a single trigger is pulled, so no one, not even the house, can rig a round.
Plays in Telegram
Group slash-commands and a Mini App share one live lobby. No app store, no signup.
Quantum-seeded
The bullet's chamber comes from real quantum randomness, proven by a pinned VRF. Anyone can /verify.
Gasless
You only ever need $BULLET. Network fees are covered for you.
Custodial wallets
An auto-generated wallet per account moves tokens for you, with no seed phrase to lose.
Quantum randomness
The name is not decoration. The thing that decides where the bullet sits is real quantum randomness, not a software shuffle.
Almost every online game leans on a pseudo-random generator. That is just an algorithm. Feed it the same seed and it spits out the same sequence every time, which means whoever holds the seed effectively holds the outcome. Fine for a video game. Not fine when there is a pot on the table.
Quantum Bullet starts somewhere harder to game. Every round pulls fresh entropy from a quantum random number generator, where the bits come straight off a physical quantum process. There is no formula behind them and nothing to reverse engineer. Not even we can know the next value before it lands.
That quantum value is what seats the bullet and shuffles the turn order. Then it gets
locked down. The draw is folded into the round's cryptographic proof, committed before
anyone plays and revealed after, so you can recompute the whole thing yourself with
/verify. You get both halves at once: randomness physics says nobody can
predict, and a receipt anybody can check.
Quick start
From zero to your first round:
- Add the bot to a Telegram group (or open the Mini App).
- Run
/walletto see your auto-generated deposit address. - Send $BULLET to that address. It lands in seconds.
- Someone starts a table with
/newgame; everyone/join. - Set your buy-in with
/stake, then/ready. - On your turn,
/pullthe trigger or/passthe gun. - Survive. The pot splits to whoever's left standing.
How a round works
One game runs per group at a time. Players /join the lobby and mark
/ready. When the round starts, the revolver and the turn order are locked in:
- The gun auto-sizes. Chamber count scales with the table (a minimum of six, growing with the player count) and stays evenly divisible by the players, so everyone faces equal odds and there's room to maneuver.
- One live round, random chamber. A single bullet is seated in a chamber chosen by the verifiable random function. Nobody, not even the bot, knows the chamber in advance; it's committed to cryptographically and only revealed at the end.
- Turn order is shuffled fairly. Who goes when is derived from the same VRF output, so the sequence is verifiable and identical on every client.
On your turn: pull or pass
When the gun reaches you, you have two moves:
-
/pullto fire. If the chamber's empty, you survive and bank one pass token. If it's the live one, you're out. -
/passto hand it on. You skip firing and slide the gun to the next player. Passing costs one token. With zero tokens, you must pull.
Only pulls advance the cylinder, so the bullet always arrives within a known number of pulls. Passing buys you time, but someone has to squeeze the trigger eventually. Once a round is live you can't leave the table.
Game modes
Once everyone's readied and the chamber count is known, the table picks how to play:
Single bullet
One bullet, one loser. The first player to pull the live chamber is the only one out, and everyone else splits the pot. Low variance, casual, quick.
Winner takes all
The gun reloads after each elimination and the table shrinks until a single survivor takes the whole pot. High drama, big payout, maximum tension on every pass.
The mode is chosen per round in the lobby. It sets the win condition and how the escrow splits the pot.
Commands
Everything happens through simple slash-commands in the group (or buttons in the Mini App).
| Command | What it does |
|---|---|
/start | Set up your account + custodial wallet. |
/help | Show the command list and basics. |
/newgame | Open a fresh table in the group. |
/join | Take a seat at the open table. |
/stake | Set your buy-in (in $BULLET; 0 = free play). |
/mode | Pick single-bullet or winner-takes-all. |
/ready | Lock in. The round starts once everyone is ready. |
/pull | Fire on your turn. |
/pass | Pass the gun (spends a token). |
/leave | Leave a table that hasn't gone live yet. |
/status | Show the current table, turn, and stakes. |
/wallet | Show your deposit address and balance. |
/gas | Check that your wallet is funded to transact. |
/verify | Independently verify a finished round was fair. |
/leaderboard | Top players by results. |
Your wallet
Every account gets its own custodial Solana wallet, generated automatically the
first time you interact with the bot. It's the wallet you stake from and get paid into,
and you can see it any time with /wallet.
Because it's custodial, the bot can sign transfers for you. That is what lets a stake leave your balance the instant a round starts and a payout land the instant it ends, with no signing prompts mid-game. There's no seed phrase for you to back up or leak. Every on-chain move the bot makes for you comes with a Solana explorer link, so you can always check the chain yourself.
Sending $BULLET
Funding your wallet is a normal Solana token transfer. Three steps:
- Run
/walletto copy your unique deposit address. - From any wallet or exchange that holds $BULLET, send it to that address.
- The deposit is detected automatically and credited to your in-game balance within seconds.
You don't need to pre-fund any SOL alongside it. The moment your deposit is seen, your wallet is topped up with just enough network gas to transact. More on that below.
Gasless play
On Solana, every token transfer costs a tiny amount of SOL in network fees. Asking players to keep SOL on hand just to move their tokens is friction, so Quantum Bullet kills it.
You never pay gas. When your deposit arrives, your custodial wallet is automatically funded with the small amount of SOL it needs, and the house pays the network fee on every stake, payout, and burn. You only ever think about one balance: $BULLET.
Those fees are covered by the token's creator fees. The trading fees $BULLET accrues are claimed and recycled to keep the game's gas wallet topped up. The cost of playing is funded by the token itself, not by you.
The $BULLET token
$BULLET is the SPL token that powers the game on Solana. It's what you stake, what fills the pot, and what winners take home. Stakes are denominated in $BULLET, and a portion of every pot is permanently burned, so play itself steadily shrinks the supply.
Payouts & rake
Paid rounds run through a custodial escrow:
- When the round starts, each player's stake is pulled into the treasury and held while the round runs.
- On settlement, the pot is paid out to the winner(s) according to the chosen mode.
- Collection is all-or-nothing. If anything fails mid-collection, everyone gets back what was taken.
A 10% rake is taken from the pot. Half of that rake is burned, gone from supply for good, and half goes to the treasury that keeps the lights on.
Single bullet · 6 players
Five winners each clear roughly +8% on their stake. Low variance.
Winner takes all · 6 players
One winner can clear roughly +440%; the other five are out. High variance.
Figures are illustrative, after the 10% rake, and scale with table size and buy-in.
Provably fair
Any betting game lives or dies on one question: was that rigged? Quantum Bullet answers it with math instead of a promise. The quantum draw picks the bullet's chamber and the turn order, and a verifiable random function (VRF) with a pinned key wraps that draw in a proof. The house can't grind the key, and it can't pick a chamber to put you on.
At the start of a round
Before anyone pulls, the bot publishes a commitment, a cryptographic hash that locks in the bullet's chamber together with a hidden salt, alongside the VRF public key and input. The bullet's chamber and the turn order are both functions of the VRF output, so they're fixed the moment the round begins. The salt stays secret, so the commitment reveals nothing yet.
At the end
The bot reveals the VRF output, the salt, and the proof. Anyone can run /verify
(or the Mini App's fairness panel) to recompute the chamber and turn order, check them
against the proof, and confirm they match the commitment that was published at the start.
If the numbers line up, the round was honest. They always will.
FAQ
Do I need to install anything?
No. It runs entirely in Telegram: slash-commands in a group, plus an optional Mini App. Both share the same live lobby.
Do I need SOL?
No. You only ever hold $BULLET. Network gas is covered for you out of the token's creator fees.
Where are my funds?
In a custodial Solana wallet generated for your account. View it with /wallet; every move comes with an explorer link.
Can the bot cheat?
No. The bullet's chamber is committed cryptographically before any trigger is pulled and revealed afterward, with a pinned VRF key. Run /verify on any finished round.
What happens if I run out of pass tokens?
You must /pull. You bank a token for every safe pull, and spend one each time you /pass.
Can I play for free?
Yes. Set your /stake to 0 for a no-money table. Paid tables escrow real $BULLET.