{"format":"receipts-proof/1","hash":"aefaecc513d889fe059b1fadca9fbe514d35e177c0461e22c90b2c357ff2b373","provider":"demo-ema-cross","seq":32,"kind":"signal","issued_at":"2026-09-27T02:15:14.907Z","prev":"c72d9eceac57238aa551c9e1de094b69f54812c1e8c64f5de263bff1bad11840","body":{"issued_at":"2026-09-27T02:15:14.907Z","kind":"signal","nonce":"a94f04035f8bd45d2b763a9ecf6962e5","payload":{"entry":{"type":"market"},"expires_at":"2026-09-28T02:15:14.907Z","market":{"kind":"perp","symbol":"SOLUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"long","stop":"120.86","targets":["122.59"]},"prev":"c72d9eceac57238aa551c9e1de094b69f54812c1e8c64f5de263bff1bad11840","provider":"demo-ema-cross","seq":32,"v":1},"signer":null,"sig":null,"batch":{"root":"aefaecc513d889fe059b1fadca9fbe514d35e177c0461e22c90b2c357ff2b373","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-09-27T02:47:06.664Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":968772},"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"]}