Back to blog

Dice Gambling Script: BC.Game Hash Dice Setup & Strategy

Noki, NoToKYC lead reviewer
By NokiDecember 30, 2025Updated November 6, 2026
Gambling Scripts9 min read
Dice Gambling Script: BC.Game Hash Dice Setup & Strategy

Master BC.Game Hash Dice automation with our complete guide. Learn how to set up provably fair dice scripts, configure betting strategies, and manage risk with low vs high multiplier approaches.

Use this script at BC.Game

BC.Game
4.4
(1 review)
KYC Level 1
  • 8,000+ games including the provably-fair BC Originals suite (Crash, Dice, Plinko, Mines, Limbo)
  • Full-scale crypto sportsbook covering 40+ sports on the same wallet
  • One of the longest track records in crypto gambling — live since 2017

Withdrawal

Instant on platform, few exceptions (crypto)

Games

8000+

Founded

2017

License

Anjouan — ALSI-202410011-FI1

BTCETHLTCDOGEBNBSOL+7 more

Welcome Bonus

Monthly 4-deposit bonus: 180% / 240% / 300% / 360% (min $5 / $10 / $20 / $30), paid into locked Rakeback that unlocks as you wager

About this dice gambling script guide

Short answer: a dice gambling script is JavaScript that places your BC.Game Hash Dice bets by rules you set. It does not change the house edge or the odds of any roll, and no betting system guarantees a profit. Over enough rolls, expect to lose about the house edge on what you stake. Set a loss limit first and put it in the script.

Key facts · Before you start · The steps · Your odds · Where it goes wrong · No-KYC notes · FAQ

Written by Noki, lead reviewer at the NoToKYC desk. Last updated 2026-11-06. See our methodology. We may earn a commission if you sign up through links on this page; it never changes a rating.

Key facts

TaskRun a Hash Dice auto-bet script with a loss limit
PlatformBC.Game Hash Dice, script feature
Last verified2026-11-06
Time neededn/a — not timed by us
Real-money exposureEvery scripted bet is real. Set the loss limit first.
Effect on house edgeNone. BC.Game's Hash Dice help article states 1%; its house edge and RTP article says original games now return 96%, a 4% edge. Use the RTP the game shows.

What you need before you start

You need three things to run a dice gambling script on BC.Game:

  • A BC.Game account with a balance. Every scripted bet is a real bet.
  • The currency you'll bet in, selected. The script reads its bet limits from currency.minAmount and currency.maxAmount, per a 2022 post on BC.Game's forum by staff member Skele that documents the script API.
  • A loss limit. See step 1.

Skip any guide that has you paste code into the browser console, including this page's old version.

How a Hash Dice roll is decided

BC.Game's How to Play Hash Dice article says each roll is "a random number between 0 and 99999". You pick a range first, such as rolls above 49999; its size is your win chance. Land in it and you win stake times payout. Miss and you lose the stake.

The lower the chance, the bigger the payout, from 1.0102x up to 99,000x per the article. A Hash Dice script in BC.Game's forum sets the payout at 99 divided by the chance, which fits: 98% pays 1.0102x, 49.5% pays 2.00x, 0.001% pays 99,000x.

How to check a roll is provably fair

Each roll comes from a server seed, your client seed and a nonce (the bet number). The Hash Dice article says:

"The Server Seed is hidden, and a SHA-256 hash of the seed is shown instead to prevent a player from result prediction." (BC.Game Help Center)

So you see the hash before you bet. After you change seeds, the old seed is revealed, and you check it by "comparing their hashes before and after randomization".

To check a roll:

  1. Before you bet, note the hashed server seed and your client seed.
  2. After changing seeds, hash the revealed server seed with SHA-256. It should match.
  3. Run the getRoll code from the Hash Dice article with both seeds and the bet's nonce. It turns their SHA-512 hash into a number from 0 to 99,999. That's your roll.

BC.Game's provably fair explainer also offers an on-site check: "Go to the website > Select 'Provably Fair'", then pick the game.

The steps

Six steps. The first comes before you open the game.

Step 1: Set your loss limit

Decide the most you'll lose this session, in the currency you'll bet. That's your loss limit. The script won't run without one and refuses any bet that could take your losses past it. Pick it before the first roll, while losing hasn't moved it yet.

Step 2: Open Hash Dice and add a script

Open Hash Dice and open its script panel. On Crash, BC.Game's Crash write-up puts scripts behind an Add A Script button on the game screen. Add your own script, so the loss limit sits in code you can read.

Step 3: Paste the code

Every call below comes from BC.Game's script API post. We have not run this script with real money; it is built only from the functions that post documents.

var config = {
baseBet: {
label: "Base bet",
value: currency.minAmount,
type: "number" },
rtp: {
label: "RTP shown in the game (%)",
value: 99, type: "number" },
chance: {
label: "Win chance (%)",
value: 49.5, type: "number" },
onLoss: {
label: "On loss, multiply bet by " +
"(2 = Martingale, 1 = flat)",
value: 2, type: "number" },
maxLosses: {
label: "Stop after this many " +
"losses in a row",
value: 9, type: "number" },
lossLimit: {
label: "Loss limit for " +
"this session",
value: 0, type: "number" }
};

function main() {
// Read the form here, inside main(),
// so changes you type are picked up.
var base = config.baseBet.value;
// 99 / 49.5 = 2.00x
var payout = config.rtp.value /
config.chance.value;
var step = config.onLoss.value;
var maxLosses =
config.maxLosses.value;
var lossLimit =
config.lossLimit.value;

var bet = base;
var losses = 0;
// running result since start;
// currency.amount does not update
// mid-run
var net = 0;

log.info("Payout per win: " +
payout.toFixed(4) + "x");

game.onBet = function () {
if (lossLimit <= 0) {
log.error("Set a loss limit " +
"above 0, then start again.");
game.stop();
return;
}
if (bet > currency.maxAmount) {
log.error("Next bet " + bet +
" is over the maximum of " +
currency.maxAmount +
". Stopping.");
game.stop();
return;
}
if (bet - net > lossLimit) {
log.error("Next bet could take " +
"losses past " + lossLimit +
". Stopping.");
game.stop();
return;
}
game.bet(bet, payout).then(
function (result) {
if (result > 1) {
net += bet * (result - 1);
log.success("Win at " + result +
"x. Net " + net.toFixed(8));
bet = base;
losses = 0;
} else {
net -= bet;
losses += 1;
log.error("Loss " + losses +
" in a row. Net " +
net.toFixed(8));
if (losses >= maxLosses) {
log.error(losses +
" losses in a row. " +
"Stopping.");
game.stop();
return;
}
bet = bet * step;
}
});
};
}

Step 4: Fill in each setting

  • Base bet. Your first stake, and the stake after every win. It defaults to currency.minAmount.
  • RTP shown in the game (%). Type in the game's figure. The script divides it by your chance to get the payout.
  • Win chance (%). At a 99% RTP, 49.5 gives a 2.00x payout. Lower chance, bigger payout, longer losing runs.
  • On loss, multiply bet by. 2 is Martingale, 1 is flat staking.
  • On win. No setting: the stake resets to the base bet.
  • Stop after this many losses in a row. Default 9.
  • Loss limit for this session. Your step 1 number.

The script also stops before any bet above the currency maximum. Its loss check works like Stop on Loss in BC.Game's Classic Dice auto mode.

Step 5: Choose Martingale or flat stakes

Martingale doubles after each loss and resets after a win. Flat staking bets 1 unit every roll. A losing run from a 1-unit base bet:

Losing rollMartingale stakeMartingale total lostFlat total lost
1111
2232
3473
48154
516315
632636
7641277
81282558
92565119
105121,02310
111,0242,04711

At 2.00x, one Martingale win recovers the run plus one base bet. By roll 11 you're risking 1,024 to win that one unit.

At a 96% RTP, the same 49.5% chance pays about 1.94x, and from five losses on, doubling no longer covers the run: a win on the 32 stake brings back about 30.06 of the 31 lost.

Flat staking loses slowly and never wins back a run in one go. Neither system changes the odds.

Step 6: Run it and watch the log

Start it. The log shows the payout, then each roll's result and your running net, and finally why it stopped.

What this does to your odds

A dice gambling script automates bets. It doesn't change the house edge or the odds of any roll, and no betting system guarantees a profit.

BC.Game publishes two figures. Its How to Play Hash Dice article says the game "has only 1% edge", a "99% return rate". Its house edge and RTP article says:

"We recently adjusted the Return to Player (RTP) percentage for our original games, changing it from 99% to 96%." (BC.Game Help Center)

A 96% RTP is a 4% edge. The article's Crash example shows where: widen the game table with the arrow below it. Use the figure Hash Dice shows.

Now run Martingale to the end: balance 1,000 units, base bet 1, chance 49.5%, payout 2.00x, loss limit 1,000. Each win nets one unit. Nine losses in a row cost 511 and trip the streak stop. Without that stop, the loss limit blocks the next stake of 512. One bad run wipes out 511 wins.

Nine straight losses come up about once in 468 runs, so across 1,000 rolls you'll more likely than not hit one.

Over enough rolls, expect to lose about the house edge on what you stake: roughly 10 units per 1,000 at 1%, or 40 at 4%. Martingale doesn't change that rate. It takes the loss in rare, large chunks.

Where it goes wrong

Most dice gambling script problems come down to three things.

  • The pause is gone. A script removes the pause between bets, which is often when you'd notice you're chasing losses. The coded loss limit does that job, so pick a number you won't override.
  • A stale balance. BC.Game's API post says currency.amount is your starting balance and doesn't refresh mid-run, so this script tracks net itself.
  • Settings that don't stick. In BC.Game's Hash Dice script thread, a regular warned that editing the config declaration "is only going to change the default value". This script reads the form inside main().

How this affects no-KYC users

A dice gambling script doesn't change your privacy: scripted bets are ordinary bets under the same terms and checks. Verification is a casino question, covered in our no-KYC casino reviews. For private deposits, see our privacy coins rundown.

One rule does follow the script. BC.Game's general terms bar "software-assisted methods" and reserve the right to "invalidate any wager". See the FAQ.

The same general terms state that BC.Game operates under License No. ALSI-202410011-FI1 from the Government of the Autonomous Island of Anjouan, Union of Comoros.

FAQ

A dice gambling script places BC.Game Hash Dice bets for you by your rules. It doesn't change the house edge or any roll's odds, and no betting system guarantees a profit. Set a loss limit first and put it in the script.

To run the script, yes: every bet comes from your balance. To read the code, the Hash Dice rules or the getRoll check, no.

No. BC.Game's Hash Dice article states a 1% edge; its RTP article says original games now return 96%, a 4% edge. Check the RTP in the game. Staking changes how much you bet, never the edge.

A losing run. Doubling from 1 unit, ten straight losses cost 1,023 and the next bet is 1,024. Keep the loss limit in the code.

Scripts are a BC.Game feature, and its Classic Dice help article calls them optional, at the player's risk. Its general terms also bar "software-assisted methods" and allow it to invalidate wagers, without saying how that applies to its own feature. Read the terms first.

House edge: BC.Game's Hash Dice and RTP help articles, and the RTP in the game. Rolls: the Hash Dice article's getRoll code, with your revealed seeds. Script functions: BC.Game's script API forum post.

Where to go next

Compliance


Affiliate disclosure: NoToKYC may earn a commission when you sign up through links on this page. This never affects our ratings, rankings, or what we report — see our review methodology.

Play responsibly (18+): Gambling can be addictive. If it stops being fun, get free, confidential help — US: National Problem Gambling Helpline, call/text 1-800-MY-RESET (1-800-697-3738), 24/7. UK: National Gambling Helpline (GamCare) 0808 8020 133, 24/7. Outside the US/UK: GamblingTherapy.org. Free blocking tools: BetBlocker, Gamban. Self-exclusion (GB): GamStop.

Availability: You must be of legal gambling age in your jurisdiction (18+, or 21+ where required). Online gambling is restricted or illegal in some countries and regions — check your local laws before playing. No-KYC availability and terms can change without notice.

Note on GamStop: it only covers operators licensed in Great Britain. It does not block sites outside that scheme.