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.
The short version
7 steps, roughly 14 minutes of clicking. The full walkthrough is below.
- 11. Connect your wallet and locate the poolConnect to Arc Mainnet and paste either the pair address or the two token addresses. The tool resolves the pool, its LP token and its live reserves from Arc Mainnet.
- 22. Read the reserves and the ratio they implyThe pool balances two assets in a fixed ratio. Read the reserves before entering an amount, because that ratio is the only one you can deposit without donating value.
- 33. Enter one side and let the tool match the otherType the amount you want to put in on one side and the tool computes the exact amount required on the other, along with the share of the pool your deposit represents.
- 44. Set your slippage tolerance and check the minimumsMinimum amounts are derived from current reserves with a tolerance you choose. If someone trades the pool beyond that tolerance before your deposit lands, the transaction reverts instead of filling at a worse ratio.
- 55. Understand impermanent loss before you depositA pool rebalances as prices move, selling the asset that appreciates. That divergence from simply holding both is the real cost of providing liquidity and it must be weighed against the fees you earn.
- 66. Confirm the deposit and pay the flat feeApprove the token, sign the 50 USDC service fee and confirm the deposit. The pair is created if it does not exist, and the LP tokens are minted to your wallet or sent to a locker.
- 77. Plan the exit with a partial withdrawalRemoving liquidity returns your share of both reserves including accrued fees. Withdrawing a percentage leaves the rest working, so you can recover your initial capital without closing the position.
Providing liquidity is a business, not a favour. You supply both sides of a pair, you collect 0.30% of every swap that passes through it, and in exchange you accept that the pool rebalances your holdings as the price moves.
This guide covers both directions with Arctools. Add Liquidity matches the ratio the pool requires and bounds your deposit against last-second movement. Remove Liquidity previews exactly what each percentage returns, so a withdrawal is a decision rather than a surprise.
Before you start
- A wallet on Arc Mainnet. Chain id 5042, RPC
https://rpc.mainnet.arc.io, explorerhttps://explorer.arc.io. Gas is USDC, so the fee and the gas come from the same balance. - Both sides of the pair. To add liquidity you need the token and the USDC in the correct proportion. There is no way to deposit one side only — the second amount is computed for you.
- A tolerance you have thought about. 0.5% is tight, 2% is comfortable, 5% is loose enough to be a mistake on a thin pool.
- A fee budget. Each operation is a separate 50 USDC service, so three small deposits cost the same as three large ones. Batching your liquidity operations is cheaper than dribbling them in.
Note on Arc specifics: the pool always uses the ERC-20 interface of USDC at 0x3600000000000000000000000000000000000000 with 6 decimals, while gas uses the 18-decimal native interface. Same balance, two representations. If your deposit reverts with an amount error, check that you are thinking in ERC-20 USDC units and not native ones. Arc's EVM differences documents the split.
1. Connect your wallet and locate the pool
Paste the pair address, or paste the two token addresses and let the tool derive the pair. It then reads the LP token address, the reserves and your LP balance directly from Arc Mainnet. Everything on the page is a live read; nothing is cached from a previous session.
If the pair does not exist, the flow switches to creation — that is the pool creation guide. If the pair exists but has no reserves, adding liquidity is effectively setting the opening price, and you should treat it with the same care.
2. Read the reserves and the ratio they imply
A constant-product pool holds two assets, and its price is nothing more than the ratio of the two reserves. The arithmetic that follows from that is unforgiving: if you deposit at a ratio different from the current one, you have effectively given the difference to the pool. Arbitrageurs take it within seconds, and nothing warns you.
The tool displays the reserves so you can sanity-check the ratio yourself. If the pool holds 12,000 USDC and 400,000,000 tokens, the implied price is 0.00003 USDC per token, and any deposit you make has to respect that relationship.
3. Enter one side and let the tool match the other
Type the amount you want to commit on either side. The tool computes the other side from the reserves and shows you the pool share your deposit will represent.
Pool share decides your income: a 2% share of a pool that turns over 1,000 USDC a day earns about 0.60 USDC a day in gross fees. Do that arithmetic before you deposit, not after.
For a token you launched yourself, remember the pair must be exempt from tax and from any max wallet limit. A taxed pair will under-deliver on the token side and can revert your deposit against the minimums.
4. Set your slippage tolerance and check the minimums
Between your quote and your confirmation, another trader can hit the pool and move the ratio. The minimum amounts cap what that can cost you: the tool derives them from current reserves with a tolerance you choose, and if the ratio moves beyond them the transaction reverts rather than filling badly.
Choose deliberately:
- Tight (0.5%) protects the ratio but reverts more often on any pool with real activity.
- Moderate (1–2%) is the practical default for a pool with meaningful depth.
- Loose (5%+) will almost always succeed, which is exactly the problem — it lets you deposit at a ratio materially worse than the one you approved.
A revert costs the gas and nothing else, so repeated reverts are a signal that your tolerance is too tight for the pool's activity, not that the tool is broken.
Arc's finality is deterministic and sub-second, so a submitted transaction either lands immediately or reverts immediately. You are not competing with a pending state where the pool can move under you for minutes on end.
5. Understand impermanent loss before you deposit
Impermanent loss is the gap between providing liquidity and simply holding the two assets. It exists because a pool automatically sells whatever appreciates: as the price of your token rises against USDC, the pool holds less of the token and more USDC than you deposited, and vice versa on the way down.
The standard example, in round numbers. You deposit 1,000 USDC and 1,000 USDC worth of a token into a 50/50 pool, a 2,000 USDC position. The token doubles against USDC. The pool rebalances so the two sides are still equal in value: your position is now worth about 1,414 USDC, while simply holding both assets would have been worth 2,000 USDC. The 286 USDC difference is impermanent loss, roughly 5.7% of the hold value.
It is called impermanent because a price round-trip back to the original ratio reverses it. It is real, however, in three senses:
- If the price does not return, the loss becomes permanent the moment you withdraw.
- Fees have to beat it. Your share of the 0.30% swap fee is the compensation; a pool with no volume cannot pay for any divergence.
- It is asymmetric in practice. Downside moves hurt holders and LPs together, while upside moves are where the divergence bites hardest — the pool sells your best-performing asset.
Adding liquidity to your own launch pool is therefore a position-sizing decision as much as a technical one. Deep liquidity helps the token look tradeable and reduces slippage for buyers, and the capital you commit is at risk of losing relative value against a plain hold.
6. Confirm the deposit and pay the flat fee
Approve the token, sign the flat 50 USDC service fee and confirm the deposit. The pair is created if it does not exist, and the LP tokens are minted to your wallet.
Two options worth knowing before you sign. Newly minted LP tokens can be forwarded straight to the Arc Liquidity Locker so the depth you just added is provably locked. And adding liquidity is the normal way to deepen a pool ahead of public attention: more depth means a 1,000 USDC buy moves the price 2% instead of 9%, as the pool creation guide works through.
7. Plan the exit with a partial withdrawal
Removing liquidity returns your proportional share of both reserves, and because the pool has been collecting swap fees, those reserves are larger than the total deposited. On Uniswap V2 there is nothing to claim separately: fees accrue into the reserves and are included in what you withdraw.
You can withdraw a percentage or specify exact amounts. What you cannot do is withdraw only one side — a withdrawal is always pro-rata, both assets together. If you want USDC specifically, withdraw first and then swap; the swap pays the 0.30% fee to the pool, and you are one of the pool's owners, so a share of that fee comes back to you.
Practical notes for the exit:
- Partial exits are the tool's main use. Taking out 25% recovers capital while leaving the rest earning, and it avoids the all-or-nothing timing problem of a single full withdrawal.
- Fee proportionality matters. Each removal costs 50 USDC of service fee. Withdrawing a 200 USDC position in five transactions costs more in fees than the position earns in months.
- Locked positions are detected. If the LP tokens are held by the locker, the tool tells you up front rather than building a transaction that cannot succeed. You will be able to withdraw after the unlock date; see lock liquidity on Arc Mainnet.
- Removing your own unlocked liquidity is not a rug. It is position management. The reason lockers exist is precisely so that buyers can distinguish the two.
What it costs
| Item | Add liquidity | Remove liquidity |
|---|---|---|
| Arctools service fee | 50 USDC flat | 50 USDC flat |
| Gas | Cents | Cents |
| Approvals | Only if allowance is short | Only if allowance is short |
| Assets moved | Both sides of the pair | Both sides returned to you |
Gas arithmetic: the Arc fee floor is 20 Gwei, so 100,000 gas costs 0.002 USDC and a million gas costs 0.02 USDC. A V2 add or remove typically consumes a few hundred thousand gas, which makes the gas line a rounding error next to the flat fee. When minimum amounts revert your deposit, the only cost is that small amount of gas — which is why a tighter tolerance is usually the better trade.
Common mistakes
- Depositing a mismatched ratio. The pool silently keeps the difference. Match the ratio the reserves imply, every time.
- Setting tolerance to avoid reverts instead of to bound risk. Loose slippage converts a cheap failure into an expensive fill.
- Expecting to withdraw one side. Removals are pro-rata. Swap after, if you need a single asset.
- Ignoring impermanent loss until it shows up. Model the divergence before you deposit; afterwards it is just a result.
- Forgetting the pair exemption. Taxes or wallet limits applied to the pair break deposits and trades at unpredictable sizes.
- Micro-managing with many small operations. Every add and remove carries the same flat fee, so batch your changes.
- Trying to withdraw locked LP. A locker with no early exit means exactly that. Plan the duration before you lock, not after.
- Waiting for confirmations. One confirmation is final on Arc; there is nothing further to wait for.
Where to go next
If the depth you just added is meant to be permanent, lock the liquidity so the position is verifiable rather than merely asserted. If you are still finalising the launch itself, the standard launch walkthrough covers the deployment settings that make a pool work, and the bundle launch guide covers setting an opening price with coordinated buys inside one atomic transaction.
Deepen an existing Arc Mainnet pool without disturbing the price. It costs a flat 50 USDC on Arc Mainnet. Open Add Liquidity on Arc →