{"format":"receipts-proof/1","hash":"b61384c5cb881a66e141acbf8886ce1da89809096ff69a1f046bfb70684fd219","provider":"demo-rsi-reversion","seq":17,"kind":"signal","issued_at":"2026-09-25T11:40:59.105Z","prev":"a447c92592d4ba98a53b217109b5a700174ea6fe1e83c5cc7f508382920f6173","body":{"issued_at":"2026-09-25T11:40:59.105Z","kind":"signal","nonce":"b58718b0b0574c59b068c4f6e0aac2c9","payload":{"entry":{"type":"market"},"expires_at":"2026-09-25T23:40:59.105Z","market":{"kind":"perp","symbol":"XRPUSDT","venue":"binance-usdm"},"note":"Demo bot: RSI(14) 25/75 reversion, 5m. Mechanical rule, not advice.","side":"short","stop":"1.5944","targets":["1.5724","1.5615"]},"prev":"a447c92592d4ba98a53b217109b5a700174ea6fe1e83c5cc7f508382920f6173","provider":"demo-rsi-reversion","seq":17,"v":1},"signer":null,"sig":null,"batch":{"root":"b61384c5cb881a66e141acbf8886ce1da89809096ff69a1f046bfb70684fd219","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-09-25T11:41:58.960Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":968549},"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"]}