{"format":"receipts-proof/1","hash":"8d3744f82f1865ed2e353ffe493a94747cae878e43394d44a7726246b37d30b7","provider":"demo-donchian-breakout","seq":35,"kind":"signal","issued_at":"2026-10-09T20:23:42.332Z","prev":"384cddabbfd31244abfec937d22138c8c431607fce40020a328393f69bf1ff8d","body":{"issued_at":"2026-10-09T20:23:42.332Z","kind":"signal","nonce":"5ff76574d9cc0f766de258746c6c62cc","payload":{"entry":{"type":"market"},"expires_at":"2026-10-11T20:23:42.332Z","market":{"kind":"perp","symbol":"SOLUSDT","venue":"binance-usdm"},"note":"Demo bot: 20-bar Donchian breakout, 1h. Mechanical rule, not advice.","side":"short","stop":"110.54","targets":["105.32","102.18"]},"prev":"384cddabbfd31244abfec937d22138c8c431607fce40020a328393f69bf1ff8d","provider":"demo-donchian-breakout","seq":35,"v":1},"signer":null,"sig":null,"batch":{"root":"8d3744f82f1865ed2e353ffe493a94747cae878e43394d44a7726246b37d30b7","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-09T20:40:07.286Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":970680},"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"]}