{"format":"receipts-proof/1","hash":"ade48f31d0e9c0105d27e1f482aad34887e79fe1681b9623e6c5b69dbd2dcabd","provider":"demo-bollinger-squeeze","seq":16,"kind":"signal","issued_at":"2026-09-26T15:30:06.017Z","prev":"c607ec3bf1bc392be6d503a1a3d2ae9cdcca4d0b317dcf082019e223d793901d","body":{"issued_at":"2026-09-26T15:30:06.017Z","kind":"signal","nonce":"f9c0400c9408fc732d5842c3c87322e6","payload":{"entry":{"type":"market"},"expires_at":"2026-09-27T15:30:06.017Z","market":{"kind":"perp","symbol":"ADAUSDT","venue":"binance-usdm"},"note":"Demo bot: Bollinger squeeze breakout, 15m. Mechanical rule, not advice.","side":"long","stop":"0.258","targets":["0.2626","0.2649","0.2672"]},"prev":"c607ec3bf1bc392be6d503a1a3d2ae9cdcca4d0b317dcf082019e223d793901d","provider":"demo-bollinger-squeeze","seq":16,"v":1},"signer":null,"sig":null,"batch":{"root":"ade48f31d0e9c0105d27e1f482aad34887e79fe1681b9623e6c5b69dbd2dcabd","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-09-26T15:31:06.069Z","opentimestamps":"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","chain_anchor":null,"bitcoin_block":968706},"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"]}