BullsRun

Provable fairness

Every race is committed before betting opens and can be fully reproduced afterward. Check any past race at /verify/<raceId>.

1. Commit-reveal with on-chain entropy

Before betting opens, the server generates a secret serverSeed and publishes commitHash = sha256(serverSeed:raceId) on-chain via a memo — locked in before anyone can place a bet.

At lock time, the race commits to a specific future Solana slot (entropySlot). Once that slot lands, its blockhash becomes the entropy: outcomeSeed = sha256(serverSeed:raceId:entropyBlockhash). Only then is serverSeed revealed — so nobody, including the operator, could have known the outcome while bets were open.

2. One batch swap per race

Every wager is placed in $BULLSRUN. At lock, all confirmed wagers for that race are converted to SOL in a single batch swap — a settlement mechanic, not the operator trading against players. The swap price is whatever the market gives at that moment; nobody controls its timing beyond the fixed lock schedule.

3. Where every wager goes

Split at bet time, per wager:

  • 50% burned immediately, on-chain, in the same transaction as the bet.
  • 35% of the wager routes to the SOL prize pool via the batch swap.
  • 15% routes to the Burn Reserve, which accumulates and is burned publicly at milestones.

Separately, the creator-fee stream (Pump.fun trading fees on $BULLSRUN) splits 40% to the prize pool / 60% to operations.

4. Payouts today, and the roadmap

In v1, winning payouts are executed by the operator wallet once a race settles — pro-rata against confirmed winning wagers, dust rounding always favors the pool over any individual payout. A non-custodial on-chain claims program (where winners pull their own payout permissionlessly) is the published next step; this page will be updated the moment it ships.

5. The honest caveat

The theoretical risk in any slot-hash-entropy design is a validator acting as slot leader for the committed entropy slot choosing not to produce that block, in an attempt to bias the outcome. Mitigation today: pool sizes are kept small enough that this attack isn't worth a validator's risk, and a VRF-based entropy source (removing this caveat entirely) is planned for v1.1.

On-chain addresses

$BULLSRUN mint— published at launch
Prize pool vault (ATA)— published at launch
Burn Reserve wallet— published at launch
Operations wallet— published at launch

Addresses without a value yet will be published here as soon as they're deployed — currently running on mainnet.

Terms of Service & restricted jurisdictions

BULLS RUN is a game of chance offered on an as-is basis. By connecting a wallet and placing a wager you accept these terms in full.

Wagers are final once confirmed on-chain. Burned tokens are never recoverable. The site does not custody user funds outside of the moment a wager transaction is in flight; the prize pool vault and Burn Reserve are operator-controlled wallets as described above until the non-custodial claims program ships.

You may not use BULLS RUN if you are located in, a resident of, or accessing the site from any jurisdiction where real-money gaming of this kind is prohibited by local law, or if you are not of legal age to gamble in your jurisdiction. It is your responsibility to know and follow the law where you live.

This is a game of chance. Never wager more than you can afford to lose. 18+ only.