{"format":"receipts-proof/1","hash":"0114729bc1a3664611bd2728617a41106d806ca0267a3d6ad6dbfb85ab562981","provider":"demo-ema-cross","seq":62,"kind":"signal","issued_at":"2026-10-01T13:30:21.061Z","prev":"53e0771e22ccfad60ebc99dfe0750d54b6863ce41d805ce35ea1c654a7d6917c","body":{"issued_at":"2026-10-01T13:30:21.061Z","kind":"signal","nonce":"40fbaaf2d437a2833a307199a8f02259","payload":{"entry":{"type":"market"},"expires_at":"2026-10-02T13:30:21.061Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"short","stop":"2696.45","targets":["2657.56"]},"prev":"53e0771e22ccfad60ebc99dfe0750d54b6863ce41d805ce35ea1c654a7d6917c","provider":"demo-ema-cross","seq":62,"v":1},"signer":null,"sig":null,"batch":{"root":"0114729bc1a3664611bd2728617a41106d806ca0267a3d6ad6dbfb85ab562981","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-01T13:31:19.715Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":969451},"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"]}