{"format":"receipts-proof/1","hash":"3c3b9805c0b354b441094439d79e5732d47644c56c54d6e58aa902825d445414","provider":"demo-ema-cross","seq":196,"kind":"signal","issued_at":"2026-11-09T12:45:53.798Z","prev":"d6724a0b43332e465394e6d2de1f5d865c807fb0fac9bda3254884686fa98024","body":{"issued_at":"2026-11-09T12:45:53.798Z","kind":"signal","nonce":"6d65e1ed32cb358d4247759002bdbb33","payload":{"entry":{"type":"market"},"expires_at":"2026-11-10T12:45:53.798Z","market":{"kind":"perp","symbol":"SOLUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"long","stop":"85.93","targets":["87.96"]},"prev":"d6724a0b43332e465394e6d2de1f5d865c807fb0fac9bda3254884686fa98024","provider":"demo-ema-cross","seq":196,"v":1},"signer":null,"sig":null,"batch":{"root":"3c3b9805c0b354b441094439d79e5732d47644c56c54d6e58aa902825d445414","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-11-09T12:46:49.416Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":975184},"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"]}