{"format":"receipts-proof/1","hash":"43bfefe8d1f9854498194f9b00353f2018cf05af038613178d6e64e486a13586","provider":"demo-ema-cross","seq":65,"kind":"signal","issued_at":"2026-10-01T21:45:32.314Z","prev":"2fe7668f1c7c153f4c89d224f10320067c4a9330814b5ea8b907d943516e55d0","body":{"issued_at":"2026-10-01T21:45:32.314Z","kind":"signal","nonce":"69b7abc2d90b602378faca7890c99180","payload":{"entry":{"type":"market"},"expires_at":"2026-10-02T21:45:32.314Z","market":{"kind":"perp","symbol":"SOLUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"short","stop":"118.08","targets":["116.01"]},"prev":"2fe7668f1c7c153f4c89d224f10320067c4a9330814b5ea8b907d943516e55d0","provider":"demo-ema-cross","seq":65,"v":1},"signer":null,"sig":null,"batch":{"root":"43bfefe8d1f9854498194f9b00353f2018cf05af038613178d6e64e486a13586","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-01T21:46:30.469Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":969500},"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"]}