Add Liquidity on Arc
Adding liquidity to an existing Arc pool increases depth, which reduces slippage for everyone and earns you a cut of every swap. This tool reads the pool's current reserves, tells you the exact ratio of both assets you need so you do not get rebalanced on entry, and adds them in the correct proportion. You keep custody of the resulting LP tokens.
- Service fee
- 50 USDC flat
- Network
- Arc Mainnet
- Gas token
- USDC (18 decimals)
- Custody
- Non-custodial
One 50 USDC payment per use, charged on Arc Mainnet. No percentage of your token, no subscription.
Add liquidity at the pool's own ratio
Paste the token or the pair, read the live reserves, and let the tool fill the second side of the deposit so your capital is not arbitraged away on entry.
One payment per use of the Add Liquidity tool. That is roughly 0.02 ETH in value, but the fee itself is settled in USDC: Arc Mainnet has no ETH, because USDC is the native gas token. Gas comes out of the same balance, so there is nothing to bridge and nothing volatile to buy.
Hard-coded in the contract at deployment as an immutable value. There is no setter and no admin key, so nobody — including Arctools — can redirect it.
You stay in control — Arctools never takes custody of your tokens or liquidity.
Find the pool
Paste either address — the tool resolves the rest.
Both work. A pair address is resolved to its non-USDC side automatically.
Deposit preview
What the pool will look like after this call.
- Service fee
- 50 USDC
- USDC leg of the deposit
- —
- Total USDC leaving your wallet
- —
- Pool USDC depth after
- 0 USDC
The deposit is not spent — it becomes your liquidity. The remainder of the USDC balance covers Arc gas, which is charged in the same token.
Connect a wallet to submit this transaction.
Native USDC (used for gas and msg.value) carries 18 decimals. The ERC-20 interface at 0x3600…0000 exposes the same balance with 6 decimals. Mixing the two in one calculation is off by 10¹² — Arctools always uses the ERC-20 interface for pool math and the native interface for gas and service fees.
Why both sides have to go in at the ratio the pool already holds
A constant-product pool holds two assets and prices them against each other with nothing but the ratio of the two reserves. If the pool holds 12,000 USDC and 400,000,000 tokens, the price is 0.00003 USDC per token, and that number is the pool. Depositing at a different ratio does not change the price you get — it changes what you receive.
Concretely: the pair mints LP in proportion to the reserves it already holds, so the leg you over-supply stays behind for everyone else. A pool holding 12,000 USDC and 400,000,000 tokens needs a 0.00003 USDC-per-token ratio. Turn up with twice as many tokens as that ratio implies and the surplus does not buy your token at your price — it is pooled, owned pro-rata by whoever already held LP, and arbitrage sells it out of the pool within seconds at a price you set by accident. That is why this form fills the second field for you from the live reserves, and why both fields stay editable rather than locked: you should be able to see and override exactly what you deposit.
The router enforces the same idea from the other direction. It takes the two amounts you asked for, recomputes the second one from the pool's reserves, and deposits whichever pair keeps the ratio intact — refunding the surplus back to your wallet in the same transaction. It also checks the adjusted leg against the minimum you set, so a pool that moves against you beyond your slippage tolerance reverts the call rather than depositing at a ratio you did not agree to.
One Arc-specific caveat: if the token charges a transfer tax, the manager measures what actually lands in its own balance and pools that, so the deposit is smaller than the number in the form rather than reverting. Check the token's tax settings — and make sure the pair is fee-exempt — before depositing into a taxed token's pool.
How liquidity providers actually earn on Arc
Every swap in a V2 pool pays a 0.30% fee, and the fee is not sent anywhere — it is left in the pool. A trader selling 1,000 USDC of tokens into the pool receives slightly less than the pure constant-product output because 0.30% of the input stays behind, growing both reserves. Since the LP tokens are a claim on those reserves, the fee belongs to liquidity providers in proportion to their share.
That gives an income estimate you can do in your head before depositing. If you hold 2% of a pool that turns over 1,000 USDC of volume a day, the fee pool generated that day is 3 USDC and your share of it is about 0.06 USDC — 0.30% of the volume, multiplied by your share. Two levers move that number: your share of the pool and the pool's volume. A large share of a quiet pool earns less than a small share of a busy one.
On Uniswap V2 there is no separate claim step. Fees accrue into the reserves, so they are already inside the amounts you see on this page, and you realise them by removing liquidity — partially, if you want to stay in the pool. On the same arithmetic, a position that has been in a pool through heavy volume is worth more per LP token than it was at deposit; a position in a pool that never traded is worth exactly what the price did to it, which is the subject of the next section.
Impermanent loss, honestly
Impermanent loss is the gap between providing liquidity and simply holding the two assets. It is not a fee, a bug or a scam — it is the mechanical consequence of a pool that is always willing to trade at the current ratio. As your token rises against USDC, arbitrageurs buy it out of the pool cheap and leave USDC behind; as it falls, they dump tokens into the pool and take USDC out. The pool always ends up holding more of whatever fell and less of whatever rose.
A worked example
Suppose you deposit 1,000 USDC and 2,000 tokens priced at 0.50 USDC each — the other 1,000 USDC of a 2,000 USDC position. The pool's invariant is 1,000 × 2,000 = 2,000,000. Now the token doubles to 1.00 USDC. The pool rebalances until the two reserves are equal in value again, which puts 1,414.21 tokens and 1,414.21 USDC in the pool: a position worth 2,828.43 USDC. Simply holding would have left you with 1,000 USDC plus 2,000 tokens worth 2,000 USDC — 3,000 USDC in total. The 171.57 USDC difference is impermanent loss: 5.72% of what holding would have paid.
Note what the pool did: it sold your best-performing asset the whole way up. You still profited in absolute terms — 2,828 USDC beats the 2,000 you deposited — but you underperformed the far simpler decision of doing nothing. The loss is symmetric in percentage terms for a move of the same size in the other direction, as the table shows.
| Token price vs USDC | Value of the LP position | Value if simply held | Impermanent loss |
|---|---|---|---|
| ×2.00 | 2,828.43 USDC | 3,000.00 USDC | 5.72% |
| ×1.50 | 2,449.49 USDC | 2,500.00 USDC | 2.02% |
| ×1.25 | 2,236.07 USDC | 2,250.00 USDC | 0.62% |
| ×1.00 | 2,000.00 USDC | 2,000.00 USDC | 0.00% |
| ×0.75 | 1,732.05 USDC | 1,750.00 USDC | 1.02% |
| ×0.50 | 1,414.21 USDC | 1,500.00 USDC | 5.72% |
Starting from a 2,000 USDC position split evenly across the pair, with zero fees earned. Fees reduce the gap; a 0.30% fee on meaningful volume is what pays for it.
Three things to take from the numbers. First, the loss is small for small moves — under 1% for a 25% move — and only becomes painful on the large, one-directional moves that happen around listings and news. Second, it is called impermanent because a round trip back to the original price erases it: the pool ends up holding the same quantities it started with. It becomes permanent the moment you withdraw at a different ratio. Third, the compensation is fees, and fees are a function of volume, not of how good the token is. A pool with no volume cannot pay for any divergence at all.
For a project depositing into its own pool the calculation has a second edge: the tokens you deposit are ones you created, so the USDC side is the only real capital at risk, and the depth you provide reduces price impact for buyers and realises your own supply into a market you control. Size the position against the fees you expect the pool to earn, not against how confident you feel about the token.
Slippage, minimums, and what a revert actually costs
Between the moment this page reads the reserves and the moment your transaction is included, someone can trade against the pool and change the ratio. The minimum amounts sent with the call are what cap that risk: they are derived from the reserves with the tolerance you selected, so a deposit that would settle more than your tolerance away from the quoted ratio simply fails.
Failing is cheap on Arc. Gas is charged in USDC at a 20 Gwei floor, so a few hundred thousand gas costs a fraction of a cent, and the flat service fee is only charged when the call succeeds. Repeated reverts are a signal that your tolerance is too tight for how busy the pool is, not that the tool is broken. Setting a tolerance so loose that it always succeeds is the worse mistake: it converts a cheap failure into an expensive fill.
A note on Arc finality: transactions settle in under a second and one confirmation is final, so the window in which the pool can move under you is measured in milliseconds rather than the minutes you would expect elsewhere. That is the main reason a 1% tolerance is generous here.
What Add Liquidity on Arc does
Every option you need to deepen an existing Arc Mainnet pool without disturbing the price — configured before you sign, not patched in afterwards.
Ratio matching
The pool's live reserves determine the ratio you must deposit. Entering the wrong ratio silently donates value to the pool, so the tool derives and displays the exact figures.
Pool share preview
See what percentage of the pool your deposit represents and the pool's current reserves before you commit, so you know whether the depth you are adding is meaningful.
Slippage-bounded deposits
Minimum amounts are set from the current reserves with a tolerance you control, so an unexpected swap in the same block cannot make your deposit settle at a worse ratio than you accepted.
Pool discovery
Paste a pair address or pick two token addresses and the tool resolves the pool, its LP token and its reserves automatically.
Lock the resulting LP
Newly minted LP tokens can be forwarded straight to the Arctools Liquidity Locker so the added depth is provably locked for a period you choose.
Read-only until you sign
Every figure on the page is read from Arc Mainnet. Nothing is submitted until you review the amounts and confirm in your wallet.
Add Liquidity on Arc — frequently asked questions
Straight answers about how this works on Arc Mainnet, what it costs and what happens onchain.
Why do I have to deposit both tokens?
How do I earn from providing liquidity on Arc?
What is impermanent loss?
Why does the tool ask for a minimum amount?
Can I add to any Arc pool or only pools I created?
How much does it cost to add liquidity on Arc?
More questions? Read the full FAQ or contact the team.
Guides for Add Liquidity
Long-form walkthroughs with the exact clicks, amounts and gotchas.
Add and Remove Liquidity on Arc Without Getting Wrecked
How ratio matching, slippage bounds and impermanent loss decide whether providing liquidity on Arc Mainnet pays, and how to plan a partial exit in advance.
Read the guideTools that pair with this one
Everything on Arctools shares one wallet, one USDC balance and one flat fee.
Arc Liquidity Pool Creator
50 USDC flatCreate a Uniswap pool on Arc Mainnet and seed it in the same flow.
Open Pool CreatorRemove Liquidity on Arc
50 USDC flatWithdraw part or all of your Arc Mainnet position, including fees earned.
Open Remove LiquidityArc Liquidity Locker
50 USDC flatLock LP tokens on Arc Mainnet until a date you choose and prove it onchain.
Open Liquidity LockerReady to add liquidity on Arc Mainnet?
Connect a wallet, pay 50 USDC once, and everything settles in under a second.