{"format":"receipts-proof/1","hash":"74f421639393c6a57ab912625cd7c683c2bbd4e366bca353b5eb291ef1809bb2","provider":"demo-ema-cross","seq":103,"kind":"signal","issued_at":"2026-10-09T11:26:17.929Z","prev":"668d7bfd3b7394b8b7729e281a1d209371f03cdb3372cbde08f52c2d3640107c","body":{"issued_at":"2026-10-09T11:26:17.929Z","kind":"signal","nonce":"573c28fdb873ddc8d07e2cb011675250","payload":{"entry":{"type":"market"},"expires_at":"2026-10-10T11:26:17.929Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"short","stop":"2498.1","targets":["2472.66"]},"prev":"668d7bfd3b7394b8b7729e281a1d209371f03cdb3372cbde08f52c2d3640107c","provider":"demo-ema-cross","seq":103,"v":1},"signer":null,"sig":null,"batch":{"root":"300e1e577ea3064b118319ea9989f91f57af3ae8fdcda9787fde50c7baccc015","index":0,"leaf_count":2,"proof":[{"side":"R","hash":"1df1a95ed57bb4b393e6c2dfb19e8096778c818c64408194c3cea1b1649b85f7"}],"sealed_at":"2026-10-09T11:36:33.012Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":970626},"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"]}