Published file formats
latest.json, the minute bundle and the hourly prints files, version 2, with the operator keys.
Every file is JSON, signed by the operator's Ed25519 key for its network: the signature covers the file's canonical
JSON with sig removed, and is base64url (86 characters). Files live under /data/<network>/ on the site.
Operator keys
| Network | Ed25519 public key (hex) |
|---|---|
| Mainnet | b06ff028eff8c711169c2aa4bd58662eeabeaf01f1bfb4633e582a84b2854b3b |
| Testnet | 009e79e903037a6501f99c5731ac5e7a015c703ff4b67f1094ca9d8f1eabc37b |
These keys are built into the app and never fetched. A file that doesn't verify against them isn't shown.
latest.json
Points at the newest bundle; written last, after the bundle it names.
| Field | Meaning |
|---|---|
v | 2 |
network | testnet or mainnet |
seq | The bundle's sequence number |
bundle | Its file name, bundle-<seq>.json |
bundleHash | SHA-256 of that file's bytes |
publishedAt | When it was published |
sig | The signature |
bundle-<seq>.json
One every minute.
| Field | Meaning |
|---|---|
v, network, seq, publishedAt | As above |
previous | SHA-256 of the previous bundle's file, so the minutes form a chain |
lanes | Every lane: id, asset, length, series offset, and its three exchanges in voting order |
pricing | The entry buffer, the minimum τ, the half-spread, the ask and bid limits, the chip grid, each asset's σ and when it was computed, and the caps |
windows | Each lane's current and next Window, and every Window settled in the last 10 minutes |
prints | The hourly prints files published in the last 24 hours |
house | The liability statement, taken once an hour: chipsOutstandingZat and openMaxPayoutZat, each rounded up to a multiple of quantumZat (the per-side cap), and asOf |
trading | The chip keyset (and older ones that still spend), the gateway's current Oblivious HTTP key (it changes every hour), the deposit address and memo prefix, confirmations, and the withdrawal minimum and window; absent while trading is off |
sig | The signature |
A Window carries its id (<lane>-<start>, such as btc-5m-1792400280), when it starts and ends, each
exchange's opening print, the reference (the Line) and which exchanges it came from, the closing prints, the
outcome (U, D or refund) and when it settled, and its activity: trades and volumeZat over whole groups of
three trades, absent under three.
prints-YYYYMMDDHH.json
One per hour that saw trading, written 12 minutes after the hour ends; the bundle lists the last 24 hours' files.
| Field | Meaning |
|---|---|
hour | The hour it covers |
closes | Each asset's 1-minute closes from each exchange, as [minute start, close] pairs |
windows | Every Window that closed in that hour, with its prints and outcome |
sig | The signature |