{"format":"receipts-proof/1","hash":"874066ba557be59ee22e89da3c2fe7af32e6521cef124a913164ecc6222c1941","provider":"demo-ema-cross","seq":124,"kind":"signal","issued_at":"2026-10-11T21:48:49.388Z","prev":"75d06cb539f2340c8776a198c841a7cf687ab585080d61326624cfcaf2e6af79","body":{"issued_at":"2026-10-11T21:48:49.388Z","kind":"signal","nonce":"796dd764e0d0d94b12f31f64708b0c45","payload":{"entry":{"type":"market"},"expires_at":"2026-10-12T21:48:49.388Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"short","stop":"2535.93","targets":["2509.29"]},"prev":"75d06cb539f2340c8776a198c841a7cf687ab585080d61326624cfcaf2e6af79","provider":"demo-ema-cross","seq":124,"v":1},"signer":null,"sig":null,"batch":{"root":"874066ba557be59ee22e89da3c2fe7af32e6521cef124a913164ecc6222c1941","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-11T22:06:16.422Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":970989},"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"]}