Migrate from V1 to V2

Learn how to supply liquidity to the DFX AMM Liquidity Pools and earn DFX tokens.

Step 1: Connecting your wallet and finding your Position.

Example of V1 UI
Go to, connect your wallet and find the liquidity pool (LP) you are currently providing to. If you are already providing to an LP, it should show your position at the top of the page. (Image from Step 2)

Step 2: Unstaking your LPTs

If you are currently earning emissions (DFX Rewards), then you should see the “Staked” tab indicate your positions. Meaning you have LPTs (Liquidity Pool Tokens) staked and you will need to click the “Unstake” button to remove them from the current V1 contract.
Pro tip: hit “Unstake all and claim rewards” to unstake all LPT and claim rewards from the staking contract in one transaction.
If your “Unstaked” tab says anything other then (0), then you already have your LPTs unstaked and you can move forward to step 3, removing your liquidity.

Step 3: Removing your Liquidity

Once you have your LPTs unstaked, you can move forward with clicking the “Remove liquidity” button, right next to the blue “stake” button.
Once you click “Remove liquidity”, you will receive a similar box with the amount of LPTs (Representing the amount of liquidity you have in the LP) you wish to withdraw. Since you are withdrawing all, you can either input the amount on the left where (0.0) is, or you can click the the full amount on the right (32.93) and it will auto populate the full amount.
As you can see, I choose to click the max amount on the right and I can now click “Remove Liquidity”.
(You will need to preform a transaction to confirm the Removing Liquidity action.)
Congratulations! You have successfully removed liquidity from the DFX V1 contracts! 🥳

Step 4: Connecting your wallet to V2

Now that you have successfully removed your liquidity from the V1 contracts, you can now go to the new URL for V2 and proceed to deposit your liquidity and stake your LPTs for emissions! ✨
Go to the V2 URL: 👈 and connect your wallet.

Step 5: Adding Liquidity to V2

Example of Two Sided
One of the big issues that has been fixed in the V2 contracts was an invariance issue with LPs not being able to deposit their desired amount of liquidity into the LP of their choosing.
Example of Single Sided
Now that I have found the liquidity pool I want to provide to (CADC/USDC) and how I want to deposit (single sided or two sided), I can now input my desired amount and click “Add liquidity”.
You will have to preform two transactions, one for allowing the protocol to access the coin/token you are depositing (in this case, USDC) and one for actually depositing the liquidity.
Example of liquidity successfully being added!
You have successfully migrated your liquidity to the DFX V2 contracts! However, there is one final step to go through to make sure you earn that juicy APR! 🤑

Step 6: Staking your LPTs on V2

Example of unstaked LPTs
Note: You will not be able to stake your LPTs until Thursday (October 20th) when the first epoch for veDFX goes live!
Now that you can see your “Unstaked” LPTs, the last thing you will need to do is click the blue “Stake” button under the “My Positions” section.
Example of clicking Stake for LPTS
A small box will pop up to the foreground where you can input the amount of LPTs you would like to stake (LPTs represent your position in the LP). Once you have put in your desired amount, you can click the big blue “Stake” button and confirm the two transactions! Again, one for allowing the protocol to access the coin/token you are depositing (in this case, the LPT) and one for actually depositing the liquidity. ✅

Congratulations you have successfully migrated your liquidity and staked your LPTs! 🥳✨

Example of LPTs being staked successfully
As you can see, my LPTs are successfully staked and I will start incurring DFX rewards! If you need any additional help, please reach out to either a core contributor or one of the DFX Ambassadors through one of our community channels and we will be more then happy to help. 🍻
If you would like a step by step guide for adding liquidity, please take a look at the link below!

Bridging to Polygon 🌉

You can bridge USDC, CADC, EURS, XSGD and DFX using the Polygon/Matic bridge available here:
The cost associated with bridging is about 100,000 to 150,000 gas which is roughly equal to making a standard swap in any AMM. At about 20-30 gwei gas price, it should be under $10 to bridge tokens to Polygon.
Allow about 10 minutes after the transaction has been mined on Ethereum for it to appear in the same wallet on Polygon. You can view your wallet on similar to
We also included a direct link to the Polygon Bridge under our FAQ section.