{"format":"receipts-proof/1","hash":"f4f1c369f1929cdd1b6a329ffaedda21a401114dcafde9fe59f8a234e45ab450","provider":"demo-ema-cross","seq":8,"kind":"signal","issued_at":"2026-09-24T02:16:11.805Z","prev":"a753272134cb79d6349a80dd2ecf182116efb7791ac92c72dd8aa6317e192404","body":{"issued_at":"2026-09-24T02:16:11.805Z","kind":"signal","nonce":"9e2bbb34d2e7f7387e53e105e875236b","payload":{"entry":{"type":"market"},"expires_at":"2026-09-25T02:16:11.805Z","market":{"kind":"perp","symbol":"SOLUSDT","venue":"binance-usdm"},"note":"Demo strategy: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"short","stop":"115.03","targets":["112.99"]},"prev":"a753272134cb79d6349a80dd2ecf182116efb7791ac92c72dd8aa6317e192404","provider":"demo-ema-cross","seq":8,"v":1},"signer":null,"sig":null,"batch":{"root":"81439842caa66cd1917f964b0be39738763bb222ee60094bc22e5c5766901091","index":1,"leaf_count":2,"proof":[{"side":"L","hash":"a753272134cb79d6349a80dd2ecf182116efb7791ac92c72dd8aa6317e192404"}],"sealed_at":"2026-09-24T02:17:02.045Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":968341},"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"]}