# 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.

{% hint style="success" %}
*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).*
{% endhint %}

* Obtain the synthetic token for this direction, in this case, [**sUSDC\_arb**](https://docs.crosscurve.fi/user-documentation/migration-to-sonic/liquidity-transfer-from-fantom-to-sonic#obtaining-susdc_arb).
* For **USD** pools, acquire [**xfrxUSD** ](https://docs.crosscurve.fi/user-documentation/migration-to-sonic/liquidity-transfer-from-fantom-to-sonic#obtaining-xfrxusd-via-the-curve-app-interface)tokens. For example, deposit an equal amount of [**frxUSD** ](https://docs.crosscurve.fi/user-documentation/migration-to-sonic/liquidity-transfer-from-fantom-to-sonic#obtaining-frxusd-on-sonic-using-crosscurve-and-frax-bridge)and [**scUSD** ](https://docs.crosscurve.fi/user-documentation/migration-to-sonic/liquidity-transfer-from-fantom-to-sonic#obtaining-scusd-on-sonic-using-crosscurve-and-rings-app)into the [**CrossCurve frxUSD**](https://curve.finance/dex/sonic/pools/factory-stable-ng-25/deposit/) 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** <a href="#obtaining-xfrxusd-via-the-curve-app-interface" id="obtaining-xfrxusd-via-the-curve-app-interface"></a>

To obtain the LP token **xfrxUSD**, you need to provide liquidity in the [**CrossCurve frxUSD**](https://curve.finance/dex/sonic/pools/factory-stable-ng-25/deposit/) pool:[ https://curve.finance/dex/sonic/pools/factory-stable-ng-25/deposit/](https://curve.finance/dex/sonic/pools/factory-stable-ng-25/deposit/).

Go to the [CrossCurve frxUSD](https://curve.finance/dex/sonic/pools/factory-stable-ng-25/deposit/) pool page and connect your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXe6ht4rrmW8xK3yPz9Y4PxLS6FqwZ37n5UssZ10dy-6mnFgb5keCya_hzkjrjzSJw5v4UKVjaJns-nRlxMMnuOUIR7VG3m7VccrGXONxxIQjpWasWYulwCMkrbkETjC-m5_N4jn4Q%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=22abc3bf&#x26;sv=2" alt=""><figcaption></figcaption></figure>

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](https://docs.crosscurve.fi/user-documentation/liquidity-interface/liquidity-provision-use-cases/curve-knowledge-database/balanced-liquidity-provision)).

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXeeNhAu413QMe_qfCGQ1h1cbzsWkQ920LD4OlwcIC6gaelWESm8EcwhmlhXuZNldE7Yiifri8Crm25XzVGLjkQxzPMPdVWORONvB93rtnsfsELQShFwWLSEKfDN2WuuwBRdeWWm%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=bd9b929f&#x26;sv=2" alt=""><figcaption></figcaption></figure>

In the first transaction, confirm the spending of funds by clicking **Approve Spending** and signing the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcNXdK498D0k7V7f6S2jgFHZ5-OTK-RTeNE4FS0AiyIiXhSilodJsWd_vaONeDdJ-3HKCPTa2_qnC0FX2C7L0LcArnqOQsibUeFtTTYwpU1gOzUhqulBHD40kTXXLtLQg8njGGk%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=d500f4a2&#x26;sv=2" alt=""><figcaption></figcaption></figure>

In the second transaction, deposit the funds by clicking **Deposit** and signing the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXclGastFVCL0waSV-QR3MgDKFOJJhgDaQ5_2XZvB5hub05iHlSQh-JEY_okE_MyzQYLCO6tS3MM9dtvLmGfBN8H1-XM7kuO_3S3UvId2OJ1ppb_caAAAI3kDcAbHshlMgdVo0n8%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=76004335&#x26;sv=2" alt=""><figcaption></figcaption></figure>

After the transaction is successfully confirmed on-chain, your wallet will display the amount of received **xfrxUSD** LP tokens.

{% hint style="success" %}
*If your wallet doesn’t support automatic token addition, add it manually as a custom token with the contract address* [*0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84* ](https://sonicscan.org/address/0xf1232a1ab5661abdd6e02c6d8ac9940a23bb0b84)*on the **Sonic** network.*
{% endhint %}

### 2. Obtaining sUSDC\_arb <a href="#obtaining-susdc_arb" id="obtaining-susdc_arb"></a>

**sUSDC\_arb** tokens on the **Sonic** network can be swapped from any available asset in the **xsArbitrum** pool via the [CrossCurve](https://app.crosscurve.fi/liquidity?pool=0x440bcab62d629ba60ca56b80e565636e0c404e60\&type=curve\&action=deposit\&output=0xd3dce716f3ef535c5ff8d041c1a41c3bd89b97ae\&chainOut=146) app.

1. Navigate to the **Liquidity** tab in the **Yield** section. Select the **Balanced mode** and click **Next**.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXffDk6rg4AaXoz8HvlzivceIPadbY7jHzNa32_pMcQ5H8GgEiWXfvIbhR9K4a7PXH9JjUSF7CP7dlKyHfrRlz4mW_IRDaw2_IKsrsRWg2pxnVMB4RpP6bYOUcOQvpNVCwat6_lsjg%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=3e0878bb&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Enter the desired amount to swap, approve the spending by clicking **Approve**, and sign the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdDLd9iZCrP4PzVBw2bFxcDfJ592AapjZo-TU3T_CY29poxAVzadmEZgEaIvLd3o2PntKOzo1CSWSv9HN6pGdtuDv0YNGRtgpJUrR67hyIAGXHtLpVXn5oCuBgfnQoCkpCWvNP2MQ%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=fd18659b&#x26;sv=2" alt=""><figcaption></figcaption></figure>

Click **Swap** to execute the exchange and confirm the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdcUv3qx0ti32qTm1yZWBGxk6lyLgppmIwkjGWw-5aSHX0P-WQxhBZvwHUygbocF9KpSx1RvHgxEvQqKF6ue0-tWpKOFE9OPeg4auJ0eAjDn8JMK0LQUwcnuasXE4fInzJ8IDA6og%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=7f682196&#x26;sv=2" alt=""><figcaption></figcaption></figure>

1. If you know the swap direction, the exchange can be performed in the **Trade** tab using **Advanced mode** ![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXeEHSW7_n2zwaRaWPyGdiU4PI4KhSY_L-gMrAypAXDf1zsRodyCxoLsSFkVvUAivaHGPTW1EDuAcMMayUIakzeiIQFtRykINux5WsFNAoslJ6h3Jw17wVRd1_aZTS0T75fb7F06NQ?key=WmrHq-SRelBtsHjypuiR4g) with any available asset.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXf2QklHIooACOMHHdfeAzT0KHolQnZy40kgWSXexjrh0Nvms2DIQfWb6-uuU36Snht93yDn54-1nJsKGS2jdSPCuXKuw3UWIQC7cS4unY2zQIzOsvI7pciLRVp8_F-k0mRgcJ_whw%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=6d7e3b0f&#x26;sv=2" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
***Note**: Some directions may experience high slippage!*
{% endhint %}

### 3. Adding liquidity to xsArbitrum pool via Curve <a href="#obtaining-lp-xsarbitrum-via-curve" id="obtaining-lp-xsarbitrum-via-curve"></a>

Navigate to the [CrossCurve Stable ARB](https://curve.finance/dex/sonic/pools/factory-stable-ng-73/deposit/) pool page:[ https://curve.finance/dex/sonic/pools/factory-stable-ng-73/deposit/](https://curve.finance/dex/sonic/pools/factory-stable-ng-73/deposit/) and connect your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcTvzq3Mgnecf7i4MmA_RHNpqRP1R0o9QnViy04jMmykH5GP5g49begK2kQz8G6vT-2vL5U-hRvmcgupnwlKrHNl8ACdH8j6cucDxST5DVhp4sFF02ep00xdL9r3P-L6_7tJ_uS_A%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=d7b8723e&#x26;sv=2" alt=""><figcaption></figcaption></figure>

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](https://docs.crosscurve.fi/user-documentation/liquidity-interface/liquidity-provision-use-cases/curve-knowledge-database/balanced-liquidity-provision)).

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXdIk-LDxcgGHY7ysJA_LIJ9tk8neFCXuBYC2gPubI3gUEJRaNS_FqRPVdkZa3Y-NyDHJDWW5jMhwTpThSzOXApk_I0IcCzDCUhxQF-YGeB2vNxZ04dQWaCnZKGmETvH9hX6wZcy4g%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=ba8b1a37&#x26;sv=2" alt=""><figcaption></figcaption></figure>

In the first transaction, approve the spending by clicking **Approve Spending** and sign the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXfKaypv2dgQLD1JdNTT9RCb-UQPO2BRujJoY8hu7YyWTeP_6kddjhng9svTZCNLVa1U149OHWzzMv2Vza7oYjrhwUYm8dH4bg_zBJQOh9MCov0ag6-XDKtsVJL-kKvfu5hbCpwoTQ%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=9e67e4e1&#x26;sv=2" alt=""><figcaption></figcaption></figure>

In the second transaction, deposit the funds by clicking **Deposit** and sign the transaction in your wallet.

<figure><img src="https://docs.crosscurve.fi/~gitbook/image?url=https%3A%2F%2Flh7-rt.googleusercontent.com%2Fdocsz%2FAD_4nXcfSj05LZ-S1x7K-OlcuV9Xz9cm6iQmMIutA2403PR6P7ER97OdSnnYnB1kxyA7lbz-C9nIesvUv3YyIxj621s_a_iCI4EQxSfJyqu2MBUjO18AVf1Nrq_FErZlLtbRrhWrqy515A%3Fkey%3DDjinIJuhuMxEvVMyPZR-qYsk&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=3a11f111&#x26;sv=2" alt=""><figcaption></figcaption></figure>

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.

<figure><img src="/files/0zwnBe1MGxH42wFYoCyd" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
*If your wallet doesn’t automatically add the token, manually add it as a custom token using the contract address* [*0x440bcab62d629ba60ca56b80e565636e0c404e60*](https://sonicscan.org/address/0x440bcab62d629ba60ca56b80e565636e0c404e60) *on the **Sonic** network.*
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.crosscurve.fi/user-documentation/liquidity-interface/liquidity-provision-use-cases/deposit/via-curve-balanced/adding-liquidity-to-pools-on-sonic.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
