Double your BUX! Play Now →
Blockster docs · v1.0

How Blockster works, from the bet to the byte.

Every last mechanic in our on-chain games and liquidity pools — the math, the smart contracts, the provably-fair scheme, and an independent security audit of the program that holds the money.

Games live
1
Coin Flip (game_id 1)
Vaults
2
SOL · BUX
LP tokens
SOL-LP · BUX-LP
9-decimal SPL
Program
49up...T2tm
Solana · Anchor

What is Blockster?

Blockster is a Solana-native content platform with a casino and a liquidity pool stapled to it. Every post you read earns BUX. Every BUX you earn — and every SOL you deposit — can be wagered on a fully on-chain coin flip, or staked in one of our two liquidity pools to earn the house edge as yield.

There is no custodian, no promise, no "trust us." The pools, the bets, the settlement, and the payouts all live in a single Anchor program (49up2uzZANpjTC3sgggbZazdHBii2vY9mVK3vk5dT2tm) deployed to Solana. Your coin-flip outcome is computed off-chain from a seed we committed on-chain before you placed your bet — you can always verify it yourself.

These docs cover every piece of that system, top to bottom. They are written for people who want to know how the sausage is actually made.

Where to start

Canonical addresses

These are the on-chain addresses that back everything in these docs. They are deployed on Solana mainnet.

Programs & mints
Bankroll program
49up2uzZANpjTC3sgggbZazdHBii2vY9mVK3vk5dT2tm
Airdrop program
wxiuLBuqxem5ETmGDndiW8MMkxKXp5jVsNCqdZgmjaG
BUX mint
7CuRyw2YkqQhUUFbw6CCnoedHWT8tK2c9UzZQYDGmxVX
SOL-LP mint (PDA)
seeds = ["bsol_mint"]
BUX-LP mint (PDA)
seeds = ["bbux_mint"]
Vault PDAs (on-chain addresses)
SOL vault
seeds = ["sol_vault"]
SOL vault state
seeds = ["sol_vault_state"]
BUX vault token account
seeds = ["bux_token_account"]
BUX vault state
seeds = ["bux_vault_state"]
Game registry
seeds = ["game_registry"]
Player state (per player)
seeds = ["player", player_pubkey]
Bet order (per bet)
seeds = ["bet", player_pubkey, nonce_le_bytes]
Referral state (per referrer)
seeds = ["referral", referrer_pubkey]

Conventions used in these docs

There are a few things we do throughout that are worth noting up front so you can skim fluently.

  • Basis points (bps). 10,000 bps = 100%. A 1.98× multiplier is stored as 19800 bps. A 1% referral rate is 100 bps.
  • Token decimals. SOL has 9 decimals (1 SOL = 10⁹ lamports). BUX has 9 decimals (1 BUX = 10⁹ base units). SOL-LP and BUX-LP LP tokens both have 9 decimals and inherit the precision of their underlying vault.
  • Integer math everywhere. On-chain math uses u64 with u128 intermediates for overflow safety. Division truncates. Off-chain math uses trunc/1, not Float.round/1, to match.
  • PDAs. Program-Derived Addresses are account addresses that a program can sign for. Every persistent piece of state in the bankroll lives at a PDA with a specific seed formula — we list them all above.
  • Lamports. The base unit of SOL. 1 SOL = 1,000,000,000 lamports. On-chain balances and bet amounts are always denominated in lamports.

A word on risk