{"format":"receipts-proof/1","hash":"de7aeabc4c8c3634c211bb3596abe976654c248f805228c78e50e19f60bd3cce","provider":"demo-macd-momentum","seq":38,"kind":"signal","issued_at":"2026-10-03T01:30:02.380Z","prev":"b4121ad3ec2f51910442f02dc4e4a211f3a970f5d1cd7f048e0dd113de65a285","body":{"issued_at":"2026-10-03T01:30:02.380Z","kind":"signal","nonce":"e4200638817ae3cc1c0696c699ae68f0","payload":{"entry":{"type":"market"},"expires_at":"2026-10-03T13:30:02.380Z","market":{"kind":"perp","symbol":"BTCUSDT","venue":"binance-usdm"},"note":"Demo bot: MACD cross with EMA(100) trend filter, 5m. Mechanical rule, not advice.","side":"short","stop":"84640.3","targets":["84510.9","84413.8"]},"prev":"b4121ad3ec2f51910442f02dc4e4a211f3a970f5d1cd7f048e0dd113de65a285","provider":"demo-macd-momentum","seq":38,"v":1},"signer":null,"sig":null,"batch":{"root":"b00832525edec2f621f44c132a05585ffa806d63222de6f53fe813eb0678234e","index":1,"leaf_count":2,"proof":[{"side":"L","hash":"37c36a432f612f5e84f0b8090c1267a4e8b10ed10b752acc67a1dcf496534a7c"}],"sealed_at":"2026-10-03T01:34:02.380Z","opentimestamps":"AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIsAgyUl7ewvYh9EwTKgVYX/qAbWMiLeb1P+gT6wZ4I07/8AiywrJDfmW7iQjwICv3j0oq6Y0wW2Ydv2jAbzz+vdofJgD+c1MbGo6jH3YWCPAQqsnrofdPcynFgTL64n8eTwjwIBr5DFsf8ivVKHzKgEndl6CsFyn3WFUN0QFObX2d+hgZCPEgb/k+84VaGRhWQb0N4BuDY7PaLnMXGP2Xy/j29VSLgHAI8CAT5qZmsrNBYfpb3uJdukUtrkds4glwPaJuxVBAA8I4HQjxBGrAW4vwCGCF7xW0iLp0CPEgzfCbFkqw++XXJ4M27UH8Dnmqyv3hgHP09amD8qYYvZQI8CAC65kR0ipFrnde26nJmxzK88Z4bkA6L+eSHhOskZO41gjwIJINVjbaTgSfmx7VV7g4J/HdUIaQMYWnZGTyZyJEBlGdCPEgBp94LdSTQkNyd82C5AlQVGgOPShYIyL1esInzWkXgE4I8SA9GsJ0Yi/h8w36Yje73qYab5oFdeJd/cJAtCHmkN4ipQjwIA/ciCNo3lQ4NkAVhYOLhFmVIQKQtLAYzOFNDi80mvjCCPEgxgcE61rCqSUBhdgnwKca3KsnXvE1yT5BRqkbJBeX9scI8CASm+Z1qlVFM/wnYPKuPUMgWcpayt6TRXrWvvMejKT4MgjxIHjPcybrd1Z5LcR+4DcHOd8IjitjMRWq0kA9Oi23/kOZCPAgBtj2qX2NEUM84Wo3u4yr93BYSfAm55eI0WFAtdAelLMI8CAUhKnA9aAm9svFwDic5XZzBGoNXgt5CrEPieGsfyIsuAjxIB81i5vG/pneeJEZX0E0EWE78b0E9GzbdBy08CP32Op5CPFZAQAAAAHxA2kLnb5gnjRKv9whp3wsjjulW5YXoSL1j2skWtRXHgAAAAAA/v///wJxJAAAAAAAABYAFLK0X5RUjn908xMsdGild2YFGL5RAAAAAAAAAAAiaiDwBLXLDgAICPAgB935kHVUNS8rnn0H5IMmBqeK8Bmk58PPckTrSxcc0ogICPAgV5xraNH2prVMo1bxHdlw1w8hYxrbQKPD2Na5juWrE8sICPEgBAkpWW5xLxRRk0twxZZV5yAS4wLsln21ATcIJZFUCIkICPAgLa8X7piRR58EUSbPVR13BTTqPJTmiPq7ZmwoNTg2qXUICPAgJ0xXMbZ+8exEXWxOlVyj+qc9pe12j8+xIvAO4xbzIGsICPEgH5FbieGdxK3U8CKIkhVBSU0jsDGsTp01kvv1WT5LeH8ICPEg5hZo0eB6lWoouhkf3v1RkORjGWNCeB9khysN+7cy2Z8ICPEg/DFI2+VnywhL75tvHEm9UJgj/D3ghyJ/t8GW5kQFpVUICPAgUj9G9RDVxaJp1pLq1BbOh2x21eeRf2V0keAMKdtR8XgICPAgJ3Zwb7C4B/hEymsaG7Ldn7okzOgdNmjDcNEt9+G3iHUICPEgjBscsi/Hfhnbq94PdX4NXPTsO/XtTDRY98Ogy2jEmPIICPAgWwOvSNLeUHvx/lo0DKB3ng/qrLT5saIDO8CM9gJZjzYICAAFiJYNc9cZAQO3lzv/8Aiy5tSL5sArnQjxIDyZKNPSN+J+TKs5+g2jXRPYtTJd5xjik0NE8XuRE1weCPAQizdJyxnjaAfzaNtHKQ+19gjwIFjuvNbrQSesuYodD/zkZSOhmAqL9tJ8RsPVvtvA7KrsCPAgMKFgxuTrxy9QapuqQhR5cYqE86xLgwdwmD/FtGUnVgEI8QRqwFuL8AiRYlLrfdD/lAjwIMqbsLoELihkGU1iF0NwSKwwfghZOv+Iv55nzVPEV2IHCPEgksc9wOorouiaYAPViWgXg1NWNHDea96DeOGtRIYkeLwI8CDoQADpG+kR64msVJ2BYX2fKxKlOZe0rT6u3/uTlxowuwjwIDHy+LvLMiXL23JrZXGb0XFv2jlOwwvO2YB3kpP8tyPICPEgV7oi67becrlV7H7VvuEyuoZX0hD8W+lkQZ3yOWZSEn8I8CDUvgm95QCReLiW9Y92c4N5Rw5W5YhZrtRPBaz7QxeoEAjxIKEb8q2a3DdNHlK7BYeY/fAM38Vj/DR9CuJ2Os5BSyYiCPAg4Hg+SSEya332TgCsW6u088Qww4O1/44G4K8i4SOtbD0I8SA1pBuRVUQ4HXondbhxiMxKeP4vOKRMshK90uWKJezaNQjwIHOUghhHw3OLPKG3W836jI/ajQHDIBdZ3i/KH+8VO+pQCPAgBEdgfuZb4Ix+QF9ImyAlybrF9lRs5AhzfYhpyEMSjBoI8CDjDcHIMp4QADSsblA/e+5+X5JB2unscJYW3xKpgO8gHAjxIFeF29oeM4UlIlUEgqP2+YBQTh5qx+2leEKRZxCvt9xQCPFZAQAAAAHWUTjMYfJO7JE4/DYfoX6v77QICva3R7Dtb5BJuhqRTQAAAAAA/v///wJMAwEAAAAAABYAFDRPDYIXHNa9ZEBoCK0jKxjBp2zOAAAAAAAAAAAiaiDwBLfLDgAICPAgFPZ4b858k9mz2+kTleB/kgpGeirAPc8za9mMkbqsCXIICPEgQgxgCiIe8kHW7bE2bxYaVIvrKSnxyZyL1OFt+Smb9NEICPAg8b3iiqNdNpJgtWtKfATmYIkh7a2sQMqa+X1zEJ1zGPAICPEglvxLkrQlZJNmL+LTOoMAFBavaBWJngn6XnfTrh1j6IgICPEgIr11QGuMchAkN/h+osUw6PQFKB3wG7rApOK1uWVRVxUICPAgDjjV4WDSs8BC+ehr71Zzlo6t8jyd3rE06AnMBYx14+MICPAgJvbCV3xUeC+VSBKjYpS+fTZt89zwlPiNF5KqRzpEsXYICPAgs0tbrppGwsP/ZYNnX6KodcGqh/DNUFwzeFwdJ+kUxi8ICPAgv5r5nngWkHQrgsEYDk+oIT/z4xbFojjcthuJKY+Z91YICPEgJIcmLe5W5gytn9jeY6FK91jnGXeHJ5XdXmS8ZXyVZzMICPAgIUs98fAsOqZ7BDsXJpULJm0+Fu4zeMeuYyAnp4DHIHcICPEgSpVZCTfua/z6C61xa8CkV3dVVePbe9Bx8oNZlETJQj0ICPAg61EgTmluwvcQJa8/JvG2vDQ8ZiiHD/O5ya6W5vKBouMICAAFiJYNc9cZAQO4lzvwEAj6VWttv1mdsqFbAyzTbRQI8SCa2FEQGK5CUyApyRBR1zmD5y4E5mtegcMPv/KfQTR2ZQjxIPrQgFB2Z40ZNR6tGDR6aSl+iktY5CypJoEbraLYxMM3CPAgtXjzDljelIITKfz9P7MBRFb8+kq0O553er6c7uBXSgYI8QRqwFuL8AjDqc+3n8P5GwjwIDUxY4nu5CTYzpoCyVAaFujdc5cQWNMsRleyLKlRMlw+CPAgOwSlrA5VFu/GZoZVWb71oyzDmG+k9ZYDYnRDprHRV1sI8CA//buTkrnQfJ6YH7TG+z/ezQ8c6QioInrXMA7mALBNgwjxIKMrrqrCSx5+cCe62lNMUYozJoQkQEDi1mQtYG0fxVa9CPAgmeCLqnF6eJ5rwJ2ig5CRU7i+xSV7gE+BvmQH4rpBmOsI8CC6UNzahoVQJPpANrY8LG0Q1NI0SUhxPGOgpa9zmzNAegjxIP+SK3o2Xubn0WbRIAoBZ83gBiVNid109dGnVCipYi2hCPEgBbhdAIIKrEOJdSq9d3sa98kogAGquYR2rDZCpsbALWcI8CB9UzXz6Lauc98h7s1tee5SqSKmYqgkEcCGmMZoBLZ2NgjwIJ6U0eYbC49ova2McHH/ssLbu51FUGgxQyr4wBt7q1BHCPEgsYDqRgQ+jZZ6JLSZYrZTgXEQwSEdPt50lR8+eI77blkI8CDHqHlB5OK4TwcNBgD0S7GhMqkOiFS7K3HGrFHqglc/0gjxIAFBIZYbim+OAI24PkAn4Z8qLgOJDiF/Nmzj6uz66l/zCPFZAQAAAAFp3E06CI2PIijDn4tr+xMnhFw11sqgEtfrtGo+kLT+KQAAAAAA/v///wIFHwIAAAAAABYAFAHI9sAwWdF61h3SXcLDidpfgPeNAAAAAAAAAAAiaiDwBLnLDgAICPAgE9iejHZjZ3dcGmjhqqT2xxl6/WDRDvoqY4B5Ld/yqU8ICPEgBx1k7lnInxGAZQDi70uazyB4O8S5ZIMuLF3V2+OE5mAICPEgb2UT1j63IdM2sy/9DsA3nTzfTbN5LrttihKXofimJQUICPAgiQCFyp/dxizl4JkKl4wsrjcz4B7YVmokDRehraVDGNMICPEgx9UFpCbqnwyyiv5AUrUEfHvYzALx23HsxE/5SXgtbPcICPEgR4M3zwsKS+B0vdvRhkp+LoBxMCVyQU/S3ifEaO01AD0ICPEgkDGjT0Hn8/DmCEz/i4/CsyYLV8VZQe7JM0H3vcdcbdsICPEgIOgIPVcf9UWCQM6GHpqDUJljH/5rCFi5WVxmZDuKtUcICPEgoaexXk2kNVAXA+PAF2YNWnOmfV+AGAldEwagHf9zYpUICPEgmMPs0ffIBq0dB7Q0QjSMwOfE660JSE3xGKdHk/2GfBoICPAgzxKWjYUNY7+iK6WPk+3n8WxPLU9bbqIysWhygekvw34ICPAgfk2BDvRzsbhXNL2YFsdoi/EEjVYGeqzbyluEb5YaAQgICPAgac7PM8dO4QT3Xn8jnbFMM9ID09PlYyPR/AhHX+1tsIIICAAFiJYNc9cZAQO6lzs=","chain_anchor":null,"bitcoin_block":969655},"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"]}