Mining Math (On-chain)
All formulas below are enforced by BullionMine.sol on Robinhood Chain mainnet. Rewards mint as GOLD when you claim.
Definitions
| Symbol | Meaning |
|---|---|
Max miners per room instance (roomSlots, default 8) | |
Max miner type index for room type (roomMaxMinerTier, 0-based) | |
baseEmissionPerHashPerSec (GOLD per second per hash, default 0.0001) | |
| Base hash of miner instance | |
Room multiplier (roomMultiplierBps / 10000) | |
| Fuel multiplier for that room instance (1.0 if inactive) | |
| Cooldown end timestamp for miner |
Miner display tier = on-chain type index + 1 (T1 = type 0).
Room tier gate
When equipping loadout for room type , each miner type must satisfy:
Default deploy values:
| Room | (0-based) | Allowed display tiers |
|---|---|---|
| Small Garage | 1 | T1–T2 |
| Warehouse | 2 | T1–T3 |
| Bunker | 3 | T1–T4 |
| Hangar | 4 | T1–T5 |
| Space Station | 8 | T1–T9 |
Loadout size must also satisfy (default ).
Effective hash per miner
Each equipped miner contributes hash or zero if on claim cooldown:
Total hash (all rooms)
Sum effective hash from every equipped miner in every room instance you own:
Emission rate
With default :
Worked example — tier-gated loadout
Setup: One Small Garage (, → T1–T2 only, ).
Equip 8× Basic Drill (base hash 10 each), no fuel, no cooldowns:
At a 2.19 per day (solo-mining illustration only).
Invalid: Equipping one Magma Drill (type 4, T5) in Small Garage → transaction reverts (MinerTierTooHighForRoom).
Worked example — mixed low tiers
Setup: Warehouse (, allows T1–T3).
| Miners | Count | Base hash | Subtotal effective |
|---|---|---|---|
| Basic Drill (T1) | 8 | 10 | |
| Turbo Bore (T2) | 4 | 25 | |
| Deep Seeker (T3) | 4 | 50 |
Worked example — max room, max miners
Setup: Space Station (, all tiers, ), 8× Singularity (10,000 hash), no fuel:
Multiple rooms stack
Hash adds across instances. Example:
| Room instance | Loadout | Effective hash |
|---|---|---|
| Garage #1 | 8× T1 Basic | 80 |
| Warehouse #1 | 8× T3 Deep Seeker | 440 |
| Total | 520 |
Claim cooldown
After each claim, equipped miners enter cooldown for claimCooldownSeconds (default 6 hours). While cooling down, unless you pay GOLD to bypass (bypassCooldownPriceGold, default 500 GOLD).
Global pool cap
Total mining mint is capped at 14,700,000 GOLD (goldMiningSupply). When exhausted, claims pay nothing — your hash still sets relative share while the pool lasts, but absolute yields fall as more players join.
Default on-chain constants (deploy)
roomSlots = [8, 8, 8, 8, 8]
roomMaxMinerTier = [1, 2, 3, 4, 8] // 0-based type index
roomMultiplierBps = [10000, 11000, 12500, 15000, 20000]
roomTierUpgradeSeconds = 5 // live mainnet (was 12h at deploy)
baseEmissionPerHashPerSec = 100_000 atoms → 0.0001 GOLD/hash/sec
claimCooldownSeconds = 6 hours
MAX_ROOM_INSTANCES = 32
Admin can adjust prices and some parameters via owner functions; tier gates and slot caps use setRooms().