{"format":"receipts-proof/1","hash":"60c60fb8895cf8ebc7a1437c283fa80dfd1274dcea95f5a6aafb62e690eafad0","provider":"demo-rsi-reversion","seq":161,"kind":"signal","issued_at":"2026-10-20T22:30:46.900Z","prev":"1bc06e0833f3e5b9c9ded97911f9780c6d77ec4f4cbf52ae0ff83bbc648f02d4","body":{"issued_at":"2026-10-20T22:30:46.900Z","kind":"signal","nonce":"2b581020b97c9a3dcde402a489a26ea4","payload":{"entry":{"type":"market"},"expires_at":"2026-10-21T10:30:46.900Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: RSI(14) 25/75 reversion, 5m. Mechanical rule, not advice.","side":"short","stop":"2463.12","targets":["2452.16","2446.68"]},"prev":"1bc06e0833f3e5b9c9ded97911f9780c6d77ec4f4cbf52ae0ff83bbc648f02d4","provider":"demo-rsi-reversion","seq":161,"v":1},"signer":null,"sig":null,"batch":{"root":"60c60fb8895cf8ebc7a1437c283fa80dfd1274dcea95f5a6aafb62e690eafad0","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-20T22:31:45.152Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":972388},"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"]}