{"format":"receipts-proof/1","hash":"b883a33361b12d157852d924abbba59ac7ad1e1ad6291502ae7f7ea606dc50d2","provider":"demo-ema-cross","seq":171,"kind":"signal","issued_at":"2026-10-21T20:15:19.077Z","prev":"fc8355fa00b2f6b1c0ab67eb9d3da33cca67ec9d7d861cd57181e0c0a3eb8fa1","body":{"issued_at":"2026-10-21T20:15:19.077Z","kind":"signal","nonce":"2824eb9e67bf15e45a30b9307cc0f68c","payload":{"entry":{"type":"market"},"expires_at":"2026-10-22T20:15:19.077Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"short","stop":"2503.84","targets":["2467.43"]},"prev":"fc8355fa00b2f6b1c0ab67eb9d3da33cca67ec9d7d861cd57181e0c0a3eb8fa1","provider":"demo-ema-cross","seq":171,"v":1},"signer":null,"sig":null,"batch":{"root":"b883a33361b12d157852d924abbba59ac7ad1e1ad6291502ae7f7ea606dc50d2","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-21T20:15:49.185Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":972526},"how_to_verify":["hash = sha256(\"receipts/v1\\n\" + canonical_json(body)), keys sorted, no whitespace.","body.prev must equal the hash of the same provider's event seq - 1 (64 zeros for seq 1).","If signer is set: sig must be a valid Ed25519 signature by signer over the UTF-8 bytes of \"receipts/v1/sig\\n\" + hash.","Fold the Merkle proof: node = sha256(0x01 || left || right); the result must equal batch.root.","Decode opentimestamps (base64) to a .ots file, then run: ots upgrade file.ots && ots verify -d <batch.root> file.ots","Or run: node scripts/verify-bundle.mjs bundle.json"]}