{"format":"receipts-proof/1","hash":"e89b8b00a047bad3facc2db674e79fbc507f7302ffb07adc2fd4bdaf52c36597","provider":"demo-ema-cross","seq":169,"kind":"signal","issued_at":"2026-10-21T03:33:17.821Z","prev":"3bfa1e2a9e109d0a33898abafe2f114bbf30cd06803144a3aa573a837fce002c","body":{"issued_at":"2026-10-21T03:33:17.821Z","kind":"signal","nonce":"1835b555a0f0c51b0d15640d2589f16a","payload":{"entry":{"type":"market"},"expires_at":"2026-10-22T03:33:17.821Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: EMA 9/21 cross, 15m. Mechanical rule, not advice.","side":"short","stop":"2456.63","targets":["2426.27"]},"prev":"3bfa1e2a9e109d0a33898abafe2f114bbf30cd06803144a3aa573a837fce002c","provider":"demo-ema-cross","seq":169,"v":1},"signer":null,"sig":null,"batch":{"root":"e89b8b00a047bad3facc2db674e79fbc507f7302ffb07adc2fd4bdaf52c36597","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-21T04:22:56.241Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":972419},"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"]}