{"format":"receipts-proof/1","hash":"08d7afaf8d2ee3f6b25ad8b31fbbb09487d9a6d39194c324205620b625079f3c","provider":"demo-donchian-breakout","seq":18,"kind":"signal","issued_at":"2026-10-02T05:26:50.646Z","prev":"88e544d5c4bd1c3c52c6ca9eb76ade6f77c3e470d3a1101b99d5fd4b94908a92","body":{"issued_at":"2026-10-02T05:26:50.646Z","kind":"signal","nonce":"1060de4d1763b05590159e1e308502d1","payload":{"entry":{"type":"market"},"expires_at":"2026-10-04T05:26:50.646Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: 20-bar Donchian breakout, 1h. Mechanical rule, not advice.","side":"long","stop":"2706.29","targets":["2795.12","2848.41"]},"prev":"88e544d5c4bd1c3c52c6ca9eb76ade6f77c3e470d3a1101b99d5fd4b94908a92","provider":"demo-donchian-breakout","seq":18,"v":1},"signer":null,"sig":null,"batch":{"root":"08d7afaf8d2ee3f6b25ad8b31fbbb09487d9a6d39194c324205620b625079f3c","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-02T05:27:50.639Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":969543},"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"]}