{"format":"receipts-proof/1","hash":"ee100e67ccec2a8fd63597698ebb82cad9bccfaeec921dc059b16c1ad3be6d0f","provider":"demo-macd-momentum","seq":71,"kind":"signal","issued_at":"2026-10-12T04:30:15.369Z","prev":"dbc233d54147a9048d856fe9cee950ffd49be09dbaef20de54e3fb76e340baa8","body":{"issued_at":"2026-10-12T04:30:15.369Z","kind":"signal","nonce":"d6f94a2d571523c0db94662b5eadccce","payload":{"entry":{"type":"market"},"expires_at":"2026-10-12T16:30:15.369Z","market":{"kind":"perp","symbol":"BTCUSDT","venue":"binance-usdm"},"note":"Demo bot: MACD cross with EMA(100) trend filter, 5m. Mechanical rule, not advice.","side":"long","stop":"83574.3","targets":["83745.9","83874.5"]},"prev":"dbc233d54147a9048d856fe9cee950ffd49be09dbaef20de54e3fb76e340baa8","provider":"demo-macd-momentum","seq":71,"v":1},"signer":null,"sig":null,"batch":{"root":"ee100e67ccec2a8fd63597698ebb82cad9bccfaeec921dc059b16c1ad3be6d0f","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-12T05:03:06.510Z","opentimestamps":"AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEI7hAOZ8zsKo/WNZdpjruCytm8z67skh3AWbFsGtO+bQ//8Ah/mzfvpfx5igjwEFkZ9+X8iqbeuQUpKPqnf1MI8CA0ofVSpsL3nfsMIpZ+x7nme1rbX47jHbqlUjk2tD7AfQjxBGrMagvwCMNlwzsHX7z9CPEgm9u4nSkXveyN/FCFyihCVbc+09H3q/gJ3yrncuErDgAI8SCcTIiScsbt0AkK2bIBR+KDX3e3nIGywzlr8Zw0S/SCqQjxICZ4fDrfghr415baq4dxwamFlyi7EndA0ePC9rWAeaVPCPEgG9Jl7bbakaaLtxXnfVoxS5pKkXMyBDnPni/uJTVdwH8I8SA3hS3B7wInXMBFdApbizt/wxBC7su3hB7TCct0kzsBJAjxIC87tJXj7W9TDAadLT59QWrby0qyZnZAT0NgiqZWmtw6CPEgoSe8SrOdMhaEf3y2/dszITtNyd6A0vjn/D5L+/qlASII8CBEtFdWhht3F9U1F11ViBIUN55GzYLlRibOKwbHDqHumgjxICDeuHrBWw3p3yBXn7RUydkCHfIU1Pi8Yr1S7ufwuQQ4CPFZAQAAAAGxHZf8w0lBHxc3Myzd3qK2VigUpHp1J3OVe927y1vVdwAAAAAA/v///wK4RwAAAAAAABYAFOZFx3FnL9GHX5IVsZIyKJuYRuY1AAAAAAAAAAAiaiDwBCfRDgAICPEgAYoc7n0B5sh5oKUoY/EJTYEZgEOqv+F/U9c7m4xLAYAICPAgkW8HuhYAXzLU4gbxM9Pg9lv7Xk76l1PaQuPv8pcIlbgICPEgH/+lkuZI6w0TdgaQ9oFWBu8gWFMjfGBZmH9httj9KeYICPAgpR2BYXV3o7el4Xc+GhxwR8JzSGBwwy0/Lm6nj106FjYICPAgoddAUVDoH48aFZ+eVo0urru3uon/F9ETpS1bwwmi4uYICPEg93jtTiIq0a9MWXZbm9HkvInSZ3vJCMtjyP2ZDPECtrQICPAgocVZquvvzHXMEPOgccpnJ3tju7ZgD5fPnhrGbIkEIe0ICPEgZ6vSjLxS1lZsfv7u4XpYVfIRkVKs1nkMQg+d+T8IqqEICPAghtaxucPHSrD6rok6h2fqeNL+gwsSN7SxnMtJbQzTLFYICPEg0loQNtdpUWOMtWnk71Y1G81s4VzPcSh28Ut9YRmsu+UICPEgEQoxGpg/xY0LG7qakeHJU77Jj7wl16T7K5bRaZR5QYIICPAgk+gvMfpf4+80SEHVy15fypld/+90CYNdNAwGE8YGoV0ICPAgUrI/e2hwZsJYrYrhWmtyDPo2ZVkyMg0nSYFl9E9pRf8ICAAFiJYNc9cZAQOoojv/8AhICerl3GC9/gjxICRdiZSRgArNQPna+v3ABKM2neToiNcxLs4MQtX45GUYCPAQ5QUWlceclBMxvmCVRUwwoAjxIO3GPtuTK++c6AuMr9TKzhCruVaP001MZUHiY6Fg5qgJCPAgrI53PWvBiHW0t1z7YRr0oAlHhSr0LxzR5RIcahnqZWII8QRqzGoL8AjT6iuoyM0b2ACD3+MNLvkMjiwraHR0cHM6Ly9ib2IuYnRjLmNhbGVuZGFyLm9wZW50aW1lc3RhbXBzLm9yZ/AQuNi9eba9wIR0VjJ7hmvB6QjxIELBvSh9ZwHmzEkkeHbLnkPl+TFzLd170hiOnWV6fFw/CPEggDCx5KAGsKNdUnSsB/QwbDEJ2TKaKmPiPH67je7YZTEI8CADaj8m6jrCSLuav1wccUG7HKC5+iO2YYILbJx7MU+thwjxBGrMagvwCFjktQEGBdhUAIPf4w0u+QyOKShodHRwczovL2Zpbm5leS5jYWxlbmRhci5ldGVybml0eXdhbGwuY29t","chain_anchor":null,"bitcoin_block":971048},"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"]}