Skip to content
TradeBit Markets TradeBit Markets

The seed is committed before it is used.

A commitment published before the fact, a seed revealed after it, and an algorithm precise enough to reimplement.

The commitment

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

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

The beacon

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

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.

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

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

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

Verify a real price, in your own browser.

The match condition

browser_computed_price === server_reported_price

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

Open the fairness verifier