{"format":"receipts-proof/1","hash":"3bfa1e2a9e109d0a33898abafe2f114bbf30cd06803144a3aa573a837fce002c","provider":"demo-ema-cross","seq":168,"kind":"signal","issued_at":"2026-10-21T02:32:19.127Z","prev":"4b0441e99bfaa3bbb3fafdb8553c8b04cc967758ac97b579dd80251806580ce6","body":{"issued_at":"2026-10-21T02:32:19.127Z","kind":"signal","nonce":"0b738e7b49f2249141c7c12af0251412","payload":{"entry":{"type":"market"},"expires_at":"2026-10-22T02:32:19.127Z","market":{"kind":"perp","symbol":"SOLUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"short","stop":"106.66","targets":["105.11"]},"prev":"4b0441e99bfaa3bbb3fafdb8553c8b04cc967758ac97b579dd80251806580ce6","provider":"demo-ema-cross","seq":168,"v":1},"signer":null,"sig":null,"batch":{"root":"3f32f5da6e70407146105289259d06e28e4e697061262a6fcb447288766ba18f","index":0,"leaf_count":2,"proof":[{"side":"R","hash":"15462ebf7898af0a09286bc97d8a8a3059a34196a662dc387a839a7397bf6ad5"}],"sealed_at":"2026-10-21T03:21:53.530Z","opentimestamps":"AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIPzL12m5wQHFGEFKJJZ0G4o5OaXBhJipvy0RyiHZroY/wECxvFNHVj0pvxRl9BBxcaI8I8SA7B8J4XX8NyKKv29u4RU8b25GhVNxEpcFiujq1Ltd77wjxIOCjlMZpAsulHbqRvBYmIcjNIzWYs7Q/ollpf34e93PWCPEEatgv0vAIJDqw36eKDtAI8SDT3o2KimXdm1zhkVH3CelJTYfOoraHtqwS0gSPD7GmNQjwILgGrUf+65BTiR8TZ6/+jruXHu2IwHe00TpxdQACWCc0CPEgCEv0gumoCY2fqB6w2xzpB34RG3Pk24S8kZXvvKAuES8I8CCEHPKshrJ8CXVCllpagKaKRlc7DS11i+lXqZVj6vhZsQjwIFVuLtlzr1XaYGhU/RulTkRXxnJGPm6kl1LkbrHKfiBfCPAgrG/2RPyG6iXEtc6pnaMbSgVeVBdqnqo1tB09S0v9IaYI8SAe/3Gd2aaY1r8HIV/S4nK4TJMoXFss9emILIO5PuRMSAjwIDFOLzySmciXVMWMfvTlBwz6E5s30Ddegb76L7ThgAZFCPEgSxTDlomOWoPU+srZ0/SaYa0Q9FCurg85Hig/MkXMsosI8SAsEDdlNVZiEYUJ9Mrm1EwqCJbJzarWXIXcfPRh3jN3MwjxINFifSVXjYMs02pi17/b098Zin8PaT6PgC3kGwSzQascCPAgaK20maglKClpxc5LkARNSk5hd73DPwig6VHy2ZrwAcAI8SDXkhYuJrgFf6xvfvLcnhS7/zcQlZ8WYWRW5ZNy2Gtz7AjxIM8qZYsF/ECoAusidw36RF1dDgc05M2nKtojZKjH/t7PCPAgr5uNDoY9CK8TyrrG6XZMgRIUG/0kf1KLnqFBQCLe+n0I8VkBAAAAAWoKnbi4rt/xC4zIyjguThRI8DWgHUhsjdkmOdLo8AQHAAAAAAD+////AiELAgAAAAAAFgAU7tfexLM74kOnjHbpl7DUv9FFDhsAAAAAAAAAACJqIPAEkdYOAAgI8SARkTdMvXP9wMR8AaQklLu7JFSKPPX00OXUL+C2/L3ICQgI8SDZ+9GlDRghqwTasN2Ts6jhwqVa1Q724mX9XhBMNc4kHQgI8SBBw6fhxkCLWbTHadd9xCBM7uu+FONLNGin4wFsvHaapQgI8CBPGCWkgk793qET6Sv1Xe8TSMhPhSvnGTZXG+dXgwjpzwgI8SAR+Y/TzT7jVmwwTJLgNO+Q43OutbfQDxUzMQxEAbpeewgI8CDllipVxAVY83FHHJxV/pEtDiIX4XtXwFYccvnvl7cnHQgI8CAuVIdQgJVH1fkal8sR+gEH6F/wb9jwImqpMmi31tkuxQgI8SAmJYYTKZIrzXwbJ+GweA7QaBY1KKuQGZo4RNATxqib8ggI8CDb8+cnlcG+LeD+jzONIIUWNp3s+YBAPLtGs0zsd29/gwgI8SA+O9hoFKpJ2MEtJ5uCnqFE1fh19HnmicxCBrLY/brQmQgI8SCh6UonnlymMmt1X0uQPwycnJMybAr6TFCubrvQFEbX8ggI8CAiAwsO0XXAAiBIokeUtvGGBnAufy3rz3Bf7N2mHL5DkAgI8CBN78jc5cUOQJ8b5YMTK2uYK6nkcM6REBTJg8vKsT3vHggIAAWIlg1z1xkBA5KtOw==","chain_anchor":null,"bitcoin_block":972434},"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"]}