{"format":"receipts-proof/1","hash":"b1ff9112ee429e43ca2caac03bb98c8ab4bba55758c15b1bf7d551fbde068101","provider":"demo-rsi-reversion","seq":147,"kind":"signal","issued_at":"2026-10-14T13:25:36.795Z","prev":"cd821e5d51ea4464ec0cbcfa359d259387f7d8c78d67280a67903e80d9b2243e","body":{"issued_at":"2026-10-14T13:25:36.795Z","kind":"signal","nonce":"dff6fd101df48fe9cd228d8d27cf7c9b","payload":{"entry":{"type":"market"},"expires_at":"2026-10-15T01:25:36.795Z","market":{"kind":"perp","symbol":"SOLUSDT","venue":"binance-usdm"},"note":"Demo bot: RSI(14) 25/75 reversion, 5m. Mechanical rule, not advice.","side":"long","stop":"103.98","targets":["105.82","106.74"]},"prev":"cd821e5d51ea4464ec0cbcfa359d259387f7d8c78d67280a67903e80d9b2243e","provider":"demo-rsi-reversion","seq":147,"v":1},"signer":null,"sig":null,"batch":{"root":"5a5408a52f1f3f3b16d404b14bc4b7bfbcbb37c0d2faa08a23ec1388193e6441","index":0,"leaf_count":2,"proof":[{"side":"R","hash":"851a2b8cb9fadd73528394e6d24f35504c463a11598036e071f33b9e178667d4"}],"sealed_at":"2026-10-14T13:25:38.712Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":971410},"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"]}