Multipliers and the model
Where the numbers on a box come from, what is assumed, and what you should expect over many taps. How the prices did against real recorded Strike prices is on Fairness and calibration.
The short version
- Two estimates of p, the chance the price touches your box during its window: a model (a random walk) and an empirical one (how often recent recorded Strike prices actually touched a box like yours). The quote uses the higher of the two. model
- The house keeps a 10 % edge. The multiplier is
0.90 ÷ p, rounded down to 0.01×. - The box shows the multiplier rounded down to 0.1×. Its implied probability,
90 % ÷ multiplierrounded to 1 %, shows when you hover, press or focus the box, in the legend's rule (applied to the exact multiplier), and on every box with Board settings → Show chance on every box. The exact multiplier (0.01×) shows in that preview, on the accepted box and on the receipt. - The chance is worked out from the exact multiplier, not the rounded number on the box. A box showing
2.1×can be anything from 2.10× to 2.19×, so applying the rule to the rounded number gives a chance slightly higher than the real one: up to 6 points on boxes showing1.1×, about 2 points around2×, and under 1 point from3×up. The preview, the footer and the receipt show the exact multiplier and its chance. - A box is offered only when
pis between 10 % and 80 %, which keeps the multiplier between 1.10× and 9.00×. - Because the quote is never below the model, and the model itself aims at 90 %, you get back at most 90 % of what you stake, on average, under the model. Measured on real recorded prices, the return was lower still: see Fairness and calibration.
- Every receipt records the version of the pricing rules it was priced under:
touch-robust-v3.
Multipliers are rewards for a game played with credits that have no cash value. They are not prices of anything and they are not "fair odds".
Step 1: the random-walk model model
The model treats the price as a random walk with no trend: from any moment, it is equally likely to go up or down, and the typical size of a move grows with the square root of time. Technically: a driftless arithmetic Brownian motion, with volatility sigma in USD per √second.
Given the current mark price S0 when the box is quoted:
- Where will the price be when the window opens? After
t1seconds (from the quote to the window start), the model says the price is normally distributed aroundS0, with a spread ofsigma × √t1. - If it is already inside the box then, that's a touch.
- If it is outside, at distance
Dfrom the nearest edge of the box, the chance it reaches that edge during the window ofτ = 10seconds is2 × (1 − Φ(D ÷ (sigma × √τ))).Φis the standard normal distribution function. The factor 2 comes from the reflection principle for random walks. - p is the average of steps 2 and 3 over every possible price at the window start.
In one block:
p = P( X(t1) inside [low, high] )
+ E[ 2 × (1 − Φ( D ÷ (sigma × √τ) )) over the cases where X(t1) is outside ]
X(t1) ~ Normal(mean S0, standard deviation sigma × √t1)
t1 = window start − quote time (seconds)
τ = window end − window start (10 seconds)
D = distance from X(t1) to the nearest edge of the bandThe server computes this with deterministic numerical integration, the same way every time.
Settlement looks once a second, so the model does too
Settlement sees the mark price about once a second and joins the ticks with straight lines. A continuously moving price can dip into a box between two ticks and come back out without any recorded line touching it, so a continuous random walk touches more often than a path watched once a second.
The model corrects for this. Every distance from the price to the box is lengthened by 0.5826 × sigma × √(1 second), the standard continuity correction for a barrier that is only observed at fixed intervals (PRICING_MONITOR_DT_S = 1).
A simulation of the idealised model (packages/core/scripts/model-bias.ts) shows why it matters. Without the correction, its sample boxes would have returned only 72–80 % of stakes instead of about 90 %. With it, 284 offered boxes across the three markets returned between about 0.88 and 0.93 per credit, depending on the box and on where the ticks fall within each second, with a median of about 0.90. That is about a 10 % house edge on average, and 7–12 % box by box, for the idealised model. model
Volatility
sigma is estimated from the recorded one-second mark-price changes of that market:
- a blend of a fast and a slow moving average:
sigma² = 0.5 × fast + 0.5 × slow, with half-lives of 120 seconds and 1,800 seconds; - never below a floor per market: BTC-USD 1.0, ETH-USD 0.05, SOL-USD 0.004 USD per √second;
- no boxes are offered on a market until 60 ticks have been recorded for it.
Step 2: what actually happened lately calibration
Strike's mark price does not wiggle smoothly. Most seconds it doesn't move at all, then it jumps. Measured on recorded testnet prices, the one-second changes are far more extreme than a bell curve allows (a kurtosis of 10 to 120). A random walk gets this wrong in both directions:
- Far boxes are touched more often than the random walk says, because a single jump can carry the price across several rows at once.
- Near boxes are touched less often than the random walk says, because the price spends many seconds sitting still.
So strikeabox also asks the data. The empirical estimate takes the last 30 minutes of recorded Strike mark prices and replays every path in that history, starting from every recorded tick, as if it began at the current price, at the moment of the latest tick. Each replayed path is run through the exact settlement rule from Outcomes and settlement (straight lines, closed box, gaps respected). The share of paths that touched a box like yours is the empirical frequency.
A short history can be lucky or unlucky, so the frequency is shrunk toward the model: the model's probability counts as 20 extra pseudo-observations.
p_empirical = (touches + 20 × p_model) ÷ (usable paths + 20)Step 3: take the higher one
p = max( p_model , p_empirical ) rounded to 4 decimal placesThe quote is never below the model. Where recent data says a box is more likely than the model thinks (typically far boxes after a burst of jumps), the probability goes up and the multiplier comes down. Where recent data says a box is less likely (typically near boxes), the model's number stays, so near boxes are priced conservatively: over many taps you get back less than 90 % of what you stake on them, on average.
This protects the 10 % edge from a model that is known to under-price far boxes. It does not make the multipliers fair: it makes the near ones tighter than the nominal edge says. The recorded-price results are on Fairness and calibration.
What the empirical estimate cannot know: it learns from the last 30 minutes only. If the market changes character, for example a calm half hour followed by a violent move, the estimate lags behind it.
The same method is used again when your tap arrives, so the quote you tap and the re-price that checks it agree. See Why "Price moved" happens.
From probability to multiplier
multiplier = (1 − 0.10) ÷ p, rounded down to 0.01×
implied probability = 0.90 ÷ multiplier, rounded to 1 %| p | 0.90 ÷ p | Multiplier | Implied probability shown |
|---|---|---|---|
| 0.40 | 2.25 | 2.25× | 40 % |
| 0.37 | 2.4324… | 2.43× | 37 % |
| 0.10 | 9.00 | 9.00× | 10 % |
| 0.80 | 1.125 | 1.12× | 80 % |
Rounding down means the multiplier is never above 0.90 ÷ p, so the exact implied probability is never below p. The chance shown with a box (in the hover or press preview, the boxes list, the line under the board once accepted, the receipt, or on every box with Show chance on every box) is that value rounded to the nearest 1 %.
Offer limits
A box is offered only if both hold:
pis between 10 % and 80 %;- the multiplier is between 1.10× and 9.00×.
Otherwise it shows "not offered" with the reason: too likely (above 80 %) or too unlikely (below 10 %). Because p can't be above 80 %, the smallest multiplier you will actually see is 1.12×.
Payout rounding
Payout is stake × multiplier, rounded down to the hundredth of a credit, and includes your stake. 10 credits at 1.45× pays back 14.50, a net +4.50.
House edge and return to player
The house edge is 10 %. It is built into every multiplier.
Under the model, the average credits back per credit staked are p × multiplier, which is at most 0.90. So the model's return to player is at most 90 %, and rounding down makes it slightly less. Because the quoted p is never below the model's, taking the higher of the two estimates cannot raise that ceiling.
What that means over many taps, as an expectation under the model, not a promise: stake 10 credits 100 times on boxes with p = 0.40 at 2.25×. On average 40 touch, paying 22.50 each: 900 back from 1,000 staked, a net −100. Real results vary.
What was measured on recorded Strike prices is a different thing from this expectation, and lower: see Fairness and calibration for the numbers and their limits.
What is an assumption model
These are modelling choices, not facts about markets:
- No trend in the random-walk model. Real prices trend, jump and reverse.
- Steady volatility over the next minute, estimated from the recent past.
- Normal moves in dollars in the random-walk model. Real changes are jumpy and scale with the price level. The empirical estimate exists because of this.
- The recent past is a fair guide. The empirical estimate assumes the next minute looks like the last 30 minutes.
- The mark price behaves like a traded price. The Strike mark price is computed by Strike from its own inputs; its second-by-second behaviour follows Strike's method, not the model.
The rules for deciding a result are not assumptions: they are on the outcomes page and they are exact.
Why "Price moved" happens
A quote is valid for 3 seconds. When your tap arrives, the server prices the box again with the latest price, using the same method (model, empirical estimate, higher of the two). If the multiplier now is more than 3 % below the one you saw, or the box has become too likely to be offered, the tap is rejected as Price moved and you get the fresh multiplier when there is one. If it's within 3 %, or higher, or the box has only become too unlikely to offer, you get the multiplier you saw. Never a different one. guarantee
Versions
Every box stores the version of the pricing rules it was priced under (touch-robust-v3) and its absolute band and window. A later change to the rules never applies to a box that is already accepted. guarantee