{"format":"receipts-proof/1","hash":"2783aafaa6657b7c38afc9299f53b5329f14c7dc2a66dc7170cc4d862132fb90","provider":"demo-macd-momentum","seq":79,"kind":"signal","issued_at":"2026-10-13T20:35:18.300Z","prev":"15fd179a611ff3c0eecf95d6b3e1f327fd4c91cf90d43b34238dd8207c13d885","body":{"issued_at":"2026-10-13T20:35:18.300Z","kind":"signal","nonce":"7a4d037d1f0c74f2a335dca0062b44f2","payload":{"entry":{"type":"market"},"expires_at":"2026-10-14T08:35:18.300Z","market":{"kind":"perp","symbol":"BTCUSDT","venue":"binance-usdm"},"note":"Demo bot: MACD cross with EMA(100) trend filter, 5m. Mechanical rule, not advice.","side":"short","stop":"83240.5","targets":["83061.3","82927"]},"prev":"15fd179a611ff3c0eecf95d6b3e1f327fd4c91cf90d43b34238dd8207c13d885","provider":"demo-macd-momentum","seq":79,"v":1},"signer":null,"sig":null,"batch":{"root":"2783aafaa6657b7c38afc9299f53b5329f14c7dc2a66dc7170cc4d862132fb90","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-13T20:40:24.042Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":971299},"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"]}