{"format":"receipts-proof/1","hash":"36bd856df34f521919f9bf90af909f6d1d4d467a6f165b261c77699ea46c0114","provider":"demo-macd-momentum","seq":104,"kind":"signal","issued_at":"2026-10-28T01:25:53.135Z","prev":"2fabf319dc155ed72aee6447cffc493ab1e252cb2ead84de3a2ffdc258060c19","body":{"issued_at":"2026-10-28T01:25:53.135Z","kind":"signal","nonce":"8655e16dfb9e0cd53ef1cc252dfe0c41","payload":{"entry":{"type":"market"},"expires_at":"2026-10-28T13:25:53.135Z","market":{"kind":"perp","symbol":"BTCUSDT","venue":"binance-usdm"},"note":"Demo bot: MACD cross with EMA(100) trend filter, 5m. Mechanical rule, not advice.","side":"long","stop":"80712","targets":["80948.2","81125.4"]},"prev":"2fabf319dc155ed72aee6447cffc493ab1e252cb2ead84de3a2ffdc258060c19","provider":"demo-macd-momentum","seq":104,"v":1},"signer":null,"sig":null,"batch":{"root":"a3c56585bd5c94614f3592a7c2468d33b25f709edb32b2f1a4d893c951321bf8","index":0,"leaf_count":2,"proof":[{"side":"R","hash":"562995e04f67fae7d86593ade04593f9bdc935afda898fb2f2b0cf0014ae8eb0"}],"sealed_at":"2026-10-28T01:26:42.692Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":973481},"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"]}