{"format":"receipts-proof/1","hash":"44394c027f35e8bf4e21a48eeaa430e5817502922966c471d82640b80810ee93","provider":"demo-ema-cross","seq":112,"kind":"signal","issued_at":"2026-10-10T18:13:45.619Z","prev":"ec3d9bc7cb17d2442cfd04ab9b4c1178e91ccf6c232a6cb244ed6cd1b3a9ae05","body":{"issued_at":"2026-10-10T18:13:45.619Z","kind":"signal","nonce":"9c71ecffbe1fd330d909cd7071c248cd","payload":{"entry":{"type":"market"},"expires_at":"2026-10-11T18:13:45.619Z","market":{"kind":"perp","symbol":"SOLUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"short","stop":"110.29","targets":["109.19"]},"prev":"ec3d9bc7cb17d2442cfd04ab9b4c1178e91ccf6c232a6cb244ed6cd1b3a9ae05","provider":"demo-ema-cross","seq":112,"v":1},"signer":null,"sig":null,"batch":{"root":"44394c027f35e8bf4e21a48eeaa430e5817502922966c471d82640b80810ee93","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-10T18:28:53.494Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":970807},"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"]}