{"format":"receipts-proof/1","hash":"719d3ed980ceaae3704c4f91780e09e5dcfc6ae3a714211629b8d120a48528f5","provider":"demo-ema-cross","seq":1,"kind":"signal","issued_at":"2026-09-23T06:31:08.333Z","prev":"0000000000000000000000000000000000000000000000000000000000000000","body":{"issued_at":"2026-09-23T06:31:08.333Z","kind":"signal","nonce":"1435a7c65ffe9a169ef32bfc31ec2f93","payload":{"entry":{"type":"market"},"expires_at":"2026-09-24T06:31:08.333Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo strategy: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"short","stop":"2770","targets":["2723.6"]},"prev":"0000000000000000000000000000000000000000000000000000000000000000","provider":"demo-ema-cross","seq":1,"v":1},"signer":null,"sig":null,"batch":{"root":"ad557e00b9e59c3426150e4d126df826ab8fc037126f19c18f4e5c72d508c204","index":0,"leaf_count":2,"proof":[{"side":"R","hash":"77ade1aed7f6f4e5b2894d1f10f1c778c05d26e09e2ebe452ccc1eabb783514c"}],"sealed_at":"2026-09-23T07:01:58.290Z","opentimestamps":"AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIrVV+ALnlnDQmFQ5NEm34JquPwDcSbxnBj05cctUIwgT/8AjXuuSgoE0GewjwELZTmBHZidTx81O00mbcrkcI8SDBwyyR54wqm97xx8DNCIgfoC+DbCrlfT5pH/1+n+HpugjxBGqzeWfwCNWJ3s8hfEF4CPAgcl/GqNPIudsnV2s0viawe6/B0H30e1SW7lFpDRfffF8I8CDfz04g7EOmjt6XHmfu77hWwtpTNl9OF11M7vqF06vyDgjwIO7Q6E7yoo1bWlqW0uMc+5ovfXWOvv2UY+S3cCbR9ZSaCPAgocxaYFK3vV+PzsbpO+g0/iGcLEwGJ1doxcO/XuuhF/AI8SC2IVw5KnkfbRrBJSrcEkMEX+S8kf3EaRUjrrXE9ihkwAjxILEQIvhJNzR+m7lbcdyNhee41QdkZfL7pMjZr8GqyeffCPAg4J0pYZLzCSSh1fZ2K6+3dNzNBGxWaiNsNRdRqPABuBAI8SChX9K8tiXEuuzEjcrlg8iOoXtbHOR+ihNiuwQxaGJ94wjxIEcAz9hWnI+VRPMbCTueju14oXZpMqc9eKEtt1QyHOfGCPAgy40IRUkn+FDGBxshBs2jVXU9j6/0JR0vu7rd7A+UTNII8VkBAAAAAZ9d2FtV6iH+1Sor/3ndwUekO3tjqVz3aYv4X+vQQNSbAAAAAAD+////Ajy4AQAAAAAAFgAUSWIClgk8UWS+X6aDDYOXCpyxCrgAAAAAAAAAACJqIPAELcYOAAgI8SCwf24NraYAII9cZ82TcvxAySq6pJifHc5dX3tCvLw4mQgI8CBErYp12PHO4DuhEykEukI1ITbZZ5R0QUUsU5W49FxCwQgI8SC38ghHNmuz6CabvbATmg+ifLefHJ2AwFIOWe4kkFftZwgI8CD4Dwj3OAwptaXv3mNLHv5kjf+bs2AkuVtil4gw03ydSQgI8SCNhXmp5zM85TiAN15PWLc4DM4GQNXPxC1OsWR2ikVgHQgI8CA5DcWET59xzqkyd/UzsuW0MD/o/WVNb4Ql8sQ8sSjdfQgI8SDo73EzStpSNh+Gx2SfsFMYbZtCn26vk93WIdGxYJKXLQgI8CCxsHo4LQM6APgHgx1SyI9/dQ+WFP5/owhdD06WT2/jNggI8CDS07pFzdAbtS5JXyzJRNkoILwo182khXh1DZthujJLbggI8SCPlha580eKHj+1lXXooMX2UOfFsPmyoA9YacoZ3koELQgI8SC6m6/IMwjmbJwGseW5hzJLqfuikaZhgDOKBaTiCAES6QgI8CAlA16IU9ZlZGRrjt3opnc0pqeXqPkWsHXGYf6B6Dr3EAgI8CDzI3N1xqG09QI/PZmPbDDtiJjuuuLdeo4IGB/cAAKWlQgIAAWIlg1z1xkBA66MO//wCJXBfg4X9Nu/CPAQQrX50koHRaC+F0J0Yq/paAjwIN7gjmzLxdQgd/X9l/+uMUKwweYN9oKPIPD5ovrnoxsiCPEgQkyffTCLYQ3MjmVcqaf1Yni5ZTw1cJq7HCNgdvgB0WEI8CAXoXk6c2xxfZJVNTTRk5fBf8IDdK3myRHIXSvL6srgBQjxBGqzeWfwCLXoU1DwPDgcAIPf4w0u+QyOLCtodHRwczovL2JvYi5idGMuY2FsZW5kYXIub3BlbnRpbWVzdGFtcHMub3Jn8BDF9CjeNqTqG0aFUZGMVh6aCPEg/Mvu5BZr3+6zCBIBjcr0A3UA9xZVmyMGOe3T0M/sfq4I8CA8zBunfioaTQGQrAl4jPiHEon9hREYodEsZKlGjf775wjwICGt5ldqXzXMUNUWCZZ4AOzpHRY7RTlo3jnRhm5/cOZ5CPEEarN5Z/AIvVIWWKM+WjoAg9/jDS75DI4pKGh0dHBzOi8vZmlubmV5LmNhbGVuZGFyLmV0ZXJuaXR5d2FsbC5jb20=","chain_anchor":null,"bitcoin_block":968238},"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"]}