{"format":"receipts-proof/1","hash":"3c3d9fe4f8c339ee8ade8bade77a40e2977cc132aa52d9d9246022cc355daa2e","provider":"demo-donchian-breakout","seq":57,"kind":"signal","issued_at":"2026-10-21T14:00:55.078Z","prev":"d615d72a8ac2855856311bbbdc4c8fd6375f4fe4d603b4b9f9941bc87c64d1d0","body":{"issued_at":"2026-10-21T14:00:55.078Z","kind":"signal","nonce":"6872c95881eaa6ad548e496db1cf2373","payload":{"entry":{"type":"market"},"expires_at":"2026-10-23T14:00:55.078Z","market":{"kind":"perp","symbol":"BTCUSDT","venue":"binance-usdm"},"note":"Demo bot: 20-bar Donchian breakout, 1h. Mechanical rule, not advice.","side":"long","stop":"83075.5","targets":["84863.5","85936.2"]},"prev":"d615d72a8ac2855856311bbbdc4c8fd6375f4fe4d603b4b9f9941bc87c64d1d0","provider":"demo-donchian-breakout","seq":57,"v":1},"signer":null,"sig":null,"batch":{"root":"3c3d9fe4f8c339ee8ade8bade77a40e2977cc132aa52d9d9246022cc355daa2e","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-21T14:01:57.739Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":972492},"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"]}