{"format":"receipts-proof/1","hash":"97dc8bdc7dafe355d47dcbf98c3f6c0ff82ccbd58596a3b4f62c21277616c8e4","provider":"demo-macd-momentum","seq":12,"kind":"signal","issued_at":"2026-09-27T14:00:39.301Z","prev":"96355cbaa92ae4f40fac0d3c50201a0947d7641d49a679e80b3a6c4c69080bce","body":{"issued_at":"2026-09-27T14:00:39.301Z","kind":"signal","nonce":"da8fecd7d989df28f863ebeb7a943b71","payload":{"entry":{"type":"market"},"expires_at":"2026-09-28T02:00:39.301Z","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":"2701.38","targets":["2715.62","2726.3"]},"prev":"96355cbaa92ae4f40fac0d3c50201a0947d7641d49a679e80b3a6c4c69080bce","provider":"demo-macd-momentum","seq":12,"v":1},"signer":null,"sig":null,"batch":{"root":"97dc8bdc7dafe355d47dcbf98c3f6c0ff82ccbd58596a3b4f62c21277616c8e4","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-09-27T14:07:39.382Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":968848},"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"]}