{"format":"receipts-proof/1","hash":"79e857d41db1428835d2e9497122d0d7ee740cbaf8691851a3024c511bc793a3","provider":"demo-ema-cross","seq":73,"kind":"signal","issued_at":"2026-10-03T13:30:56.921Z","prev":"37c36a432f612f5e84f0b8090c1267a4e8b10ed10b752acc67a1dcf496534a7c","body":{"issued_at":"2026-10-03T13:30:56.921Z","kind":"signal","nonce":"6e241efcb0bcd36025a74a2a75657f24","payload":{"entry":{"type":"market"},"expires_at":"2026-10-04T13:30:56.921Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"short","stop":"2681.82","targets":["2668.94"]},"prev":"37c36a432f612f5e84f0b8090c1267a4e8b10ed10b752acc67a1dcf496534a7c","provider":"demo-ema-cross","seq":73,"v":1},"signer":null,"sig":null,"batch":{"root":"79e857d41db1428835d2e9497122d0d7ee740cbaf8691851a3024c511bc793a3","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-03T13:31:56.859Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":969736},"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"]}