{"format":"receipts-proof/1","hash":"c72d9eceac57238aa551c9e1de094b69f54812c1e8c64f5de263bff1bad11840","provider":"demo-ema-cross","seq":31,"kind":"signal","issued_at":"2026-09-26T22:44:28.567Z","prev":"9b267ab3dff5ce1859e2c9e89fa741079e1bb9ceec9c0060ade9ce1d2d985bc5","body":{"issued_at":"2026-09-26T22:44:28.567Z","kind":"signal","nonce":"2dd6ae527bd076f149115d4f9e8c4b17","payload":{"entry":{"type":"market"},"expires_at":"2026-09-27T22:44:28.567Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"long","stop":"2679.71","targets":["2706.52"]},"prev":"9b267ab3dff5ce1859e2c9e89fa741079e1bb9ceec9c0060ade9ce1d2d985bc5","provider":"demo-ema-cross","seq":31,"v":1},"signer":null,"sig":null,"batch":{"root":"c72d9eceac57238aa551c9e1de094b69f54812c1e8c64f5de263bff1bad11840","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-09-26T22:56:49.166Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":968752},"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"]}