FAIRDRUM documentation
Everything about how the site works is gathered here: where to start, how a round is calculated, where your SOL is held and what has been done to make it all work. Each section is a separate page with the details.
For players: where to start
Two ways to start
With your own Solana wallet or with a wallet on your device — which to choose and how they differ.
Step-by-step guide
Wallet, SOL, connecting, topping up, playing, playing without signatures, withdrawing.
Wallet on your device
How the site creates a wallet in your browser, where the key is stored and what you are risking.
No registration
Why no email, site password or documents are needed.
Questions and answers
Short answers to common questions.
Errors and solutions
38 error codes: what happened and what to do about each one.
How the game works
How it works
The path of a bet: what a round consists of, where each part of the bet goes, fees.
Provably fair
Where the round number comes from and why it cannot be learned or rigged in advance.
Verify a round
Verify any round right in the browser using the transaction signature.
All games
16 games on one contract; each has its own prize table.
Your SOL and protection
Your SOL is in the contract
Where the game balance is held, how top-ups and withdrawals work, the lock on the amount you put in.
Player protection
The round is settled or the bet is refunded in full; what happens when something fails.
Contract
The program's address, its instructions and the administrator's rights.
Statistics
Public numbers from the game's shared account on the Solana network.
What the project consists of
- Smart contract on the Solana network. It accepts bets, holds the game balances and the pools, and calculates the round outcome and the payouts. The site does not calculate payouts and cannot change them.
- The site — static pages with no server holding a database of players. It reads the contract and prepares transactions, which your wallet signs.
- The house's keeper — a program on a separate server. It reveals the round secret so that the contract can settle the round, credits transfers from personal top-up addresses and makes sure the vault holds no less than the obligations to players.
What has been done to bring the site to this state
The numbers below were counted from the source code and the check logs as of 13 November 2026.
Contract
About 2100 lines of Rust, 27 instructions. 37 automated tests of the calculations and the accounting.
Site
16 games, 37 pages in 14 languages — 519 finished pages in total. About 10000 lines of code and about 1600 phrases in each language.
Code reviews
7 internal code reviews, with the findings fixed, and 83 automated tests of the site. There has been no independent external audit so far.
Rehearsals on a copy of the network
On a local copy of the Solana network: 117 round checks (forging the secret, refunding the bet, changing the secrets root) and 28 keeper checks (downtime, two copies running, someone else's secrets file).
Every game live
All 16 games have been played in the browser on the real contract: after every round the balance on the site was checked against the balance in the contract. Both ways of signing in, a top-up from an exchange and a withdrawal were tested.
Every page
All pages in all languages were opened on a phone and on a computer — 1008 page views: no errors, blank areas or horizontal scrolling.
Decisions that changed the project
- Our own provably fair draw instead of an external oracle. A measurement showed that the oracle returned the same number on the test network and on the main network, which means the round number could be learned in advance. The oracle has been removed; the round number is now made from a secret recorded before the bet and the hash of the bet's block.
- A bet refund instead of a stuck round. If the house does not settle a round in time, the contract refunds the bet in full, and the refund is added to a public counter.
- Personal top-up address. Every player has their own address in the contract: SOL can be sent from an exchange without a signature in a wallet.
- Signing in without your own wallet. The site creates a wallet in the player's browser; the key is not passed to the site or to the house.
- There are no keys on the site's server. The house's keys are kept only on the separate contract server.
What is not done yet
No independent external audit of the contract has been carried out. The right to upgrade the program is for now held by a single house key, not by a multisig. The page translations have not been proofread by native speakers. More about the limitations is on the “Provably fair” and “Player protection” pages.