{"format":"receipts-proof/1","hash":"0bcfd82ec61784e8488ba827e890ded188625b6a1e110bb878b00501c2f78a96","provider":"demo-donchian-breakout","seq":37,"kind":"signal","issued_at":"2026-10-10T15:04:50.943Z","prev":"0abfbdf76ccdf72833b884672335708c1b4141d3133c888c724410de806909ad","body":{"issued_at":"2026-10-10T15:04:50.943Z","kind":"signal","nonce":"c3e5d3b0ffca2c7eb1ecca7c62c130e3","payload":{"entry":{"type":"market"},"expires_at":"2026-10-12T15:04:50.943Z","market":{"kind":"perp","symbol":"BTCUSDT","venue":"binance-usdm"},"note":"Demo bot: 20-bar Donchian breakout, 1h. Mechanical rule, not advice.","side":"long","stop":"82666","targets":["83382.8","83812.8"]},"prev":"0abfbdf76ccdf72833b884672335708c1b4141d3133c888c724410de806909ad","provider":"demo-donchian-breakout","seq":37,"v":1},"signer":null,"sig":null,"batch":{"root":"5f618f1b88d19cdeb0198374edbd847467b2f93f7063b423ad2f3cc4ee1d15b3","index":0,"leaf_count":3,"proof":[{"side":"R","hash":"bbf36acc2252430c85e698c089d0b542c523215df7f7a54647380657d8ab5cef"},{"side":"R","hash":"e03cd6fe565e777eb185b624956117d6af42ab77f783f6a86707a142dc77f131"}],"sealed_at":"2026-10-10T15:05:50.967Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":970786},"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"]}