{"format":"receipts-proof/1","hash":"2cec2d6571200808bf2b17fb212e1871887b33598ab9f00cca8f6e113af3bcae","provider":"demo-ema-cross","seq":18,"kind":"signal","issued_at":"2026-09-25T14:17:37.545Z","prev":"aca0e38fcffb0191dd3c01280c4aec17bd62af8454548d55e9a2fac036c4b462","body":{"issued_at":"2026-09-25T14:17:37.545Z","kind":"signal","nonce":"48f02748c9b6d3b32403da0a5daab04f","payload":{"entry":{"type":"market"},"expires_at":"2026-09-26T14:17:37.545Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"short","stop":"2711.26","targets":["2631.03"]},"prev":"aca0e38fcffb0191dd3c01280c4aec17bd62af8454548d55e9a2fac036c4b462","provider":"demo-ema-cross","seq":18,"v":1},"signer":null,"sig":null,"batch":{"root":"2cec2d6571200808bf2b17fb212e1871887b33598ab9f00cca8f6e113af3bcae","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-09-25T14:19:54.469Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":968558},"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"]}