{"format":"receipts-proof/1","hash":"8b386631b0f67a4724148b3f26b4b9e751234b1ca33cf44ddde9abfcb7d4ecb0","provider":"demo-ema-cross","seq":132,"kind":"signal","issued_at":"2026-10-13T14:15:17.379Z","prev":"f3c7c86f8baf3be7cef77d62cf5f172fc3379dbba817f48692486f2e0724bf4a","body":{"issued_at":"2026-10-13T14:15:17.379Z","kind":"signal","nonce":"4bf302b24dd534702f070a4791d61641","payload":{"entry":{"type":"market"},"expires_at":"2026-10-14T14:15:17.379Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"long","stop":"2499.69","targets":["2558.51"]},"prev":"f3c7c86f8baf3be7cef77d62cf5f172fc3379dbba817f48692486f2e0724bf4a","provider":"demo-ema-cross","seq":132,"v":1},"signer":null,"sig":null,"batch":{"root":"6d310fc2c8d54e6b1cf55492bc80a2b284dc849ec200c492ccecbe075b791c09","index":0,"leaf_count":4,"proof":[{"side":"R","hash":"f7cdc4fd62b8a37f6d55a9c708d3e0479e1db31282458d42bc511154b1c21227"},{"side":"R","hash":"3e53fdd79876f4e4ed4c98557382a37ab645b7982b91163108972e47a5a076ec"}],"sealed_at":"2026-10-13T14:15:23.259Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":971257},"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"]}