Pools, liquidity and locks
Every trade on DeSciFi runs through pools that liquidity providers fund, and every swap pays a fee to them. This page is for anyone who provides liquidity with their own wallet and for members who vote on a DAO's liquidity. It explains how DeSciFi pools work and why their fees are kept apart, how to add and remove liquidity, how one-sided launch pools set a price floor, how lock boxes hold LP tokens until a date or forever, how to read a pool's page, and what can go wrong. Trading itself is in Swap on DeSciFi.
How DeSciFi pools work
A DeSciFi pool holds two tokens and prices them by the constant-product rule known from Uniswap V2: the product of the two reserves stays the same through a trade, so buying one token makes it dearer. DeSciFi is an original implementation written for COLLAB under the MIT License; no Uniswap code is used. Pools have no owner and the factory takes no protocol fee: every swap fee goes to liquidity providers.
- Standard pools exist once per token pair and fee tier. The add-liquidity page names the tiers by use: 0.1% for Stable pairs, 0.3% for Most pairs, 1% for New or volatile tokens. Each tier is a separate pool.
- Launch pools start one-sided and charge 0.30% or 1.00%; any number of them can exist for the same pair. See One-sided launch pools.
- Pools can only be created for token contracts that already exist.
- Depositing into a pool gives you LP tokens, your share of it. The first deposit into a standard pool locks 1,000 LP units forever at the burn address (
0x…dEaD), where nobody can withdraw them. - The router trades only through pools registered in the DeSciFi factory, and the pool page refuses any other address: "This address is not a DeSciFi pool."
- Tokens that take a fee on transfer or change balances by themselves (rebasing tokens) are not supported. There are no flash swaps.
Fees kept apart
In most exchanges of this kind, swap fees are added to the reserves, and a liquidity provider receives them only when withdrawing. DeSciFi keeps swap fees aside, in a fee reserve apart from the liquidity, and credits them to LP holders in proportion to their LP tokens.
- You can collect your fees at any time while your liquidity stays in the pool: Collect fees under Your position on the pool page. Fees are paid out separately and do not compound into your liquidity.
- Only you can collect your fees, and they stay collectable after you remove or lock your liquidity. When LP tokens change hands, the fees earned until then stay with the account that held them.
- A DAO's treasury collects the fees of the LP tokens it holds by proposal (Collect LP fees).
- A lock box is the exception: anyone can trigger the collection of its fees, and they always go to the lock's fixed fee recipient, together with any of the pool's two tokens sent to the box by mistake.
This is what lets a DAO lock its liquidity, or burn it, and still collect the fees.
Adding and removing liquidity
Add liquidity (DeSciFi → Pools → Add liquidity, or /pools/add) takes three choices: the two tokens (First token, Second token), the Fee tier, and the amounts. The page says whether the pool is an Existing pool, one Created, no liquidity yet, or a New pool.
- An existing pool: deposits keep its current price, so the second amount follows the first.
- A new or empty pool: you create it, then your first deposit sets its starting price, the ratio of the two amounts you enter. The page compares your price with the price elsewhere on DeSciFi and warns when yours is above or below the market, because traders would then buy the cheap side from your pool. The first deposit must be worth more than 1,000 LP units.
Before you deposit shows your share of the pool before and after, the LP tokens you receive, what your deposit is worth, and the slippage tolerance from your trade settings. The steps then appear in order: Create pool if needed, an approval for each token (exact, or unlimited with Approve unlimited amounts, which lets the router move all of these tokens from your wallet later), and Add liquidity. You can deposit L1 directly; it is wrapped to wL1, the form pools hold, so L1 and wL1 cannot be paired with each other. A token that came from the link you opened needs its address checked first, as on the swap ticket; see The link check.
Removing is on the pool page, under Manage your liquidity → Remove: choose the share of your liquidity to remove (Max for all), read what you receive at least after your slippage tolerance, approve your LP tokens for removal, and press Remove liquidity. In a pool with wL1, Receive L1 instead of wL1 pays that side as L1. Fees you earned stay collectable.

One-sided launch pools
A launch pool starts with only the new token and a virtual amount of the other token, which sets the starting price: the virtual amount divided by the number of tokens. Buyers bring the real other token. The pool prices trades with the real and virtual amounts together, but it pays out only what is really there, so it can never pay out more of the other token than buyers have put in. The opening price is therefore also the price floor.
Example. A pool with 1,000,000 new tokens and a virtual 10,000 USDC starts at 0.01 USDC per token. Early buyers pay about that price; anyone selling tokens back can only receive USDC that buyers deposited.
- A launch pool receives its liquidity once, when it is created; nobody can add to it later.
- When its LP holder withdraws, the virtual reserve shrinks in the same proportion, so the price does not move.
- DAOs create launch pools as part of a token launch, where the treasury spends nothing; see Issue and manage tokens.
On the pool page, How this launch pool works shows the virtual reserve, the real amount buyers paid in and the price floor, and the price curve marks the launch floor.
LP locks
A lock box holds LP tokens of one pool until an unlock date, or forever, which amounts to burned liquidity. The liquidity keeps earning while it is locked.
- The fee recipient is fixed when the lock is created: the treasury, a named collector or the burn address, where fees are destroyed. Anyone can send the box's fees to it, and they always go there.
- The owner can move the unlock date later but never earlier, or make the lock permanent, can withdraw only after the unlock date, and can hand the box to a new owner. A lock box has no way to renounce its owner, so its LP tokens cannot be stranded that way.
- A lock box must hold LP tokens from the start: empty boxes are refused.
Locking your own liquidity. On the pool page, under Manage your liquidity → Lock, enter the LP tokens to lock, choose Until a date (with Unlock on) or Forever, the Fee recipient (you, the burn address or any address) and the Lock owner. Approve the LP tokens for the lock, then Lock liquidity or Lock liquidity forever; a confirmation states that a permanent lock can never be withdrawn by anyone, including you.
The Locks page (DeSciFi → Locks) shows your locks, or any account's locks when you enter its address, such as a DAO treasury: the locks it owns and the locks that pay fees to it. Locks at a glance sums the locked liquidity, the fees waiting and the next unlock. Each lock shows its amount, what it is worth now, its unlock time, fee recipient, owner and the fees to collect, with Collect fees, and for its owner Extend, Withdraw and Transfer. Lists are read a page at a time, newest first, so no flood of lock boxes can stop them loading; empty or negligible boxes are folded away, since anyone can create lock boxes for any account.

The pool page
Every registered pool has a page at /pools/<pool address>, reached from the Pools list (searchable by symbol or address, with the filters All, Launch pools, DAO liquidity and Your liquidity).
- This pool at a glance: Value locked, the price, Fees waiting for LP holders, Liquidity in lock boxes, Your share and the Swap fee.
- Price: the price history, and the price curve with today's point; for a launch pool, its floor.
- Who earns the fees: the share of the fees each holder of LP tokens earns: a DAO's treasury, a DAO through its locks, lock fee recipients, the burn address (which holds the 1,000 LP units locked at the first deposit, whose fees nobody can collect), you, and other liquidity providers.
- Locked liquidity: each lock box of the pool, with Send fees to recipient.
- Pool facts: the pool contract, both tokens, the reserves, the LP tokens in circulation and the swap fee.
- Manage your liquidity: Add, Remove and Lock, and Your position: your share, your LP tokens, what you can withdraw of each token, what it is worth now, the fees to collect and Collect fees.
Value locked is the two real reserves at today's pool prices, in L1 and your currency. A pool never values its own token above the other side, so a launch pool's virtual reserve adds nothing.

Liquidity by proposal
A DAO's treasury provides liquidity through DeSciFi liquidity proposals:
| Action | What it does |
|---|---|
| Add liquidity | Deposits two treasury assets into a standard pool, creating it if needed. The LP tokens come back to the treasury. |
| Remove liquidity | Burns treasury LP tokens and takes the assets back into the treasury. |
| Swap | Sells a treasury asset for another along an explicit path of pools, with a minimum amount out. |
| Lock LP tokens | Moves treasury LP tokens into a lock box until a date or forever. The treasury stays the owner, and the fees go to a recipient fixed now. |
| Collect LP fees | Collects the fees earned by the treasury's LP tokens and by its lock boxes. |
| Extend a lock | Pushes back the unlock date of a lock the treasury owns, or makes it permanent. |
| Withdraw from a lock | Takes LP tokens out of a treasury-owned lock box whose unlock date has passed. |
Where treasury spends are critical, swaps, deposits and launch pools need the critical rules, because they trade at a price the proposal sets, and so does a lock that opens more than ten years after the proposal's submission, or never, or that is owned by or pays anyone but the treasury. Removing liquidity and collecting fees to the treasury stay standard. See When treasury spends are critical.
A swap or deposit is fixed when the proposal is submitted and executed later, possibly at exactly its minimum amount. Set the minimum to what the DAO really accepts; if the market has moved past it, the execution fails and nothing happens.
The DAO's Liquidity section, at /dao/<web address>/liquidity, lists the pools that trade its tokens or hold its liquidity: who holds each pool, what the treasury's part is worth, the fees collected so far and its locks. Anyone can press Collect fees to the treasury for a lock that pays the treasury; the fees can only go there. Members propose the rest: Propose adding liquidity, Propose collecting the fees, Propose a liquidity change.
The risks
- Impermanent loss. When the price of one token moves against the other, the pool sells the rising token and buys the falling one, so your share ends up holding more of the token that fell. Compared with holding the two tokens, your position is worth less: about 5.7% less if one token's price doubles against the other, and more for larger moves. The loss becomes final when you withdraw at the new price; fees offset part of it.
- Thin pools. A pool with little liquidity moves a lot on each trade, and its price can be pushed far from any fair value. Prices, liquidity and market caps on DeSciFi come from the pools themselves; see The tokens list.
- Launch pools pay sellers only what buyers paid in, so selling into a young launch pool may return little.
- Locks are final. A permanent lock can never be withdrawn by anyone, and an unlock date can only move later.
- Token risk. A token's issuer may be able to mint or pause it; check its page, and see Verification before you provide liquidity for a token you do not know.
- Alpha software. DeSciFi is part of COLLAB 2.2, an alpha with AI-assisted reviews and no external audit. Provide only what you can afford to lose.