Skip to content
DiceSim

Paroli · 49.5% chance

Paroli 3-step dice bot script (Lua)

Paroli raises the bet after wins instead of losses. This script bets 49.5% for a 2.00x payout, doubles the bet after each win, and after 3 wins in a row moves that run's profit to the vault and starts again at the base bet.

Any loss sends the bet back to the base bet. A run of wins that ends in a loss costs exactly one base bet overall, so losing streaks use up the balance slowly.

The script

Lua 5.4 with DiceBot-style globals. The top level runs once to set chance and the first nextbet, then dobet() runs after every roll. Every global is described in the Lua reference.

luaparoli-3-step.lua
-- Paroli 3-step (positive progression, micro bankroll)
-- Let winnings ride: double after each win up to 3 wins in a row, then bank the
-- run and start over. Any loss resets to the base bet. Losses are always one base
-- bet, so a tiny bankroll survives long dry spells; the upside comes in 8x bursts.

chance  = 49.5
bethigh = false

basebet = params.basebet or balance / 2000
nextbet = basebet

local steps     = params.steps or 3        -- wins in a row before banking
local vaultWins = params.vaultwins ~= false -- move each completed run's profit to the vault

local winRun = 0

function dobet()
  if win then
    winRun = winRun + 1
    if winRun >= steps then
      -- completed run: profit of this run is basebet * (2^steps - 1)
      if vaultWins then
        vault(basebet * (2 ^ steps - 1))
      end
      winRun = 0
      nextbet = basebet
    else
      nextbet = previousbet * 2
    end
  else
    winRun = 0
    nextbet = basebet
  end
end

How it works

  1. chance = 49.5 and bethigh = false win on a roll below 49.5, paying 2.00x.
  2. basebet is params.basebet or balance / 2000, which is 0.05% of the starting balance.
  3. steps is params.steps or 3: the number of wins in a row before the script banks the run. vaultWins is true unless you pass params.vaultwins = false. winRun counts wins in a row.
  4. On a win, winRun goes up by 1. If it has reached steps, the script calls vault(basebet * (2 ^ steps - 1)), which is 7 base bets at 3 steps, then resets winRun and the bet. Otherwise the next bet is previousbet * 2.
  5. On a loss, winRun goes back to 0 and the next bet is basebet.

Risk at a glance

Settings: 49.5% chance, 1% house edge, starting balance 0.001 (the template default, BTC in the simulator), base bet 0.0000005 (balance / 2000).

Payout2.00x(100 - 1) / 49.5
Single ruin streakNoneThis script can run out of money without one long losing streak, so no single streak length marks the end. See the table below.

The calculator's model raises the bet after a loss, which Paroli never does. A loss always costs one base bet, so the table shows how little a losing streak takes from the balance. The real cost of Paroli is the house edge on every bet, which the table does not show.

Cost of a straight losing run from a fresh start
Losses in a rowChance of the streakResult from a fresh start
101 in 927 (0.108%)Lost 0.000005 (0.5%), next bet 0.0000005
151 in 28,225 (0.0035%)Lost 0.0000075 (0.8%), next bet 0.0000005
201 in 859,355 (0.00012%)Lost 0.00001 (1.0%), next bet 0.0000005

Theoretical figures for a fresh start, not a simulation. The chance of N losses in a row is qN with q = 1 - chance / 100, the same formula the dice calculator uses. None of this changes the expected result: at a 1% house edge the average loss is 1% of the total wagered, whatever the progression.

Tuning it

Each setting below is read as params.name or default, so the script runs with the default until something passes a value in.

Parameters read by the Paroli 3-step script
ParamDefaultWhat changing it does
params.basebetbalance / 2000First bet of every run, and the amount a losing run costs.
params.steps3Wins in a row before banking. A completed run pays 2^steps - 1 base bets. At 49.5%, 3 wins in a row happen 12.1% of the time and 4 wins 6.00%.
params.vaultwinstrueSet it to false to leave the profit of each completed run in the balance instead of moving it to the vault.

FAQ

Is Paroli safer than martingale?

Its losing streaks are much cheaper: 20 losses in a row cost 20 base bets, where martingale would need over a million. The house edge is the same, though. Each bet still loses about 1% of its size on average, so over many rolls the balance drifts down with occasional jumps up.

Why stop after 3 wins?

3 is the default of params.steps. Three wins in a row at 49.5% happen 12.1% of the time and bank 7 base bets. More steps make the payout bigger (15 base bets at 4 steps) and rarer (6.00%).

What does vault() do in this script?

It moves the profit of each completed run out of the betting balance. Vaulted funds count as profit in DiceSim and can never be bet, so a later losing streak cannot take them back.

Can I run this script in DiceBot or another Lua dice bot?

The script uses the global names from Seuntjie's DiceBot (chance, bethigh, nextbet, previousbet, win, dobet()). The params table only exists in DiceSim, so replace each params.name or value with the value before you paste it into another bot. It also calls vault(), so check that your bot provides it. DiceSim itself never places bets on a casino.

Other scripts

Martingale

Doubles the bet after each loss and goes back to the base bet after a win.

Chance
49.5%
Type
Martingale

Delayed escalation

Bets 3.35% for a 29.55x payout. Flat bets through 50 losses, then 4% more per loss.

Chance
3.35%
Type
Dynamic scaling

Dynamic recovery

Sizes each bet so one win recovers the drawdown plus one base bet, capped at 10% of balance.

Chance
33%
Type
Recovery

D'Alembert

Adds one unit after a loss and removes one after a win, never going below the base bet.

Chance
49.5%
Type
D'Alembert

Labouchere

Bets the first plus the last number of a list. Wins cross numbers off, losses add one.

Chance
49.5%
Type
Labouchere

Fibonacci

Bets follow the Fibonacci sequence: one step up after a loss, two steps back after a win.

Chance
49.5%
Type
Fibonacci

Oscar's Grind

Plays in cycles that aim for +1 unit: same bet after a loss, one unit more after a win.

Chance
49.5%
Type
Oscar's Grind

1-3-2-6

Bets 1, 3, 2 and 6 units on consecutive wins. Any loss, or the 4th win, resets to 1.

Chance
49.5%
Type
Positive progression

Flat betting

Same bet on every roll, with a stop loss and a take profit at 10% of the starting balance.

Chance
49.5%
Type
Flat betting

Martingale + vault

Martingale that moves half of every 1% profit step to the vault with vault().

Chance
49.5%
Type
Martingale