{"format":"receipts-proof/1","hash":"543cf17bef7e9b10111f9402377a8425514732af0cb6e92ce2b1b55f845c2a37","provider":"demo-ema-cross","seq":181,"kind":"signal","issued_at":"2026-11-08T02:23:19.932Z","prev":"ff613c8c816f7ed8fd764c9655886886c4c4a91be9914b38d33c982f1287f8a6","body":{"issued_at":"2026-11-08T02:23:19.932Z","kind":"signal","nonce":"842b087b9e6f65e0af618bee9756633b","payload":{"entry":{"type":"market"},"expires_at":"2026-11-09T02:23:19.932Z","market":{"kind":"perp","symbol":"BTCUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"short","stop":"75739.2","targets":["75489.6"]},"prev":"ff613c8c816f7ed8fd764c9655886886c4c4a91be9914b38d33c982f1287f8a6","provider":"demo-ema-cross","seq":181,"v":1},"signer":null,"sig":null,"batch":{"root":"543cf17bef7e9b10111f9402377a8425514732af0cb6e92ce2b1b55f845c2a37","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-11-08T03:13:22.271Z","opentimestamps":"AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIVDzxe+9+mxARH5QCN3qEJVFHMq8Mtuks4rG1X4RcKjf/8AiFCGi3RoZ1zQjwED+jwtALswPSDuRZSWAwTrkI8CAbHMSzJvN4cCakKgTUVDsbdevqZWZZ2DWI+Tvv68SBygjwILgZ2gzW5zmjoUiX8muy/VHkDf+j70NTXl2/2/7tszfFCPEEau/o1PAI1IcWhE7rqa8I8SBsUvXXf4B1pg0TKh0XG1Xf3Y0wHIsQG6bh5Tx/25gfNwjwICfuD2lCK05JKNxDVTpG4q1HweKvlnEvUt6IpNkOc/3/CPAg7z7tHpa2K3zeeNVB8AgIKev7tUp5JeCtyAY2ilqh0lAI8SCt1HYYwQ1MK3dgrRpab6mlN6mQJW84oLrIpmitvkunOgjwIKZo/CqKpP0oxHmMCMCjtMrqVur0slKyrEihueSANXO0CPEgGm98OVC6w1sV7kOE/iVgdtnYefTBZuMSlh4mjCh98C8I8CAIYk+bLYCqNtW912L4iv0YAXe8f64rMV87UKTqlM/aVwjxIAm6FSGzhiW89vt7DT6H2/DPFhzssutP23fm+mjYTBJXCPEgBqW4MKh+ZHY4ZSw4Zd2cCgAHKKmtSujyDbW3Ini29tAI8CCc74XW6cvikQ1GtT9NZ+vvC4F1hjAVGvZdda8XixsdaQjxII5cNkc3dhp1BXZPg3reFrjbVEPbj3AuYzX6SrCxkOuGCPAgFMqgh4gftESkqOIVeoJaOSMLUI55cF8vBsR4LSwNuaUI8CCnyl10LfJ6zLPBwt38m73yQnbjc+I7g1K4QRJW2wGKpAjxIJ9KKExjW0U6GNbIMptrR7S73rCWTM3btQ1QJ71mG9DuCPFZAQAAAAFr0y6Oiz1ga7B9hO9EpMWpy2zTTOCqCg2Hb6KwK7pryQAAAAAA/v///wKY1AAAAAAAABYAFGzkHK9+5gppc0MTa6PeoahiJINFAAAAAAAAAAAiaiDwBKvgDgAICPAgFMZiKF3o8FprMwdgHl+TIBLjMG36hfXdXdSYaTRAQgAICPEgQXhR5ykXrBa2ullx4VhyzWoSS18x8zWBK8QpJTKlVucICPEgP0YqlXDJ+AoOkcbxkyYoyU32sIh3LBkvBzaC9LnbAhUICPAgg6ARuqvSnEYM20a/vW0evlssN7TqEbv5Zx07iHpVlVkICPAg6YFaeL5VRBAcWoma4gRo+AxuowarfLFqEpOVivc4FokICPAgzjc4YKWHgRcagXQpcFOccDiuuCw6lD6t3nn5x+qdweYICPEgBSdyGwxNkKqbxEDKYOfbTP1Jfa7vuJBic+y8k5AyhckICPAgMgbGJgbSc4Kxav1eDYaEJiF73e2nEzbIVnltFWRJ6NMICPEgi2p9Vb0m7k30gakSrDbtpow0XLpbVHwXbCV0ebk/gygICPAgagxk1Y63m2ymveRSXi1gPZV+B6lucRmOJ8EasXoX7F0ICPAgD4175LeHYHmGI/FZDqygNMB1lU4Z5HcSxkWKmJUjrO0ICPEgzQ7nMSkIo+/Oy4BhYfUJjQF4mIJ9KoMt51VNMWxC5K8ICAAFiJYNc9cZAQOswTvwEOnU675gAO128PEt4pehZjMI8SDKe3hTIvLozrp1RFIwquSgnvY0tZ3OM60Es80BBeHBiAjxIAzy9XNfsVRDkGOBgQn8oyE6UfnSWkT3GjgPS8H+2pAoCPEgYgakKqTOdrdAI0S0V4i/SkZqqY2Zdinc7ds6RSZ7I8AI8CCnBdY1I1WFLs+iJhwIWRFdcpALlRvvanPBUD5Y4n3Q3QjxBGrv6NPwCCFl1yB/r9pTAIPf4w0u+QyOKShodHRwczovL2Zpbm5leS5jYWxlbmRhci5ldGVybml0eXdhbGwuY29t","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"]}