{"format":"receipts-proof/1","hash":"81edb1d59c14e7be079eabaebb135609f3297e8974f63989b42451022729b3d2","provider":"demo-ema-cross","seq":113,"kind":"signal","issued_at":"2026-10-10T19:03:33.570Z","prev":"44394c027f35e8bf4e21a48eeaa430e5817502922966c471d82640b80810ee93","body":{"issued_at":"2026-10-10T19:03:33.570Z","kind":"signal","nonce":"7a7b69ef385216d904653c0de29dd0f3","payload":{"entry":{"type":"market"},"expires_at":"2026-10-11T19:03:33.570Z","market":{"kind":"perp","symbol":"SOLUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"long","stop":"109.91","targets":["110.89"]},"prev":"44394c027f35e8bf4e21a48eeaa430e5817502922966c471d82640b80810ee93","provider":"demo-ema-cross","seq":113,"v":1},"signer":null,"sig":null,"batch":{"root":"81edb1d59c14e7be079eabaebb135609f3297e8974f63989b42451022729b3d2","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-10T19:17:34.200Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":970814},"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"]}