{"format":"receipts-proof/1","hash":"38a701707d882f8a5cd0cb3a8f6ace2445a0fab2de7ce706407825bed482564c","provider":"demo-ema-cross","seq":21,"kind":"signal","issued_at":"2026-09-26T01:47:42.224Z","prev":"e3227fefbeadd2589244046eca433adb3c1e6810606cd58be20d51d172310ad0","body":{"issued_at":"2026-09-26T01:47:42.224Z","kind":"signal","nonce":"44fc4d2b2147f7197e52ddbfa8527ce1","payload":{"entry":{"type":"market"},"expires_at":"2026-09-27T01:47:42.224Z","market":{"kind":"perp","symbol":"BTCUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"long","stop":"83858.4","targets":["84309.1"]},"prev":"e3227fefbeadd2589244046eca433adb3c1e6810606cd58be20d51d172310ad0","provider":"demo-ema-cross","seq":21,"v":1},"signer":null,"sig":null,"batch":{"root":"38a701707d882f8a5cd0cb3a8f6ace2445a0fab2de7ce706407825bed482564c","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-09-26T01:59:45.319Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":968622},"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"]}