{"format":"receipts-proof/1","hash":"a8afee16a8445210401e18dd3042ea4a5662a96be0f75a822e99e378cd649d4e","provider":"demo-rsi-reversion","seq":137,"kind":"signal","issued_at":"2026-10-13T10:50:51.518Z","prev":"6f13e298b7b3593c19950887317c6745218e81d43ec6a4d9ab778084f236f4f5","body":{"issued_at":"2026-10-13T10:50:51.518Z","kind":"signal","nonce":"7ae8ac34e1d652292d196c2ed2c1d370","payload":{"entry":{"type":"market"},"expires_at":"2026-10-13T22:50:51.518Z","market":{"kind":"perp","symbol":"SOLUSDT","venue":"binance-usdm"},"note":"Demo bot: RSI(14) 25/75 reversion, 5m. Mechanical rule, not advice.","side":"long","stop":"105.89","targets":["106.75","107.19"]},"prev":"6f13e298b7b3593c19950887317c6745218e81d43ec6a4d9ab778084f236f4f5","provider":"demo-rsi-reversion","seq":137,"v":1},"signer":null,"sig":null,"batch":{"root":"a8afee16a8445210401e18dd3042ea4a5662a96be0f75a822e99e378cd649d4e","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-13T10:55:56.316Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":971233},"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"]}