{"format":"receipts-proof/1","hash":"49c91918245e512f9a5213c348645a61e4bb10e6be36304620ea1a461f2fd196","provider":"demo-donchian-breakout","seq":60,"kind":"signal","issued_at":"2026-11-07T16:00:07.790Z","prev":"036291bd634af9c6202b7a717218eb6d07da48084b149a5ec6af2c600aee66b5","body":{"issued_at":"2026-11-07T16:00:07.790Z","kind":"signal","nonce":"f0342f65d436b639479e30dbc652cf4c","payload":{"entry":{"type":"market"},"expires_at":"2026-11-09T16:00:07.790Z","market":{"kind":"perp","symbol":"SOLUSDT","venue":"binance-usdm"},"note":"Demo bot: 20-bar Donchian breakout, 1h. Mechanical rule, not advice.","side":"short","stop":"90.28","targets":["88.36","87.21"]},"prev":"036291bd634af9c6202b7a717218eb6d07da48084b149a5ec6af2c600aee66b5","provider":"demo-donchian-breakout","seq":60,"v":1},"signer":null,"sig":null,"batch":{"root":"240b512d84986e7764f8ee8049879dfd802e9bfaa40ab7cc1a0b1adb91a48319","index":3,"leaf_count":4,"proof":[{"side":"L","hash":"f1d5555f00c6db4df10f10cd50278d8dfe5b5f71816bfc263146869e8ef4179e"},{"side":"L","hash":"345c9c39dd257600938db9cab832454c3dd5dea8618b8f2c725d6867f68d827e"}],"sealed_at":"2026-11-07T16:01:07.725Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":974951},"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"]}