root@solheist:~$ cat /docs/manual.txt
[0-5] navigate | ● DEVNET | RND_2847
SECTION_00

SYSTEM_OVERVIEW

// WHAT_IS_SOL_HEIST

Predict which node gets BREACHED and win the pool.

1Pick nodes on the 5×5 grid
2Place your SOL bets
3Wait for VRF to reveal winner
4Claim your share if you hit
// PROTOCOL_STATS
25NODES
60sBETTING
93%PAYOUT
15sREVEAL
// ROUND_FLOW
BETTING60s
VRF~5s
BREACHreveal
CLAIM
SECTION_01

THE_GRID

// GRID_ANATOMY
[row:col] ## 0.00◎
[row:col] = Node coordinates (0-4)
## = Node number (01-25)
0.00◎ = Total bets on node
// COORDINATE_MAPPING (ALL 25 NODES)
Node 01 = [0:0]  Node 06 = [1:0]  Node 11 = [2:0]  Node 16 = [3:0]  Node 21 = [4:0]
Node 02 = [0:1]  Node 07 = [1:1]  Node 12 = [2:1]  Node 17 = [3:1]  Node 22 = [4:1]
Node 03 = [0:2]  Node 08 = [1:2]  Node 13 = [2:2]  Node 18 = [3:2]  Node 23 = [4:2]  ← CENTER
Node 04 = [0:3]  Node 09 = [1:3]  Node 14 = [2:3]  Node 19 = [3:3]  Node 24 = [4:3]
Node 05 = [0:4]  Node 10 = [1:4]  Node 15 = [2:4]  Node 20 = [3:4]  Node 25 = [4:4]

Formula: node_num = (row * 5) + col + 1
// HEAT_MAP_SYSTEM
[x:x]--
NO_BETS Empty node, 0◎ staked
[x:x]--0.08◎
LOW_HEAT <0.05◎ staked
[x:x]--0.35◎3
MED_HEAT 0.05-0.2◎ staked
[x:x]--1.2◎8
HIGH_HEAT >0.5◎ staked
[x:x]--0.5◎
YOUR_BET Cyan highlight + checkmark
! Player count badges show competition. More players = lower individual share if that node wins.
SECTION_02

BETTING_SYSTEM

// BET_LIMITS
0.01◎MIN_BET
10◎MAX_BET
25MAX_PICKS
1PER_NODE
// TIERED_MINIMUM_BETS
Min bet increases as you pick more nodes per round
1-5 picks0.010◎
6-10 picks0.011◎
11-15 picks0.0121◎
16-20 picks0.0133◎
21-25 picks0.0146◎
// EXAMPLE_ROUND
ROUND #2847SETTLED
Pool:100◎
Prize (93%):93◎
Winner:[2:2] #13
On winner:20◎
YOUR POSITION
Your bet:5◎
Share:25%
PAYOUT:23.25◎
PROFIT:+18.25◎
// PAYOUT_FORMULA
payout = (your_bet / node_total) × (pool × 0.93)
your_bet = Your stake on winning node
node_total = All bets on winning node
pool = Total round stakes
0.93 = 93% to winners (7% fees)
SECTION_03

BREACH_SEQUENCE

// VRF_PROCESS
01
BETTING_CLOSES Timer hits 00:00. No more bets accepted. slot_commitment = current_slot
02
VRF_REQUEST Switchboard oracle receives randomness request. vrf.request_randomness(slot_commitment)
03
VRF_REVEAL Oracle returns cryptographic proof + random bytes. random_bytes = vrf.reveal()
04
BREACH_CALC Winning node determined by modulo operation. breach_node = random_bytes[0] % 25
// BREACH_ANIMATION BETTING...
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Waiting for bets...
// CLAIMING
1 Click CLAIM button after reveal
2 Approve transaction in wallet
3 SOL transferred to your wallet
No deadline to claim. Winnings stored on-chain forever.
SECTION_04

$HACK_REWARDS

// POINTS_SYSTEM
WAGERING 10 pts per bet placed Each bet → 10 pts
WINNING +50 pts bonus per win Win → +50 pts
REFERRALS 10% of referee's pts Forever
// TIER_SYSTEM + REWARDS
TNAMEPOINTS$HACK/PTTIER BONUS
1Rookie00.10
2Script_Kiddie10K0.08500
3Hacker50K0.061,500
4Cracker150K0.045,000
5Phreaker400K0.02515,000
6Elite1M0.01550,000
7Zero_Day3M0.01150,000
One-time bonus $HACK when you reach each tier. Total possible: 222,000 $HACK
💡 Points earned now will be claimable as $HACK after TGE - your progress is tracked on-chain!
// $HACK_ECONOMY
1BTOTAL SUPPLY
250MREWARDS POOL
~4.4yrRUNWAY
WINNER BONUS (per round)
<1◎ pool10 $HACK
1-5◎ pool25 $HACK
5-20◎ pool50 $HACK
20+◎ pool100 $HACK
Claimable after TGE based on your win history
// FEE_DISTRIBUTION
WINNERS
93%
BANK
5.5%
TREASURY
1.0%
CRANK
0.5%
// CRANK_SYSTEM

The Crank is an automated service that:

  • Starts new rounds when previous ends
  • Requests VRF randomness
  • Settles rounds after VRF reveals

Anyone can run a crank and earn 0.5% of the pool as a reward.

SECTION_05

PROTOCOL_SECURITY

// SMART_CONTRACT
  • Checked arithmetic (no overflow)
  • PDA validation on all accounts
  • State machine enforced
  • Authority sigs required
// VRF_SECURITY
  • Switchboard oracle
  • Randomness bound to round
  • Slot verification
  • Cryptographically secure
// FUND_SAFETY
  • PDA vaults (not admin wallets)
  • No admin withdrawal function
  • Trustless claims direct from contract
  • Emergency refund for stuck rounds
// ADMIN_PERMISSIONS
CAN_DO
  • Pause/unpause game
  • Update fee recipients
  • Update VRF oracle
  • Transfer authority (48h delay)
  • Force refund stuck rounds
CANNOT_DO
  • Withdraw player funds
  • Manipulate winning node
  • Block claims
  • Modify placed bets
  • Predict VRF results
// VERIFY_ON_CHAIN
PROGRAM_ID: 8AxieQQ6DMCBPxcT1fs6P7Uv8WqXw8ZUoQ6DXuHV7f2D