{"format":"receipts-proof/1","hash":"cb432d5aef7dd82706f4c92d5c9bf982f44c21ceb121901fea4e1852bf59c390","provider":"demo-donchian-breakout","seq":11,"kind":"signal","issued_at":"2026-09-30T07:00:22.030Z","prev":"80ede296ebc9cbbc72264f63c9cad1cecd4258108bd1ce633e2d27118a6e7204","body":{"issued_at":"2026-09-30T07:00:22.030Z","kind":"signal","nonce":"85927688056f7715825ce9105a1d8267","payload":{"entry":{"type":"market"},"expires_at":"2026-10-02T07:00:22.030Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: 20-bar Donchian breakout, 1h. Mechanical rule, not advice.","side":"short","stop":"2686.32","targets":["2622.44","2584.12"]},"prev":"80ede296ebc9cbbc72264f63c9cad1cecd4258108bd1ce633e2d27118a6e7204","provider":"demo-donchian-breakout","seq":11,"v":1},"signer":null,"sig":null,"batch":{"root":"5bff7e48196617cef9a6961991a6710d318a5ef684bde342db331313f597711a","index":0,"leaf_count":2,"proof":[{"side":"R","hash":"2f1a869a8dbea5d026c8c228294cc20edb236aef6b19b63f60674f4b45f1fd03"}],"sealed_at":"2026-09-30T07:01:22.026Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":969277},"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"]}