{"format":"receipts-proof/1","hash":"79798270a6dd6814987d20731d7a4d2eb84881e962dc25dc6d0b6c6a51804080","provider":"demo-ema-cross","seq":186,"kind":"signal","issued_at":"2026-11-08T10:41:49.826Z","prev":"d6ab8fdb6a0b60f477e43351e5a1a17d98c9ee49264359f6b4adc829a99224df","body":{"issued_at":"2026-11-08T10:41:49.826Z","kind":"signal","nonce":"2003b76af554350fd812281fd60f7ef4","payload":{"entry":{"type":"market"},"expires_at":"2026-11-09T10:41:49.826Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"short","stop":"2237.14","targets":["2226.67"]},"prev":"d6ab8fdb6a0b60f477e43351e5a1a17d98c9ee49264359f6b4adc829a99224df","provider":"demo-ema-cross","seq":186,"v":1},"signer":null,"sig":null,"batch":{"root":"79798270a6dd6814987d20731d7a4d2eb84881e962dc25dc6d0b6c6a51804080","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-11-08T10:58:14.937Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":975056},"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"]}