How a call settles

If it isn’t on the call, it doesn’t happen.

StakeOption is a Higher/Lower book with a fixed clock, on prices we generate ourselves. We don’t imply a win rate, we don’t call it investing, and we don’t settle on a price you can’t see.

Read this part first

Nothing here is a real market and nothing here is real money. The eight instruments are synthetic and named as such: a Volatility 75 Index is a number we generate with 75% annualised volatility, and it is not standing in for the euro, for gold, or for anything that trades anywhere. There is no deposit, no withdrawal, and no balance you could ever cash out. It is a place to learn to read a clock.

You should also know that we decide the result. On any tick where calls expire we look at which side is carrying more stake, and 50% of the time we set the price so that side loses, easing it that way over the seconds beforehand rather than in one jump. Nothing here is money, so nothing here is a loss — but the tape is not a fair coin, and you should not practise against it as though it were. See the feed below for exactly how.

Nothing on the platform is for sale. There is no subscription, no upgrade and no paid tier, so there is nothing here to buy and nothing that would pay you if you did.

A printed StakeOption demo call: Higher, Volatility 100 Index, one minute, $100, 87%, hashed

1. Higher, lower, or unchanged

At fill we lock the current tick as entry. You pick Higher or Lower and a clock. At expiry we take the last tick at or before that time — not a later print, not a dealer window.

  • Expiry above entry and you said Higher — or below and you said Lower — you win.
  • The other way — the stake stays with the book.
  • Expiry equals entry — full refund. We don’t harvest ties.

2. We round once, in cents

Balances are integer cents. Profit if you’re right is round(stake × rate), so the numbers on the call before you click are the numbers credited after it. No rounding “in our favor” after the close.

ClockProfit rateCoin-flip edge
30s85%7.5%
1m87%6.5%
5m90%5.0%
15m92%4.0%

The edge assumes a 50/50 close, which our walk is close to but not exactly. Publishing it still matters: it is the number that says a long enough run trends down.

3. The hash is the receipt

After settle we hash a canonical string: call id, account, asset, side, stake, rate, both prices, result, payout, timestamps. Copy the SHA-256 from History. If a settle lands late, the receipt says so and still uses the last tick at expiry.

4. The feed, and how to catch us

A book that generates its own prices can generate the one that suits it. We can, and around the tick a call expires we do — so this section says exactly when and by how much, rather than implying otherwise.

Time is cut into ten-minute epochs. Before an epoch’s first tick we generate a secret 32-byte seed and publish its SHA-256. Every tick outside the run-up to an expiry is a fixed function of that seed — no dice are rolled as we go:

z0, z1  = BoxMuller(HMAC-SHA256(seed, "<instrument>:<tick>"))
v[i]    = 0.7 · v[i-1] + σ · 0.296985 · z0
p[i]    = p[i-1] · exp( v[i] + σ · 0.141421 · z1 )

The exception is your call’s expiry and the 6 seconds leading into it. We add up the stake on each side, roll against a percentage we set, and — usually — bring the price just past your entry on the losing side. Right now the heavily-staked side wins 50% of the time, so the lighter side wins 50%. With nothing expiring on an instrument, or with the two sides exactly level, we leave it alone entirely.

That move is spread rather than sudden: on each of the last 30 ticks we close one part in however many remain of the distance still to travel, and the process supplies the rest of the movement as usual. The tick that settles lands on the level exactly. We do it this way because making the whole correction in a single tick was worth about a dozen ordinary ticks of movement, and the chart visibly teleported. Spread out it does not — which is honest about the price and quieter about the interference, so it is written down here and marked on every tick of the run-up on your verification page.

When the epoch is over — and only then — we publish the seed itself. Anyone can then recompute all 3,000 of its ticks, and every tick we set by hand is recorded alongside the seed, so a recomputation tells you which ones those were. What that gets you is a complete account of what happened — not a promise that we stayed out of it. We cannot quietly change a tick after the fact, and we cannot pick a seed to suit a call. When the control above is on we have no need to: we set the expiry price outright, and the record names every tick where we did.

The seed for the epoch now running is not published, and that is not evasion: it is the whole tick sequence for the next ten minutes. Whoever held it would win every call.

InstrumentAnnualisedσ per tick
Volatility 10 Index10%7.9636e-6
Volatility 25 Index25%1.9909e-5
Volatility 50 Index50%3.9818e-5
Volatility 75 Index75%5.9727e-5
Volatility 100 Index100%7.9636e-5
Volatility 150 Index150%1.1945e-4
Volatility 200 Index200%1.5927e-4
Volatility 250 Index250%1.9909e-4

σ is derived from the annual figure, not set beside it: σ = annual ÷ √(ticks per year), at one tick every 200ms. So the number in an instrument’s name is its actual volatility rather than a label.

Commitments, revealed seeds and these parameters are all at /api/feed. To have us do the arithmetic on one of your own calls, use Check a call. If a recomputed price ever disagrees with a recorded one, that is a bug or worse, and we want to hear about it.

5. One balance, and a reset

Every account starts at $10,000 in demo money. There is one balance, because there is no funding rail and a second one called “live” would imply there was. If it falls below $500 it is put back to $10,000. Settled calls stay on the record either way, which is what History is worked out from.

Take $10,000 in demo money →