{"format":"receipts-proof/1","hash":"b1e6201c5a562eb046533952c40656a4090d0604a28e332c2d19a23b3fe017b2","provider":"demo-ema-cross","seq":187,"kind":"signal","issued_at":"2026-11-08T14:32:47.968Z","prev":"79798270a6dd6814987d20731d7a4d2eb84881e962dc25dc6d0b6c6a51804080","body":{"issued_at":"2026-11-08T14:32:47.968Z","kind":"signal","nonce":"e62ec6f013988d9789380f7b160c253e","payload":{"entry":{"type":"market"},"expires_at":"2026-11-09T14:32:47.968Z","market":{"kind":"perp","symbol":"SOLUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"short","stop":"89.51","targets":["88.37"]},"prev":"79798270a6dd6814987d20731d7a4d2eb84881e962dc25dc6d0b6c6a51804080","provider":"demo-ema-cross","seq":187,"v":1},"signer":null,"sig":null,"batch":{"root":"b1e6201c5a562eb046533952c40656a4090d0604a28e332c2d19a23b3fe017b2","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-11-08T14:33:42.170Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":975079},"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"]}