{"format":"receipts-proof/1","hash":"18e5684f27e8d7ee85a93db47db35c34bb656e5ce3dff79b5adb8f03df8f0094","provider":"demo-rsi-reversion","seq":41,"kind":"signal","issued_at":"2026-09-29T07:06:50.335Z","prev":"4cb32665fe2ac14a498d1e9e46ef2bc1e9ce085a4038143aca4070d23f4e78e0","body":{"issued_at":"2026-09-29T07:06:50.335Z","kind":"signal","nonce":"a356ecb1d9f205e38f10973ad85a4325","payload":{"entry":{"type":"market"},"expires_at":"2026-09-29T19:06:50.335Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: RSI(14) 25/75 reversion, 5m. Mechanical rule, not advice.","side":"short","stop":"2709.84","targets":["2694.52","2686.87"]},"prev":"4cb32665fe2ac14a498d1e9e46ef2bc1e9ce085a4038143aca4070d23f4e78e0","provider":"demo-rsi-reversion","seq":41,"v":1},"signer":null,"sig":null,"batch":{"root":"18e5684f27e8d7ee85a93db47db35c34bb656e5ce3dff79b5adb8f03df8f0094","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-09-29T07:07:40.326Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":969120},"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"]}