{"format":"receipts-proof/1","hash":"24b247528132d0cebf6acb4554292b64704f1bb860b64d697e60a29fd1aa6546","provider":"demo-ema-cross","seq":179,"kind":"signal","issued_at":"2026-11-08T00:07:00.046Z","prev":"e021a5705a4a0aac6063266e4e41073e5b09c0c497462e9150e36bae6352ac6a","body":{"issued_at":"2026-11-08T00:07:00.046Z","kind":"signal","nonce":"60aad6f62f56c54d254f97ab7c2c80bf","payload":{"entry":{"type":"market"},"expires_at":"2026-11-09T00:07:00.046Z","market":{"kind":"perp","symbol":"SOLUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"long","stop":"89.39","targets":["90.52"]},"prev":"e021a5705a4a0aac6063266e4e41073e5b09c0c497462e9150e36bae6352ac6a","provider":"demo-ema-cross","seq":179,"v":1},"signer":null,"sig":null,"batch":{"root":"24b247528132d0cebf6acb4554292b64704f1bb860b64d697e60a29fd1aa6546","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-11-08T00:21:18.431Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":975020},"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"]}