{"format":"receipts-proof/1","hash":"617b7a667a44fc34c5d7a3c91bc1de6e07ed9f6b407bbae941bc88e4f2252ee9","provider":"demo-ema-cross","seq":119,"kind":"signal","issued_at":"2026-10-11T12:06:23.398Z","prev":"2798577ffd271ed73dce7c5f04ff8e8561d8f14181cef4fee6eec8b30d323b6d","body":{"issued_at":"2026-10-11T12:06:23.398Z","kind":"signal","nonce":"38fe8c91ba605470266930bfa76e0666","payload":{"entry":{"type":"market"},"expires_at":"2026-10-12T12:06:23.398Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"long","stop":"2500.53","targets":["2514.21"]},"prev":"2798577ffd271ed73dce7c5f04ff8e8561d8f14181cef4fee6eec8b30d323b6d","provider":"demo-ema-cross","seq":119,"v":1},"signer":null,"sig":null,"batch":{"root":"617b7a667a44fc34c5d7a3c91bc1de6e07ed9f6b407bbae941bc88e4f2252ee9","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-11T12:23:27.856Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":970932},"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"]}