{"format":"receipts-proof/1","hash":"3ee9f71862fc65e6fc450eef0b94f44f4a7ad5736ab4dc5ba7c1797fef857910","provider":"demo-rsi-reversion","seq":93,"kind":"signal","issued_at":"2026-10-07T09:49:33.833Z","prev":"2d5d9edd503d6f2f37a8f89ff466af81da2ac9926de4e0054e2fca975df72919","body":{"issued_at":"2026-10-07T09:49:33.833Z","kind":"signal","nonce":"4e89f2c769d3c6af232b03569aeed062","payload":{"entry":{"type":"market"},"expires_at":"2026-10-07T21:49:33.833Z","market":{"kind":"perp","symbol":"XRPUSDT","venue":"binance-usdm"},"note":"Demo bot: RSI(14) 25/75 reversion, 5m. Mechanical rule, not advice.","side":"long","stop":"1.4467","targets":["1.4565","1.4613"]},"prev":"2d5d9edd503d6f2f37a8f89ff466af81da2ac9926de4e0054e2fca975df72919","provider":"demo-rsi-reversion","seq":93,"v":1},"signer":null,"sig":null,"batch":{"root":"45fc28191da954de5d066d44ff2cf6a9260d3a699624eb3459f99a46bdc830b2","index":0,"leaf_count":2,"proof":[{"side":"R","hash":"4b762ab4616bb1a30ea930548cb1385f55cf905083517056636334a4da01e8ce"}],"sealed_at":"2026-10-07T09:50:36.595Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":970326},"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"]}