{"format":"receipts-proof/1","hash":"eacec1b65735a336bcb340157b0265ff2cf3ad43b32853bdedec3b8193149d1e","provider":"demo-ema-cross","seq":78,"kind":"signal","issued_at":"2026-10-04T02:24:45.760Z","prev":"7c927995aba5c5f082e7cd5c7ba72b34e17da313e183d9d1910f87a7f6927b07","body":{"issued_at":"2026-10-04T02:24:45.760Z","kind":"signal","nonce":"1dbd2cbe60c2374912ef3a439910afcc","payload":{"entry":{"type":"market"},"expires_at":"2026-10-05T02:24:45.760Z","market":{"kind":"perp","symbol":"BTCUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"long","stop":"84693.2","targets":["84967.5"]},"prev":"7c927995aba5c5f082e7cd5c7ba72b34e17da313e183d9d1910f87a7f6927b07","provider":"demo-ema-cross","seq":78,"v":1},"signer":null,"sig":null,"batch":{"root":"eacec1b65735a336bcb340157b0265ff2cf3ad43b32853bdedec3b8193149d1e","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-04T02:41:54.806Z","opentimestamps":"AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEI6s7Btlc1oza8s0AVewJl/yzzrUOzKFO97ew7gZMUnR7/8AhD92JCBxQ8kAjwEI/cKieRt5xsPlIRxdVs/BAI8SATBtNn9DVoyFgcGlaQOviIOCNcVBfzjLlPwHwANZA3NgjxINBfeSiiD1Rvc9lPVnhMd1xH5SdIWg4GBVdt73IZrnzuCPAgXn4GnQurZYBbVzjZHKk0aNlaV6LRZ5hgLG/aZLlag+8I8QRqwbzz8Ajk5TxpxL9yowjxIAQ+zyf2qQy2MyQQaV6hxmrpsaE6qRlw6h4CS8lenDfTCPEgRYKfw/f51WZT9ohSrjJpQZCU5WGn+b6Wr0Y1U3tptH0I8SDpgBpWnEyI3cueVZW95VNiTmKGKoQDdxUL6e2A+fn6MQjwIN52TR4MboU7R34BbOYMFLw70wSA7JqWneiTqgIVlS4RCPEgGrS/U9XPtJrI2vQQq8vAqBxiiowpsxI/QwVUCHm9pkII8SC8DnWXkg69EOmEgqMHxWWUPSGmtvFbLZCvd6zyCva9KAjwIIMv7wsOTAHf8asss0YFNtmS6mX0htePzoNBEfUbjhsNCPEgtXOGR0FE8rHk/sJkznnLvMIToKXVepDSAQrLtRd7Dn8I8CAeblOAQjqhZwjTUGBo1HdwqsS1dbzo35SOq6tZPuIcWgjwIEFHn4qfT40sASiLkODxi7breAN7nmMddeIla930TgK1CPFZAQAAAAGtDlj1foehWR/Hdo2Ck+mCvnDvXJuV2etDmQMa5mkyCwAAAAAA/v///wJAAgAAAAAAABYAFBekdQXF0psB3EszY+yS0jsT2QQhAAAAAAAAAAAiaiDwBD7MDgAICPAgDdo38zreW5uPaco1Ds06Nqsm5BchNiuU/KH0v/A1v8EICPAge5LwZ6z5noGC+AlMxycLKqnNLSaKHzZR8cqit0h09kIICPAgR58Q4gc0OQIlbjQWvSqKgRyk9ZM7TDhoKP6p0sOIzbUICPEgphbw3ncUyxmp1b8ZF49LDSyyLQ3uLbv1IIcnbyaiuYwICPAgwkMWER5sCsCyVZrwjHhkdVuxlO0hzBB0FKRzNW86hykICPAgqGgO36C0HOeqMU4HEjPwARE1dWv7sUuTbm7PZqa0YvEICPAgYDWZ3rxaE6E5Gfbhob5mhhf/rX+SBkFSBf19XZ57FRQICPEg/gsMc+O++QMbhZMTLQcbH9OtELSzhfiZyZHo+62Fb1sICPAg3YECZQqYlvZer5eCHyVW4lp/RzpCdqaypgm02pT7xAAICPEgFZewV+VNxthpn7gq6chywXEKwGQeGb+Nbgrm3yH0XDEICPEg+qXHmjSadtf8RMu07VPfff8ETnDPss3z/KZaQd7sVrIICPEgzXB+cg9wnzEjN4TMRMz2Cx2SVgU5Q3ztJ6cq9jgaKRQICAAFiJYNc9cZAQO/mDv/8AhCp7ff56AJnAjwEG/skpii8s94xBQL4D9cRdMI8SBVjoz4tM2Rl3hZZYel1k5WGA/3dG1ZKYlPDSYC7Q1n9AjxIEOqldmJoRInnkZw6pCeCRbvDgbNsnmsukTdo3X4cdEvCPEEasG88/AIkPNAm+AoFy8Ag9/jDS75DI4sK2h0dHBzOi8vYm9iLmJ0Yy5jYWxlbmRhci5vcGVudGltZXN0YW1wcy5vcmfwEI3IGpmQVfGLja/t3QVdv94I8SBi7XszLMTiSIsz+AMCyW2AJW7VZr30PKWe1+g1FGQ9wQjwID/eKtEJWZipT9Mhc8mtzZhheNkSdWI5OFCbcFMkVARsCPEgOSR0Wys8Q+fX+/Jw9Nx8fnxJfxJayHkY1nmhtdkqi48I8QRqwbzz8AizG+6HwcBE6wCD3+MNLvkMjikoaHR0cHM6Ly9maW5uZXkuY2FsZW5kYXIuZXRlcm5pdHl3YWxsLmNvbQ==","chain_anchor":null,"bitcoin_block":969791},"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"]}