{"format":"receipts-proof/1","hash":"89909233ce5f093f2555185892b3a21cdc9fc65f16a6567989fa92bc013ef19e","provider":"demo-macd-momentum","seq":33,"kind":"signal","issued_at":"2026-10-01T22:05:32.339Z","prev":"df8629aee72bfc95b9dd508e9cffa0b511673527c484f10cdfc04da337f08c3f","body":{"issued_at":"2026-10-01T22:05:32.339Z","kind":"signal","nonce":"f3faa07427b35e6328d52c8c95ec5f2d","payload":{"entry":{"type":"market"},"expires_at":"2026-10-02T10:05:32.339Z","market":{"kind":"perp","symbol":"ETHUSDT","venue":"binance-usdm"},"note":"Demo bot: MACD cross with EMA(100) trend filter, 5m. Mechanical rule, not advice.","side":"long","stop":"2695.24","targets":["2704.06","2710.67"]},"prev":"df8629aee72bfc95b9dd508e9cffa0b511673527c484f10cdfc04da337f08c3f","provider":"demo-macd-momentum","seq":33,"v":1},"signer":null,"sig":null,"batch":{"root":"2f2c52e67b25569b90b8793e80e7d1fcc1b674e204e801fed469f0e7419b6294","index":1,"leaf_count":2,"proof":[{"side":"L","hash":"df8629aee72bfc95b9dd508e9cffa0b511673527c484f10cdfc04da337f08c3f"}],"sealed_at":"2026-10-01T22:06:30.497Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":969500},"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"]}