{"format":"receipts-proof/1","hash":"f3c7c86f8baf3be7cef77d62cf5f172fc3379dbba817f48692486f2e0724bf4a","provider":"demo-ema-cross","seq":131,"kind":"signal","issued_at":"2026-10-13T10:45:51.511Z","prev":"4f643c41e20ded57c3721ed3706222b9436c225c467bb8c883dcdf748d09a184","body":{"issued_at":"2026-10-13T10:45:51.511Z","kind":"signal","nonce":"44464dad00a642ac5248010d6b64695e","payload":{"entry":{"type":"market"},"expires_at":"2026-10-14T10:45:51.511Z","market":{"kind":"perp","symbol":"BTCUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"short","stop":"83584.9","targets":["82579.4"]},"prev":"4f643c41e20ded57c3721ed3706222b9436c225c467bb8c883dcdf748d09a184","provider":"demo-ema-cross","seq":131,"v":1},"signer":null,"sig":null,"batch":{"root":"f3c7c86f8baf3be7cef77d62cf5f172fc3379dbba817f48692486f2e0724bf4a","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-13T10:45:56.145Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":971233},"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"]}