Tipster or syndicate? Prove your edge without showing a pick, and earn from the profit it makes.Earn from your edge. →
Verify

Check a receipt in your browser.

Paste a receipt from the referee, or use the sample. Your browser recomputes the receipt id, checks the Ed25519 signature against the referee's key, checks the time-lock round and the Merkle path to the hourly anchor. Nothing you paste is sent anywhere.

Where receipts come from. A source gets one in the answer to every submission, and any receipt can be fetched again from GET /netz/quittung/<rid>, together with its anchor path once the hourly anchor is written. Paste either form here.
A receipt object, or the whole answer of /netz/quittung/<rid> with receipt and anchor.
Key to check against
Optional: check the fingerprint of what was sent
Runs locally with Web Crypto.

Result

not checked yet
  • Load the sample or paste a receipt, then press Verify.
What your browser checks
  • Receipt id: SHA-256 over the canonical receipt without rid, keyId and sig.
  • Key id: the first 16 hex characters of SHA-256 of the raw public key.
  • Signature: Ed25519 over the canonical receipt without sig.
  • Time-lock round: the round and its opening time agree with the public drand schedule, and the seal was not open when it arrived.
  • Anchor path: the receipt is a leaf of the hourly Merkle tree whose root went to Bitcoin.
  • Fingerprint, if you paste what was sent.
What needs the command line

Opening a seal needs the drand beacon of its round, and checking an anchor against Bitcoin needs a block header. Both come from public networks, not from us; the open verifier fetches them. It also checks market proofs, closing lines and results for a whole bundle, and that published totals belong to exactly those bets.

# Node 18 or newer · the only dependency is tlock-js (drand)
npm install
node manometer-verify.js all nordic-models.bundle.json

# or one part at a time
node manometer-verify.js receipts nordic-models.bundle.json   # signatures, fingerprints, hourly anchors, Bitcoin header
node manometer-verify.js seals    nordic-models.bundle.json   # every seal opens at its drand round, to the published proposal
node manometer-verify.js prices   nordic-models.bundle.json   # market at receipt, closing line, CLV recomputed
node manometer-verify.js results  nordic-models.bundle.json   # results from the final score, paper P&L recomputed

# exit code 0 = everything checked out · 1 = at least one mismatch · 2 = unreadable input