About Driftwatch
What it does, how it works, who built it.
Driftwatch is a non-custodial Telegram bot that monitors concentrated liquidity positions on Solana and lets you rebalance them with a single tap. Your keys never leave your wallet — every transaction is signed in Phantom (or any Solana wallet) and submitted to the chain as you.
What it does
- Monitors your Orca Whirlpools, Meteora DLMM, and Raydium CLMM positions on a 5-minute cycle.
- Alerts you in Telegram the moment a position drifts out of its tick range and stops earning fees.
- Rebalances in one tap — Driftwatch builds two transactions (close the old position, open a new one in your chosen range) and sends them to your wallet for signing.
- Suggests ranges based on 30-day volatility so you can choose conservative, balanced, or aggressive.
How rebalancing works
When you tap "Rebalance" in the bot, Driftwatch opens a signing page and builds two unsigned transactions:
- TX1 — Close: decreases liquidity, collects fees and rewards, closes the old position, unwraps any leftover WSOL back to native SOL, and deposits a small protocol fee.
- TX2 — Open: initializes tick arrays if needed, opens a new position NFT in your selected range, wraps the required SOL, and deposits the returned tokens as liquidity.
You sign both in your wallet. We never hold your keys, never auto-sign, and never take custody of any tokens. The only on-chain programs we interact with are the DEXes themselves and standard Solana primitives.
On-chain programs we interact with
No custom or deployed Driftwatch program exists on-chain. We are strictly a client that constructs and submits instructions to the above audited programs.
Data sources
- Solana RPC: Syndica (primary), Helius (fallback), Chainstack (emergency). We use
getMultipleAccountsfor batched account reads and never scan the whole program state. - Prices: read directly from the pool accounts (sqrt-price → tick). No third-party price oracles.
Contact
Bug reports, security issues, partnership inquiries: @driftwatchbot on Telegram, or open an issue with us directly via the bot's /feedback command.