{"format":"receipts-proof/1","hash":"4b2e12e2e47c74b9a2a44fd768f28f346a257fbfa669892f6493b53a7abe7029","provider":"demo-donchian-breakout","seq":31,"kind":"signal","issued_at":"2026-10-07T11:00:34.645Z","prev":"671c9792e8580511f2582ac7e0f3011e31310c9ab812501f54db8f032135db0e","body":{"issued_at":"2026-10-07T11:00:34.645Z","kind":"signal","nonce":"a0e38b58fcea47df86a6ffb41922db05","payload":{"entry":{"type":"market"},"expires_at":"2026-10-09T11:00:34.645Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: 20-bar Donchian breakout, 1h. Mechanical rule, not advice.","side":"short","stop":"2614.95","targets":["2523.08","2467.95"]},"prev":"671c9792e8580511f2582ac7e0f3011e31310c9ab812501f54db8f032135db0e","provider":"demo-donchian-breakout","seq":31,"v":1},"signer":null,"sig":null,"batch":{"root":"3eae4be676a8628d78106cee5e24050ddd41d2fc7a1b4c6f0eeb3ed075437acf","index":1,"leaf_count":2,"proof":[{"side":"L","hash":"d74133f6f990488ad79ea9795431224fe9a59d9e297c5200e2036b162001d3ff"}],"sealed_at":"2026-10-07T11:00:35.244Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":970333},"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"]}