{"format":"receipts-proof/1","hash":"de2e4242f74fc1cc52ef7e9f7b3e26f8d1608771852b7392ca2ce878b0737738","provider":"demo-ema-cross","seq":143,"kind":"signal","issued_at":"2026-10-14T01:15:18.823Z","prev":"b8a1bd94b4c28cb561095deeaf8c8fca8f19f3be4f4a54e8e80f7f9b1dde92ac","body":{"issued_at":"2026-10-14T01:15:18.823Z","kind":"signal","nonce":"04e3c53f819b0fdbeb267fa861d126a4","payload":{"entry":{"type":"market"},"expires_at":"2026-10-15T01:15:18.823Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"short","stop":"2513.72","targets":["2484.65"]},"prev":"b8a1bd94b4c28cb561095deeaf8c8fca8f19f3be4f4a54e8e80f7f9b1dde92ac","provider":"demo-ema-cross","seq":143,"v":1},"signer":null,"sig":null,"batch":{"root":"de2e4242f74fc1cc52ef7e9f7b3e26f8d1608771852b7392ca2ce878b0737738","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-14T01:20:24.537Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":971332},"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"]}