Skip to content

Trading involves risk. Payouts are fixed, but you can lose your whole stake on any contract. Only trade what you can afford to lose. Read the risk disclosure

TradeBit

Provably fair

Every price is locked in before you trade.

We commit to the secret behind every price before trading starts and reveal it afterwards, so anyone can check that nothing was changed.

Fairness in 30 seconds

  1. 01

    Locked in first

    Before trading begins, we publish a fingerprint of the secret seed that will drive prices.

  2. 02

    Revealed after

    When the period ends, the seed itself is published. It must match the fingerprint.

  3. 03

    Checked by you

    Our verifier recomputes any price from the seed in your browser and compares it with ours.

The commitment

The seed stays secret until the epoch closes, then is revealed. Anyone can hash it and confirm it matches the commitment published beforehand.

published_commitment = SHA-256(server_seed), before any tick under it exists

The beacon

Recorded alongside the commitment, from a source neither we nor you controlled at the time. A second anchor that the commitment existed when we say it did.

epoch.beacon_value = an external, independently-timestamped randomness reading

The algorithm, precisely.

What the verifier below recomputes, in your browser, with no request back to us for the answer.

  1. 01 SHA-256(server_seed) must equal the published commitment.
  2. 02 msg = "tick:{instrument_code}:{tick_index}"
  3. 03 digest = HMAC-SHA256(key = server_seed, message = msg), as hex
  4. 04 u = int(first 13 hex characters of digest, base 16) / 2^52
  5. 05 z = clamp(inverse_normal_cdf(u), −8.0, +8.0)
  6. 06 σ_tick = σ_annual / sqrt(seconds_per_year / interval_seconds)
  7. 07 ln S(n+1) = ln S(n) + σ_tick · z(n) − (σ_tick² / 2)
  8. 08 price(n) = round(exp(ln S(n)) / pip_size) × pip_size

Uniformity, checked

An instrument that fails this test does not get Digits contracts. The check runs before launch, not after a complaint.

χ² across 10 digits, 1,000,000 ticks, reject at p < 0.01

Verify a real price, in your own browser.

The verifier recomputes any tick from a revealed seed entirely client-side, then compares it to what we report for the same index.

The match condition

browser_computed_price === server_reported_price

Open the fairness verifier