{"format":"receipts-proof/1","hash":"036291bd634af9c6202b7a717218eb6d07da48084b149a5ec6af2c600aee66b5","provider":"demo-donchian-breakout","seq":59,"kind":"signal","issued_at":"2026-10-21T16:00:55.571Z","prev":"152607e527726b483a27cf2177d3f513a9dfa42145b5ff4dd700afe8afaf9d7d","body":{"issued_at":"2026-10-21T16:00:55.571Z","kind":"signal","nonce":"4d1122da9b9d3473bbcd4fb59480b032","payload":{"entry":{"type":"market"},"expires_at":"2026-10-23T16:00:55.571Z","market":{"kind":"perp","symbol":"SOLUSDT","venue":"binance-usdm"},"note":"Demo bot: 20-bar Donchian breakout, 1h. Mechanical rule, not advice.","side":"long","stop":"106.8","targets":["110.9","113.36"]},"prev":"152607e527726b483a27cf2177d3f513a9dfa42145b5ff4dd700afe8afaf9d7d","provider":"demo-donchian-breakout","seq":59,"v":1},"signer":null,"sig":null,"batch":{"root":"fbc9acce5f1e2005649ebc9aa64c3d2e874e25211d7a0560b68d48009d76af21","index":1,"leaf_count":2,"proof":[{"side":"L","hash":"152607e527726b483a27cf2177d3f513a9dfa42145b5ff4dd700afe8afaf9d7d"}],"sealed_at":"2026-10-21T16:00:58.138Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":972503},"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"]}