{"format":"receipts-proof/1","hash":"e9f455a392f7064251636d6b893bbebb9391eca10c8f1773f270d4efe16d4768","provider":"demo-ema-cross","seq":29,"kind":"signal","issued_at":"2026-09-26T21:30:33.440Z","prev":"b27d2d087ac2a836174630f71f6317704974081ac361903ad4450681e9b0ffd4","body":{"issued_at":"2026-09-26T21:30:33.440Z","kind":"signal","nonce":"c58e3fff24acfdcb5b6bd953bfce273b","payload":{"entry":{"type":"market"},"expires_at":"2026-09-27T21:30:33.440Z","market":{"kind":"perp","symbol":"BTCUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"long","stop":"84038.1","targets":["84437.4"]},"prev":"b27d2d087ac2a836174630f71f6317704974081ac361903ad4450681e9b0ffd4","provider":"demo-ema-cross","seq":29,"v":1},"signer":null,"sig":null,"batch":{"root":"e9f455a392f7064251636d6b893bbebb9391eca10c8f1773f270d4efe16d4768","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-09-26T21:31:23.427Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":968748},"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"]}