Adding liquidity to pools on Sonic
To provide liquidity to Sonic pools:
Select the pool where you want to transfer liquidity, e.g., xsArbitrum.
Determine the required token amounts.
For the Arbitrum example, you need 25% frxUSD and 25% scUSD to obtain 50% xfrxUSD and 50% sUSDC_arb (percentages are based on the total liquidity you plan to transfer to the xsArbitrum pool).
Obtain the synthetic token for this direction, in this case, sUSDC_arb.
For USD pools, acquire xfrxUSD tokens. For example, deposit an equal amount of frxUSD and scUSD into the CrossCurve frxUSD pool.
Deposit the universal token and the directional (synthetic) token into the paired pool.
Let's examine each step:
1. Obtaining xfrxUSD via the Curve App interface
To obtain the LP token xfrxUSD, you need to provide liquidity in the CrossCurve frxUSD pool: https://curve.finance/dex/sonic/pools/factory-stable-ng-25/deposit/.
Go to the CrossCurve frxUSD pool page and connect your wallet.
Enter the desired deposit amount on the Deposit tab. To avoid losses due to slippage, it’s recommended to deposit funds in a balanced manner by clicking Add all coins in a balanced proportion (learn more here).
In the first transaction, confirm the spending of funds by clicking Approve Spending and signing the transaction in your wallet.
In the second transaction, deposit the funds by clicking Deposit and signing the transaction in your wallet.
After the transaction is successfully confirmed on-chain, your wallet will display the amount of received xfrxUSD LP tokens.
If your wallet doesn’t support automatic token addition, add it manually as a custom token with the contract address 0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84 on the Sonic network.
2. Obtaining sUSDC_arb
sUSDC_arb tokens on the Sonic network can be swapped from any available asset in the xsArbitrum pool via the CrossCurve app.
Navigate to the Liquidity tab in the Yield section. Select the Balanced mode and click Next.
Enter the desired amount to swap, approve the spending by clicking Approve, and sign the transaction in your wallet.
Click Swap to execute the exchange and confirm the transaction in your wallet.
If you know the swap direction, the exchange can be performed in the Trade tab using Advanced mode
with any available asset.
Note: Some directions may experience high slippage!
3. Adding liquidity to xsArbitrum pool via Curve
Navigate to the CrossCurve Stable ARB pool page: https://curve.finance/dex/sonic/pools/factory-stable-ng-73/deposit/ and connect your wallet.
Enter the desired deposit amount in the Deposit tab. To avoid losses due to slippage, it’s recommended to deposit using the balanced method by clicking Add all coins in a balanced proportion (more details here).
In the first transaction, approve the spending by clicking Approve Spending and sign the transaction in your wallet.
In the second transaction, deposit the funds by clicking Deposit and sign the transaction in your wallet.
After the transaction is confirmed on-chain, the amount of received xsArbitrum LP tokens will appear in your wallet and in the Your Details tab.

If your wallet doesn’t automatically add the token, manually add it as a custom token using the contract address 0x440bcab62d629ba60ca56b80e565636e0c404e60 on the Sonic network.
Last updated