{"format":"receipts-proof/1","hash":"4d5fc57021746d8e98467a1d67e31b1845df6a2177d7d96720e5dd2a0b43adda","provider":"demo-ema-cross","seq":71,"kind":"signal","issued_at":"2026-10-03T01:23:02.384Z","prev":"e2fd634b3b03f687a22d6e27fe546d1f23f5927fee6c32836855933a0c025368","body":{"issued_at":"2026-10-03T01:23:02.384Z","kind":"signal","nonce":"0fc089e3c23cf12d64ea01b7346dda67","payload":{"entry":{"type":"market"},"expires_at":"2026-10-04T01:23:02.384Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"long","stop":"2673.15","targets":["2689.74"]},"prev":"e2fd634b3b03f687a22d6e27fe546d1f23f5927fee6c32836855933a0c025368","provider":"demo-ema-cross","seq":71,"v":1},"signer":null,"sig":null,"batch":{"root":"4d5fc57021746d8e98467a1d67e31b1845df6a2177d7d96720e5dd2a0b43adda","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-03T01:24:02.365Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":969655},"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"]}