{"format":"receipts-proof/1","hash":"a6a26abba546a671ccafcd8d30a795f3b5778ed33afdddc43ded80031170309e","provider":"demo-donchian-breakout","seq":33,"kind":"signal","issued_at":"2026-10-07T14:00:37.628Z","prev":"e3afb32ef0f583402fc270a142640edb4cef977e559e6b3d8b6ac5532ae03eb3","body":{"issued_at":"2026-10-07T14:00:37.628Z","kind":"signal","nonce":"2add6e1f5599aa2c2f8f1b21de6e24fd","payload":{"entry":{"type":"market"},"expires_at":"2026-10-09T14:00:37.628Z","market":{"kind":"perp","symbol":"BTCUSDT","venue":"binance-usdm"},"note":"Demo bot: 20-bar Donchian breakout, 1h. Mechanical rule, not advice.","side":"short","stop":"84050.5","targets":["81786.9","80428.8"]},"prev":"e3afb32ef0f583402fc270a142640edb4cef977e559e6b3d8b6ac5532ae03eb3","provider":"demo-donchian-breakout","seq":33,"v":1},"signer":null,"sig":null,"batch":{"root":"a6a26abba546a671ccafcd8d30a795f3b5778ed33afdddc43ded80031170309e","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-07T14:06:37.872Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":970352},"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"]}