On-chain
Contracts and fund flow
You own the vault. The operator may only send value to aggregator routers and to DEX LP contracts. You can kill the LP book and sweep every token back to your wallet from the frontend or by calling the contracts yourself.
Addresses
| Piece | Role |
|---|---|
| Network | Base (chain id 8453) |
| LPVaultFactory | 0xdB68FD9663c6a313Bed58D4B975aA584C3e5C241 |
| createVaultAndDeposit | Atomic: mint your vault, take the $1 setup fee, pull both legs. All-or-nothing. |
| Client vault | Per-user contract. Owner = your wallet. Operator = the bot, with a destination allow-list. |
Where money is allowed to go
Green is your capital. It only sits in your wallet, your vault, an aggregator router mid-swap, or a DEX LP position. Red is the protocol take: it never becomes a place the book can settle.
From the vault, principal may only move to:
- DEX LP contracts — minting and increasing a concentrated position (Uniswap-style NFTs / Algebra positions, including KittenSwap venues where listed). Fees and emissions come back the other way.
- Aggregator routers — swaps needed to seed a range, to rebalance after an exit, to harvest inventory toward 50/50, or to run a dust sweep. Routers cannot keep the residual; output tokens return to the vault.
- Your wallet — on pause, kill, or sweep. This is the only “out” that is not a venue.
There is no path to a treasury, to an operator EOA, or to an unrelated token contract. If a destination is not on that list, the vault call reverts.
Setup
A client pays $1 once to create the vault. The factory collects that fee in the same transaction as the first deposit, so you never sit with an empty vault that already charged you. Top-ups do not pay it again. Minimum working deposit after that is $100.
The operator address is the bot that will call LP and aggregator functions. It is not the owner. Changing operators does not move ownership.
Kill, pause, sweep
You remain in control for the life of the vault. From the LP Protocol frontend, or by talking to the contracts directly:
- Pause the operator so it cannot post a new range.
- Exit the LP position (burn / decrease / collect).
- Sweep every ERC-20 in the vault to the owner wallet, including leftover dust.
The pause message the frontend signs is bound to your vault address and a unix timestamp. It does not grant spend. Anyone can verify it; only the owner’s signature is honoured. If you prefer not to use the UI, call the vault’s exit-and-sweep functions from any contract UI with the owner wallet.
The operator is a convenience, not a custodian. If the bot is offline, your tokens are still in a contract you own, on an allow-listed set of destinations, and the sweep path does not need the bot.