{"format":"receipts-proof/1","hash":"5d874e6412e757f5a54cbc03e58fcf287930a63da9244929b9c3757cbc874399","provider":"demo-ema-cross","seq":101,"kind":"signal","issued_at":"2026-10-06T16:00:24.772Z","prev":"81d73a9ef452126f673e3eb0378af78c4600c1c150a9b8e0c76b703964e1c4a6","body":{"issued_at":"2026-10-06T16:00:24.772Z","kind":"signal","nonce":"430a9ff93aaba8239a4ade9bd1f33859","payload":{"entry":{"type":"market"},"expires_at":"2026-10-07T16:00:24.772Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"short","stop":"2714.04","targets":["2673.06"]},"prev":"81d73a9ef452126f673e3eb0378af78c4600c1c150a9b8e0c76b703964e1c4a6","provider":"demo-ema-cross","seq":101,"v":1},"signer":null,"sig":null,"batch":{"root":"5d874e6412e757f5a54cbc03e58fcf287930a63da9244929b9c3757cbc874399","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-06T16:00:25.353Z","opentimestamps":"AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIXYdOZBLnV/WlTLwD5Y/PKHkwpj2pJEkpucN1fLyHQ5n/8AhJ0JsjOLlfGgjwEHeSFKtHx4H1fFhDlOjKb1kI8SDPP8YWh92G4ao88U7/B/AqoEWsRo6nXori0/nERSp9cgjxII+EwpNRjMe8+04HRNXAni7YE+0XWf8k+dlXbb+cqgWRCPAg5XADI/TgiPwP1f6WddHcOj8zTgddLghDG04EnPJajqMI8QRqxRsa8AiMQZuooJ6IUQjxIKj2FiRVKFtca2dYmoQpLsnmBInlKK4I9elluGD+jz9PCPEgvBcsgTxnytNAL7YWD4mQoLqAQSNb9pZ3SGCsrMsIVhYI8CALNzT+qoF0s1tIegxgKgsm1M37X/njTOBLdnqFFRyYTgjxIKb/3O3evauQ4kRDVCPoCgIWZLTxraoHPY5YxDVP1W7qCPAg4AYWeItqsDL7Hoyood8rt9eJRiIHpzYLemJ0aFV1kkUI8CANJ8wVFlDFeNLxNIqoRFW046me41zfaR1Utub1IuVKfwjwIF0Ghq0zKhZ9kPFhDG7Et7nMNip/eNRYBh8j0d5HIa6JCPEgmP3jBHHq+ppyJhpp7c+rD0zOnO9F+y2Fp/7ZTgHX24gI8CC/8nexzK2Zc+ugaLfJjH0iwDBjToWF7/X/wsVBCNTAaQjxWQEAAAABcNkRz3k8miW75A/fKnVR3v+acTLdpSV2l9iCvJ8z7NUAAAAAAP7///8C0d0AAAAAAAAWABTgIuadmN4WfKU0fMs/+4GiYTd//QAAAAAAAAAAImog8ATVzQ4ACAjxIFZCowyES37Y2KNBy6Ca6ptFbrHAgKZORoN38Zq39cxXCAjxIOawIfXp0q7wDO48xt7mJWxgh/MzBT6AKPVmUZHjG3C+CAjxIEH2b1077P2QVfUceawu8lcu3tiYyEFYy97b9sA5Zk1vCAjxIMUS4Fg8Iqd91iGBDnCf8MXkzvLwMR0bCwbCnUzEjHAnCAjxIFvOSxaQlm5arVyGjJOgydIBv7UjECAprlGV8VPdt1CBCAjwIHAsOB9lVfwymGmJu6GrgV7lg58vTQZu9+tBSV+29yWRCAjxIA3N3RXqIipQ5P0nkob/2jvthLeJyi8itumR2BZSVLZdCAjwIEk5UwCDO0MqoG7M00FoeWo5KEkswHuwxgE0CXwARiQmCAjwID/QLDmVidLu3q5m8t2mqB6rwtceANNPt0hR9MAQfR9wCAjxIPHWuznUsfJ+mNnopPoUIkkuGxn6gsvtmE1EE6Er/jfoCAjwIF9Syv1dY/r6rZZNRAUsDZID9TVRdAwFkkpo64UivpV1CAjxIGQ6A7hfEpDrgxCEEyLc/d5DT8YSINL8ohFndX5HRyPRCAjwIEhEUFjCRuISd/yF25TlmKGGcJqKkpf7hr6yMlQW/QWKCAgABYiWDXPXGQED2Js7//AIY35j1s/ggFkI8CAywq1ndzaFAN/sIT0Ips3QHmMLVym0hvAiHKO3TNgXYwjwEH6uVrZcU2FMsamPEkAKG8oI8CD49jaP5htzCPmmjCqTQhj8V9YXCxcFFJ+ZgNLqmyid0gjxIELFHU3ex/loAbEYAIj/wDUEoF8xuL/b8JJy8OM1wgD+CPEEasUbGvAIrbogfvkb4MAI8SA9p/cgrlIDzZzgH2XiVQnsikP+uL+HmTbq4XoDnyJzDAjxIG+H2Os5Wmb0UyUmKXAfiuQs7sAgiFbXYwNlT2lEwP07CPAgAb4SgHNHPh17xYX+UIM7GmgbT70r7ATXmn5JDcwVIwEI8SBlOk84XAGK2xcjOH3m35SD5JDYuel8w9pbEMl63niaZgjwIJNtlIUCBjxHT1qDvi7QsyUzgU7v8M48V64bR/r6W+pYCPAgaH14RpqtI/Xt3y6dcCB08koK5VsGopj+3btKpKUbO2II8CCtyRMdCwCD+a8fzNI6a+6wz0fFBlM0TOflzhH4EzdCegjxIAGMuBMVQRaLYj71bbSKZCKuP/pJ2UAdzIbGgiSo4znNCPAgeqOVCIoRfjGQ8KZs1GWHLmOO8JOS2hyOdNx3JoPVebQI8SCLj7zJ5qglghCoq8ilo9ryIPL7q1CHWfC2yx8RNFiFFwjxWQEAAAABzde9PY8xMe3y5Nc7/Mllmpv1FB3g9sbiQFhAziMhxJgAAAAAAP7///8C2twAAAAAAAAWABToWGxonuJ2QMt4+SHMN2N5GXEl3QAAAAAAAAAAImog8ATVzQ4ACAjwIGYRz8gmRyuhuMJNIaC3+wY8Sp3JpUXoVsbOVHUV28nWCAjxIDJclNn24vj4J8XtEGB2Wxli5AQp5tiWH24y4VCuBUuBCAjxIPCmcXSS9+oyKRR6ufBbhV5ngfba/PIi9cRRUPHGpDieCAjwID7qy/W6r/fi1HuLQUhJuF7dPnrlh1kEVQmJWlZY4lIfCAjxIBFIrMy/L+iRv/oU8FSAWn9pggGYIcQpPKWr4R7l4eDQCAjwIM9e4w/WfLMlir2jAGjSLMm4REjgowZ+QOt5EP/Y1t6mCAjwIDmsIivmxCOSNcuoxUPo9k5+IcOu/iqQQcrVf7dwgIw9CAjwIDiY4MJ7ZOzH6fXvUlKA4QcVs3fj2jEAAXmkdbi7iwSbCAjwIPhZ/7S+jxmiZC+roE+pI3DbPProEMuLFF4ut6AiA3PgCAjxIFUCGeG9skRRhqMdRnP0x2w6T/ZRIkK3qOwWWzSR7difCAjwIHGFB+OYR0JrN9nhip+tx+7oclYpwJK2b7HUT5JOTgH+CAjxINhJaAV3eARkfDdhby5XjOedIcK0Mx0Alaerlg1SNnxyCAjwIGkvExsE+T+A9s8t3S0qCyZypJr2TS4TSUXUo88eUl3oCAgABYiWDXPXGQED1ps78BBvWcbq8g6nBqzc+81zsSw3CPAgvOB0eBILTJ56EDPQ5/dAdYdpdH3TpDdbAPAP5taCcqQI8CDIKMtY+cDPnFuGjNDSGUPvNP3z7VvEw7nZymunBHojEQjxIHQxRNbH2Pq1oAkhgp6QgPkGDXp4KFfpXBRgULBoJ6xHCPAgg2AG+X47EN3HWGmw6HyMFEbo0/Cg+PPb3Ip/Jtgw/GgI8QRqxRsa8Ah2kiSFeF4mPwCD3+MNLvkMjikoaHR0cHM6Ly9maW5uZXkuY2FsZW5kYXIuZXRlcm5pdHl3YWxsLmNvbQ==","chain_anchor":null,"bitcoin_block":970198},"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"]}