{"format":"receipts-proof/1","hash":"2f1e03dc47c61ef20cd13290b59ae0900c67844ca4f676baa58ac18aa78c04dc","provider":"demo-ema-cross","seq":136,"kind":"signal","issued_at":"2026-10-13T21:15:18.382Z","prev":"d5c3de1c2e34b45cf46bce9c9407d3fe4a90a8a2db43f1dcaa95b3127fe2da0a","body":{"issued_at":"2026-10-13T21:15:18.382Z","kind":"signal","nonce":"507c09ccacf62d2315b7f49926a690be","payload":{"entry":{"type":"market"},"expires_at":"2026-10-14T21:15:18.382Z","market":{"kind":"perp","symbol":"BTCUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"long","stop":"83106.8","targets":["83775.1"]},"prev":"d5c3de1c2e34b45cf46bce9c9407d3fe4a90a8a2db43f1dcaa95b3127fe2da0a","provider":"demo-ema-cross","seq":136,"v":1},"signer":null,"sig":null,"batch":{"root":"2f1e03dc47c61ef20cd13290b59ae0900c67844ca4f676baa58ac18aa78c04dc","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-13T21:15:24.089Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":971305},"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"]}