{"format":"receipts-proof/1","hash":"6a57262491d5701dd3d2dff30ebc9ab50f37a35305592bc7a1b9180c43d44f94","provider":"demo-ema-cross","seq":144,"kind":"signal","issued_at":"2026-10-14T02:00:18.865Z","prev":"de2e4242f74fc1cc52ef7e9f7b3e26f8d1608771852b7392ca2ce878b0737738","body":{"issued_at":"2026-10-14T02:00:18.865Z","kind":"signal","nonce":"7701b7abc944fbb99f8022587a893a84","payload":{"entry":{"type":"market"},"expires_at":"2026-10-15T02:00:18.865Z","market":{"kind":"perp","symbol":"BTCUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"short","stop":"83550.5","targets":["82742.3"]},"prev":"de2e4242f74fc1cc52ef7e9f7b3e26f8d1608771852b7392ca2ce878b0737738","provider":"demo-ema-cross","seq":144,"v":1},"signer":null,"sig":null,"batch":{"root":"6a57262491d5701dd3d2dff30ebc9ab50f37a35305592bc7a1b9180c43d44f94","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-14T02:00:24.574Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":971337},"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"]}