{"format":"receipts-proof/1","hash":"84f5e43343f0a5ea869719bddbc3d639699e4d1120e474b4d20ba2c3ebd9c495","provider":"demo-donchian-breakout","seq":50,"kind":"signal","issued_at":"2026-10-15T03:00:20.642Z","prev":"66c060636ae911708c28ac7e57b97d4d183671036516ba39f352bcf9d86869f4","body":{"issued_at":"2026-10-15T03:00:20.642Z","kind":"signal","nonce":"a4b04e71cfaa8b588b8ec8000a9e0322","payload":{"entry":{"type":"market"},"expires_at":"2026-10-17T03:00:20.642Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: 20-bar Donchian breakout, 1h. Mechanical rule, not advice.","side":"short","stop":"2436.52","targets":["2293.44","2207.6"]},"prev":"66c060636ae911708c28ac7e57b97d4d183671036516ba39f352bcf9d86869f4","provider":"demo-donchian-breakout","seq":50,"v":1},"signer":null,"sig":null,"batch":{"root":"84f5e43343f0a5ea869719bddbc3d639699e4d1120e474b4d20ba2c3ebd9c495","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-15T03:00:43.560Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":971500},"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"]}