{"format":"receipts-proof/1","hash":"384cddabbfd31244abfec937d22138c8c431607fce40020a328393f69bf1ff8d","provider":"demo-donchian-breakout","seq":34,"kind":"signal","issued_at":"2026-10-09T12:00:50.805Z","prev":"a6a26abba546a671ccafcd8d30a795f3b5778ed33afdddc43ded80031170309e","body":{"issued_at":"2026-10-09T12:00:50.805Z","kind":"signal","nonce":"4e95c5b5047f2830272cb3e3c0fa04fa","payload":{"entry":{"type":"market"},"expires_at":"2026-10-11T12:00:50.805Z","market":{"kind":"perp","symbol":"BTCUSDT","venue":"binance-usdm"},"note":"Demo bot: 20-bar Donchian breakout, 1h. Mechanical rule, not advice.","side":"long","stop":"82483.3","targets":["84275.2","85350.4"]},"prev":"a6a26abba546a671ccafcd8d30a795f3b5778ed33afdddc43ded80031170309e","provider":"demo-donchian-breakout","seq":34,"v":1},"signer":null,"sig":null,"batch":{"root":"1fa8fc7c97094f10e35d5dbd6da84b2a3875cfcb70727029183b88681b2ab7af","index":2,"leaf_count":3,"proof":[{"side":"L","hash":"767f9536ac1b0c1ef21cc1c03d9c80704251e81072a4dce537a0adf7367b2831"}],"sealed_at":"2026-10-09T12:01:50.832Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":970626},"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"]}