{"format":"receipts-proof/1","hash":"b0f3c9f224a656cb80d3875c47e0b8a9957df02302e88e3510f62496b9bd3b77","provider":"demo-donchian-breakout","seq":26,"kind":"signal","issued_at":"2026-10-05T02:26:17.144Z","prev":"0812787589f04ec49a833198b3a57e755f83f97a52bdc3fd7e248222038f53a4","body":{"issued_at":"2026-10-05T02:26:17.144Z","kind":"signal","nonce":"901baa982c9c4455b7777c131e969693","payload":{"entry":{"type":"market"},"expires_at":"2026-10-07T02:26:17.144Z","market":{"kind":"perp","symbol":"BNBUSDT","venue":"binance-usdm"},"note":"Demo bot: 20-bar Donchian breakout, 1h. Mechanical rule, not advice.","side":"long","stop":"794.14","targets":["809.52","818.74"]},"prev":"0812787589f04ec49a833198b3a57e755f83f97a52bdc3fd7e248222038f53a4","provider":"demo-donchian-breakout","seq":26,"v":1},"signer":null,"sig":null,"batch":{"root":"b0f3c9f224a656cb80d3875c47e0b8a9957df02302e88e3510f62496b9bd3b77","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-05T02:37:15.157Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":969944},"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"]}