{"format":"receipts-proof/1","hash":"90a414b1779c9a1672f541d37c4ff0b1c08314a4f8835a9f7638be1f34686b41","provider":"demo-bollinger-squeeze","seq":38,"kind":"signal","issued_at":"2026-09-30T03:38:28.406Z","prev":"cf054f50899f291716f7fe5e0d5b8dc596276b6a6f1dbd084a774296da0beb30","body":{"issued_at":"2026-09-30T03:38:28.406Z","kind":"signal","nonce":"8b3d005a350195bcc2d1ef0da5d8b3d1","payload":{"entry":{"type":"market"},"expires_at":"2026-10-01T03:38:28.406Z","market":{"kind":"perp","symbol":"AVAXUSDT","venue":"binance-usdm"},"note":"Demo bot: Bollinger squeeze breakout, 15m. Mechanical rule, not advice.","side":"short","stop":"11.373","targets":["11.149","11.037","10.924"]},"prev":"cf054f50899f291716f7fe5e0d5b8dc596276b6a6f1dbd084a774296da0beb30","provider":"demo-bollinger-squeeze","seq":38,"v":1},"signer":null,"sig":null,"batch":{"root":"90a414b1779c9a1672f541d37c4ff0b1c08314a4f8835a9f7638be1f34686b41","index":0,"leaf_count":1,"proof":[],"sealed_at":"2026-09-30T03:53:45.389Z","opentimestamps":"AE9wZW5UaW1lc3RhbXBzAABQcm9vZgC/ieLohOiSlAEIkKQUsXecmhZy9UHTfE/wscCDFKT4g1qfdji+HzRoa0H/8Aj5H4Ei4nxbbAjxIOWyivILGPA1jDofbsaAFl8FfjuaVtnEqmzlppY2vEFyCPAQR48An6irOnaORxui753DDAjwIMxM5Jlu5fpIo5f2istpcz1U7Z3fseCmjMLQ93CiebdGCPEEaryHy/AIem15FmP415sI8SBbb2fdRQhecd3XvEKH7XY66740QVvJ0L6ylE1CuVTnygjxIACy3fi8bo0Bk2/s8bxH1t1deOCSwus5mvVkb+ozH8zqCPEg/sCUSz4PGbBDrelpEWlSRGCEFux9VPoR2kPA5BYb9FMI8SA9dp6PHwkUBCcvysEVh4uOPHrcUFl5dj7/jFWQzQVhEwjwIEG0htf8haVbDEkabQjHTXTn+mfECDWLvm3oP/j72lBeCPAg4BJ2eOEmJEDkFZ3yqejvyf9ATVAh2AFZnaiNqUuoRA4I8CDvSDD0sqoT5JYKXYx7auHWxBtzqVUyl7KnvmTy8LaEtQjwINjvprX3HqqJC8BCewc7mZ6wpjbUkQpR1RrqsxRp8k2WCPAgrekAt4KoFoj+Lvo5eXgEcXnZZiBPXPHScDno/IaTEDgI8CBf6ehUayd4a92E7upMrcTqzoYXi6vJRPVGMJvmsTlQNgjwIB8oxFdVV+0EQGxB39k5+WF2ofjmWD0ucpOW0IE3O3vwCPFZAQAAAAFL83N485c+Q2YpuXp0RsW8eGfsk8ZSjcz/0WtHTdQrkAAAAAAA/v///wId/gAAAAAAABYAFKaf82oEUU9YUfDzbEb4joLBD8FmAAAAAAAAAAAiaiDwBCXKDgAICPEgf/9LiUtl1EmCKSVD8ixeFnGTc66Qjeu7GNv8zefwPOAICPAgsORHef93MRoRkUpae7Ltl92KlM1REFQ13Xuy2S6Qo8QICPEg/JTJDxLuGLBEfP3ocpga4X0avHvBPkTxxnsTnEG6thsICPEgy12/k++Bo0aR1aTgWBh1aZlWkIbILCwABzz7ttYpV7QICPAgSM6rZShVui7oTVkxms5iuBxs3WSuD3q1WW3geWkfbMMICPEgerCIkCSNyoZEbzA9kbkk3iMeErd7T6oBD/jwAg0hw3oICPAgI2cdGwhdkJtbbiwwdQirbqPsnqByl2jDZSNq+VVOrFcICPEgXdIMWoAz1pzp74TqRkSbnUsQRHB3GT3SNnRm6iNtlQgICPAgXIpEfZBmNR9TyQCZasDKcz5mFFh5U0C7X8prJ2GwFGcICPAgB1pheocqvlXrm8Y3ObE4V+tEGghuddpR1r7PDE8GW30ICPAgjTsYnNMfKCrJROj6sDuMH20Egkla47lofycY4YjsxcQICPEg5ehPk8IrHrq3zaQA/L+qeBGs0b7xDYwaaFN2YH0MjAMICPAgrAQNMBaK+MDweuJs4be7FZtvlTxZ3aM+ANE6AbxnFSwICAAFiJYNc9cZAQOmlDv/8AgkWNgJEjjwYQjwEFAHqZhaAlFYor62cpcXeMkI8SCWOhLIaO2CtuSmrATnpJeVsS0xJoS70Thcdq6y/i3nKgjxIEu+zSJGZPDCrThQ4r+CfxzV2PxiHFiQomP4+TOBsPj5CPEEaryHyvAIGgkuMpj/RvoI8CDeWrQNhc4O+r/SnS9iWSxGunWPWVliGEjDYBbRn75zagjwIPnq1elZBbsPCvnCI4oEfOPJB3C5axNBosd5YBBV2WnBCPEgSFJFnIEOT+1XHE9K60beHDAscK9V5StYzOqDsRCQmq8I8CAIouiO81+Xgb21EZjTXZ4VDKacJdUK+hd0mbo/vOIc1QjxIBhjT87nlzEow2s2iTQw7xeA6LM2jBD2qe61z5DteYFDCPEg8w9tTJP0wlHu0JmHletyM0mogm7YV/KIhjwuL+Tsmz4I8SBDlNZXb5GfA6vpm7lqqP6iNOYanl9DN6y766r3TveA8AjwIGq+gEh90o13A3TDnN8umEZChLPhQL6OUZ31rXwNnHC0CPAg42EI7IuiGtSAM2DBa2mJqj3qLVUgEA32Xp+BM+IDr7II8CDjihAt/TdSxCSrBfbKCafggKIp7g5NKKxphG5rFtNQxAjwIGnxiGfRWdC52s/EiBgWqMeN9X5glqyT6oktEwYgwzRNCPFZAQAAAAHGc0Lr8mhNwKm8OT8dqfPd67LcjAxhU4tX31cbvgp0bgAAAAAA/v///wJqawEAAAAAABYAFJuTB55moTxkbDTTvVoKcHtvR2mNAAAAAAAAAAAiaiDwBCbKDgAICPAgUcXmZjwpVVxydea9rAdGG5Xn/oUNflFsdqlDvL0qB7kICPAgl028qumOVDZIuhWKNK/AfL9FvGvur7bjuPQg6Hj8ZZAICPAgC+jupqzllBNAajRkuS0rbR/R7hT2IZh/sVLopF3gCM0ICPEg/u2UjA68VbeJhio6twWlLh4JgFE79wo/DpG5eO1opI4ICPEgFEHFUQtSQG4Ap+ryvfzSGyuVytaiFvjGpfeVYacfH+EICPEgkIPIaH33poBP/luIiTduTDpKDtCTWE7CMoIcfJgLcUEICPAgM0KIJlgcWfJrsnstcj4y/Z91HY/WmHqvk7mQB0leIvkICPEggSe1aMTlUb28e3AHCCSpGPcc8ej9aJJAwgObhFnt3wYICPEgwpz4PP99GRhlT/CAVy1doFAMDGIwcnTS0f+eCvn7XnsICPAgfRqcfvhA9yoBcoYLGAgLlrMHAC+cr2a2tGd5FJYLfS8ICPEgH2k1J+VsIEfoxRGxY04BaA2TXooeWpQHS0MSXBOF/JAICPAgciv4G78LRlm43LaoT8CVMrhSfzSwE4L0Q6mzdzUIRpAICPAgpES7lExhtZwqe6+2PZrzBf3G73TyLvR9oMLJm8coD10ICAAFiJYNc9cZAQOnlDvwEMpTghg+XCn9RYC01udMsmUI8SB/W2LxMblXjnKoplCYm6Zn+qEnTCPX3q4KZOVaK22a8AjxIDtTMn9m2x6zMJ/2nt49dNO2fNAiN9MA2+YOHrn+mGJ4CPAgdNYlC6ecUDG4RhbuojVlrDCzfDk/o70d8BIYyifG9bYI8QRqvIfK8AhE9RL9cG7UgACD3+MNLvkMjikoaHR0cHM6Ly9maW5uZXkuY2FsZW5kYXIuZXRlcm5pdHl3YWxsLmNvbQ==","chain_anchor":null,"bitcoin_block":969254},"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"]}