EthereumEthereum ERC-20

Add Liquidity to a Uniswap Pool on Ethereum

Deposit into a Uniswap v2, v3 or v4 pool that already exists on Ethereum. Top up a position you already hold or open a new one in the same pool, with the second amount matched to the live price as you type. Signature approvals where the token allows it, and the whole thing simulated before your wallet opens. 0.002 ETH.

0.002 ETH service fee plus network gas

ethereumEthereum

Add liquidity

Deepen an existing pool on Ethereum. Both tokens are deposited at the pool's current price.

Pool

Pick one of your pools, or paste a token address to find its pools on Uniswap.

Connect your wallet to see your pools, or paste an address.

Service fee
0.002ETH
Network gas
Shown after review
Fees and network costs~0.002ETH

Plus your deposits, which stay yours as liquidity.

Connect your Ethereum wallet to continue

Non-custodial
Signed in your wallet
Liquidity stays yours

How to Add Liquidity on Uniswap

1

Connect and find the pool

Paste a token address to see every Uniswap pool it trades in, across fee tiers and versions, or paste a pool address directly. Liquidity positions the connected wallet already holds are listed alongside, so you can top one up rather than hunting for it.

2

Top up or open a new position

On v3 and v4 you choose. Adding to an existing position keeps its price range exactly as it is. Opening a new one in the same pool lets you pick a different range. On v2 there is nothing to choose, since a pair has no ranges.

3

Enter one side

Type either amount and the other is calculated from the live price and, on concentrated pools, from where that price sits inside your range. Nothing more than the ratio needs is taken from your wallet.

4

Sign the approval, usually for free

Most tokens support a permit signature, and Permit2 covers many of the rest, so the approval costs nothing. A conventional approve transaction is only needed where a token supports neither, and you are told beforehand.

5

Check the simulation and confirm

The deposit is run against live mainnet state first, showing exactly what will be taken and what liquidity you get back, with a plain reason if it would fail. Then one signature.

code_off

No Code Required

Create and launch tokens without writing any code. Visual configuration for all features.

visibility

Fully Transparent

All token data is publicly visible and verifiable on block explorers.

hub

Multi-Chain

Available on Solana, Ethereum, Base, Arbitrum, Polygon, and BNB Chain.

shield

Full Ownership

You have full control. We never hold your keys, tokens, or authority.

Frequently Asked Questions

Find the pool by pasting the token or pool address, decide whether to top up a position you already hold or open a new one, and enter one of the two amounts. The other is worked out from the current price. Approve by signature where the token supports it, check the simulation, and confirm once. It works on Uniswap v2, v3 and v4 pools on the Ethereum network, on any fee tier from 0.01% to 1%, and pairs against ETH or USDC as well as against another ERC-20.

This differs between versions and catches people out. On Uniswap v3 the answer is no: topping up credits the fees you have already earned to your claimable balance, but does not pay them out and does not spend them, so your wallet is charged the full deposit. On Uniswap v4 the answer is yes, and it is automatic: uncollected fees are used as part of the deposit first, so less comes out of your wallet than the number you typed. Neither behaviour is wrong, but they are opposites, and only one of them is documented anywhere obvious.

No, and this is the real reason to think about topping up versus opening a new position. Increasing liquidity on an existing v3 or v4 position reuses that position's ticks exactly; there is no way to pass new bounds. If your view on the range has changed, the answer is a new position in the same pool rather than a top-up. If the range is still right, topping up is cheaper because nothing new has to be minted.

Top up when the range still reflects what you think and you would rather manage one position than two. Open a new one when you want different bounds, or when you want the tranches kept separate, which is easier to account for later. The range lock is the deciding factor rather than the gas difference, which is small.

On a v2 pair, whatever ratio the reserves are currently at, and you receive LP tokens representing your share of the liquidity pool in return. With concentrated liquidity on v3 and v4 it depends on where the price sits inside your chosen range: near the middle you need a fairly balanced pair, and the closer the price is to one bound the more the position tilts toward a single asset. The tool quotes the second side live as you type rather than assuming an even split, because an even split is usually wrong on a concentrated pool.

Then the position is single-sided, and a top-up needs only one of the two tokens. Above your upper bound the position is entirely the quote asset; below your lower bound it is entirely your token. Worth knowing before you add: an out-of-range position earns no fees at all until the price comes back into the range, so adding to one is a bet on the price returning rather than a way to earn more now.

No. On v3 and v4 it cannot: the mint path adds depth at the ticks you specify and never writes the pool's current price. On a v2 pair, depositing at the pool's ratio scales both reserves together and leaves the price where it was. Adding liquidity changes how much a trade moves the price, not the price itself.

Not a bad exchange rate, because there is no exchange. Between building the transaction and it landing, someone else's trade can shift the pool ratio, which means the amounts you agreed no longer match what the pool wants. The tolerance sets how far that can drift before the transaction reverts rather than silently depositing something different. It protects the composition of your deposit, and the cost of hitting it is gas rather than principal.

Be careful, and this is the one genuine danger in depositing into a pool somebody else created. If a pool has drifted away from where the asset trades elsewhere, adding liquidity at that price means depositing into a market that arbitrage will correct at your expense, and Uniswap's own warning about this describes the potential outcome as full and permanent loss of funds. Compare the pool's price against a real market before depositing into anything thin or unfamiliar.

Your percentage of the pool falls, but no trading fees you have already earned are affected. On v3 and v4 each position records a fee checkpoint when it changes, so a later liquidity provider's accrual starts from the moment they arrive and cannot reach backwards. On v2 the fees are already inside the reserves, so a latecomer buys in at the fee-inflated ratio. What new liquidity does change is the rate you earn going forward, since the same trading volume is split across more depth.

Usually not, which is worth comparing against doing this on Uniswap's own interface. Tokens supporting EIP-2612 permit, including everything created with Tokenry, turn the approval into a free signature, and Permit2 covers many others. Uniswap's own flow still asks for a paid approval the first time a token is used, then a Permit2 signature on top. On mainnet that difference is real money.

No. For a v3 or v4 top-up the position NFT is approved to the launcher by a signature you give, moved for the length of one transaction, and returned inside that same transaction. Because an ERC-721 transfer clears the token's approval, nothing is left standing afterwards. That is a meaningful difference from position managers that ask you to grant a lasting operator approval over every NFT you own and trust them to behave.

Any ERC-20 with a Uniswap pool on Ethereum, whether or not it was created here. Tokens that tax transfers are the exception on concentrated pools, because v3 and v4 verify that the amount promised is the amount that arrived and refuse the deposit when it is short. Those work on v2.

0.002 ETH plus gas, and Uniswap itself charges nothing to deposit, so it is worth being straight about what the fee buys. Published prices across comparable tools run from 0.001 ETH to 0.015 ETH, and several publish nothing at all, so we are not the cheapest option here. The difference is what they actually do with a concentrated position: the ones that support v3 at all mint a brand new full-range NFT on every deposit, which fragments your liquidity into separate positions rather than deepening the one you have. Topping up the position you already own, at the range you already chose, is the thing being paid for.

Yes, at any time and in any proportion, unless the position was deliberately burned or locked. Remove liquidity withdraws from 1% to 100% and pays out a concentrated position's accrued fees along with it.

Top Up What You Have, or Open Something New

Almost every guide to adding liquidity teaches you to create a new position, because that is what the interfaces are built around. The more common situation, once you have spent time providing liquidity, is that you want more of it in a pool you are already in. Those are different actions with a constraint that is rarely spelled out: increasing an existing v3 or v4 position reuses its price range exactly. The contract reads the bounds from the position itself, and there is no way to pass new ones.

So the question answers itself. If the range still matches your view, top up, and you skip minting anything new. If your view has changed, a top-up cannot express that and you want a second position in the same pool instead, perhaps at a different fee tier. This tool offers both, along with your existing positions listed on connect so you do not have to go looking for a token ID. A v2 pair is the simple case: it covers the entire price range, needs no active management, and hands back LP tokens rather than a position.

One Version Spends Your Fees, the Other Does Not

Here is a difference between Uniswap versions that almost nothing on the internet mentions, and it changes what leaves your wallet. On v3, adding to a position updates the fees you have earned and moves them to your claimable balance, but does not pay them out and does not put them toward the deposit. You are charged the full amount you entered, and the fees stay there waiting to be collected.

On v4 the same action behaves differently: uncollected fees are counted toward the deposit first, and your wallet only covers the shortfall. Ask for twenty of a token when the position has already earned five, and five of those come from the fees. Neither is a bug, and each is defensible, but they are opposite behaviours wearing the same button. The simulation shown before you sign reflects whichever applies, so the number you see is the number that leaves.

The Real Risk Is the Pool, Not the Slippage

Depositing is not a swap, so there is no price to get filled badly at, and adding liquidity does not move the pool's price at all. The slippage tolerance is doing something narrower than people assume: it decides how far the pool's ratio may drift between building the transaction and mining it before the deposit reverts instead of quietly going in at different proportions. Hitting it costs gas, not principal.

The genuine danger when depositing into a pool somebody else created is that the pool's price has drifted from where the asset actually trades. Adding liquidity into a mispriced pool hands the difference to whoever arbitrages it back, and Uniswap's own warning about this is blunt, describing the possible outcome as full and permanent loss. It is worth a thirty-second check against a real market before depositing into anything thin or unfamiliar. If you are creating the market rather than joining one, the Ethereum pool creator is the tool for that instead.