{"format":"receipts-proof/1","hash":"28b7d9b5e0e03cd29ced8c74c34ec04309713895453b7b9f272dc622710d75ba","provider":"demo-macd-momentum","seq":106,"kind":"signal","issued_at":"2026-10-28T06:15:15.817Z","prev":"562995e04f67fae7d86593ade04593f9bdc935afda898fb2f2b0cf0014ae8eb0","body":{"issued_at":"2026-10-28T06:15:15.817Z","kind":"signal","nonce":"c953137db5268b8d6c9caa43d9a5dcd6","payload":{"entry":{"type":"market"},"expires_at":"2026-10-28T18:15:15.817Z","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":"2351.85","targets":["2358.13","2362.84"]},"prev":"562995e04f67fae7d86593ade04593f9bdc935afda898fb2f2b0cf0014ae8eb0","provider":"demo-macd-momentum","seq":106,"v":1},"signer":null,"sig":null,"batch":{"root":"28b7d9b5e0e03cd29ced8c74c34ec04309713895453b7b9f272dc622710d75ba","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-10-28T06:16:13.517Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":973512},"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"]}