{"format":"receipts-proof/1","hash":"0abfbdf76ccdf72833b884672335708c1b4141d3133c888c724410de806909ad","provider":"demo-donchian-breakout","seq":36,"kind":"signal","issued_at":"2026-10-10T05:22:10.725Z","prev":"8d3744f82f1865ed2e353ffe493a94747cae878e43394d44a7726246b37d30b7","body":{"issued_at":"2026-10-10T05:22:10.725Z","kind":"signal","nonce":"ea75bb0d7ff52baf4acd233d023cd62e","payload":{"entry":{"type":"market"},"expires_at":"2026-10-12T05:22:10.725Z","market":{"kind":"perp","symbol":"BNBUSDT","venue":"binance-usdm"},"note":"Demo bot: 20-bar Donchian breakout, 1h. Mechanical rule, not advice.","side":"long","stop":"741.93","targets":["755.48","763.62"]},"prev":"8d3744f82f1865ed2e353ffe493a94747cae878e43394d44a7726246b37d30b7","provider":"demo-donchian-breakout","seq":36,"v":1},"signer":null,"sig":null,"batch":{"root":"0abfbdf76ccdf72833b884672335708c1b4141d3133c888c724410de806909ad","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-10T05:49:08.711Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":970733},"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"]}