# Liquidity transfer from Fantom to Sonic

**CrossCurve** liquidity pools are starting their migration from the **Fantom** network to the **Sonic** network (learn more here). In this step-by-step guide, we will explore how to transfer your liquidity safely and profitably.

{% hint style="success" %}
***Please carefully read the entire list of required actions for transferring liquidity before starting the process.***
{% endhint %}

When migrating to **Sonic**, keep in mind that the architecture of the pools has changed — instead of 8-directional paired pools are now used. Therefore, before transferring liquidity, please decide which paired pools you will transfer your liquidity to and how you will do it:

* &#x20;You can simply withdraw liquidity from a pool with 8 tokens and distribute it across 8 corresponding paired pools.&#x20;
* Alternatively, you can divert all liquidity from the old 8-directional pool to a single paired pool or split it across several.&#x20;

> *It’s also important to understand that, unlike the previous architecture, paired pools now include not only the directional (**synthetic**) token but also a "**universal**" token (**xfrxUSD** for **USD**, **xfrxETH** for **ETH**, and **scBTC** for **BTC** assets). Thus, transferring liquidity will require both the destination token and the "local universal" token.*

<details>

<summary>Learn more about the changes in pool architecture.</summary>

#### Pool Hub-Chain Structure Update

This update will also affect the structure of the pool hub-chain. The previous pool system used **Curve** stable pools with 8 assets, connected via liquidity provider (LP) tokens from one or more pools:&#x20;

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfz_fcNSQ_spxAu0rvQfVwgIFNWPCLz7sR_d3A67XVTX3I8o7SXIGgxteVAupdmaaqEsSLe4XDAwQWTf6xqNQGljC8tnIxU1keHsLBbaXFe4K521x3pVYWNe1DDdDHh3U3D0XbT?key=DjinIJuhuMxEvVMyPZR-qYsk)

**V1**\
Pools (**xSTABLE**, **xSTABLE2**, **xSTABLE3**) consist of 8 synthetic derivatives backed by the original asset locked in LP tokens on **Curve**.

**CrossCurve MetaLayer** introduces a fundamentally new approach—liquidity isolation, where each pool contains liquidity for only one direction:&#x20;

<img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXflP3UhU0U-dKdW68WZjq3f0xN3JAbJof2HKxKo6JC9V5yq1hUci92iDD7wg3rJgSesmd_V0bREh6ZxfsoOLVRrWXwyOVauhRq47dKFKf9Zva-TZ3Ix5tjDTSyIh6LCPl5cz351jg?key=DjinIJuhuMxEvVMyPZR-qYsk" alt="" data-size="original">

**V2**\
Each paired pool in the hub-chain consists of two tokens:

* **A universal token**—an asset from **Sonic**, common for all pools of the same type (**xfrxUSD** for **USD** assets, **xfrxETH** for **ETH**, and **scBTC** for **BTC**).
* **A synthetic derivative**, backed by the original asset locked in the **Consensus Bridge**. This can be either a single asset or LP tokens from **Curve**.

As a result, all **xSTABLE** pools will transform into 20+ paired pools. When transferring liquidity, it won’t be possible to do a one-to-one transfer, as paired pools require an additional "**universal**" pool token.

</details>

There are numerous ways to transfer liquidity, and it’s impossible to describe every scenario, so we’ll outline the key general steps:

1. Choose the pool to which liquidity will be transferred, such as **xsArbitrum**.
2. Determine the amoun of each token needed. In the **Arbitrum** example, you’ll need 25% **frxUSD** tokens and 25% **scUSD** tokens to obtain 50% **xfrxUSD** and 50% **sUSDC\_arb** (percentages are based on the total liquidity planned for transfer to the **xsArbitrum** pool).
3. Obtain the **synthetic** token corresponding to this direction—in this case, **sUSDC\_arb**.
4. For **USD** and **ETH** pools, you’ll need to obtain **xfrxUSD** or **xfrxETH** tokens, respectively. To do this, in **Sonic**, you need to acquire **frxUSD**, **scUSD**, **frxETH**, and **scETH** accordingly. For example, you’ll need equal amounts of **frxUSD** and **scUSD** to deposit into the **CrossCurve frxUSD** pool.
5. Deposit the **universal token** and the destination token (**synthetic**) into the paired pool. In our example, you’ll need to deposit **xfrxUSD** and **sUSDC\_arb** into the **CrossCurve Stable ARB** pool.

## Brief list of all actions for Liquidity Transfer

If you provided liquidity to **CrossCurve** pools on the **Farms** tab in the **Fantom** network, you’ll need to follow these steps to transfer your funds from the **Fantom** network to the **Sonic** network:

1. **Unstake** your position on the **Farms** page.
2. Decide which pools your liquidity will be transferred to:

* You can distribute liquidity across 8 directions.
* You can choose one or several directions.

3. Decide which method you’ll use to transfer liquidity:

* * In **Easy Mode**, directly swap LP tokens from the pool for the required tokens.&#x20;

{% hint style="warning" %}
***Note**: This may result in losses due to conversion and slippage. For low liquidity pools and large amounts, losses can be significant.*
{% endhint %}

Examples of swap directions in **Easy Mode**:

* **xSTABLE** → **sUSDT\_eth**
* **xSTABLE3** → **sUSDC\_arb**
* **xSTABLE2** → **sUSDC\_ba**
* * In **Balanced Mode**, withdraw 8 synthetic tokens from the LP token and swap them directly.

{% hint style="success" %}
*This method is more labor-intensive but allows for the most cost-effective swaps and is better suited for large liquidity amounts.*
{% endhint %}

Examples of swap directions in **Balanced Mode**:

* **s3CRV\_e** → **sUSDT\_eth**
* **s2CRV\_ar** → **sUSDC\_arb**
* **s4pool\_b** → **sUSDC\_ba**

4. Swap your **FTM** for **S** (or obtain **S**) to pay for gas (gwei).
5. Obtain the **universal token** for paired pools:

* For **USD** pools, obtain the LP token **xfrxUSD**.
* For **ETH** pools, obtain the LP token **xfrxETH**.
* For **BTC** pools, obtain the **scBTC** token.

6. Obtain a synthetic token corresponding to the desired direction (e.g., **sUSDT\_eth**, **sUSDC\_arb**, **sUSDC\_ba**, etc.)
7. Deposit liquidity into the pools:

* To obtain **xfrxUSD**, deposit **frxUSD** and **scUSD** into the pool.
* To obtain **xfrxETH**, deposit **frxETH** and **scETH** into the pool.

7. Lock liquidity in the new pools on the Sonic network to earn profits.

{% hint style="danger" %}
***Important Note**: Rewards distribution in **CrossCurve** pools on the **Fantom** network will end at the conclusion of the current epoch. Voting for these pools and reward distribution to **DAO** participants in these pools will be paused. Starting from the next epoch, voting for reward allocation in the new pools on the **Sonic** network will begin.*
{% endhint %}

## Detailed description of Liquidity Transfer actions

<details>

<summary><strong>Unstake LP tokens from CrossCurve Pools on Fantom</strong></summary>

Go to the **Farms** staking page to view all available pools and the size of your positions in them.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXde1yx6KfokUJqxK19O3TOiZT9PIjdhPrBvy55QPAxxqLexAJxW0OoYkw2Xy4ImHStBhgjIzIJK1iNKNuNORbr5QW7qRSeAn4c7ngf0MFhzR_CUe6E7_gi38kgqrtWwyXPTN45zNg?key=DjinIJuhuMxEvVMyPZR-qYsk)

1. First, withdraw accumulated rewards by clicking **Claim in all pools** and signing the transaction in your wallet.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXef8msf4R2Ljpwv9MTu_YTkgYMGd0V2NRnsDGZ6xD_jcmhtjXzTwkxpniocfGLbiFujWnk7OTIhakXSDFXCcW18y7cLETTt-6sJBSGSNTs5nlu6RS7edHOxvvKgoVqKkyjKO5txFw?key=DjinIJuhuMxEvVMyPZR-qYsk)

2. After successfully claiming rewards from the pool, click **Unstake** to withdraw LP tokens from staking.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfRDVZPx7DxTyzqSTV8QBJy73IqAEbbMXYewJ6r4c0vt_CrvcfK3e0SeiMn4wscOO5iTZRQTCVT8CK-cYVao2wFasu8hztc2Dsn0fPmyRYQUNfOw4aYeAiLN_O18h3VuqcDw1IdhQ?key=DjinIJuhuMxEvVMyPZR-qYsk)

3. In the modal window, to select the maximum number of LP tokens to withdraw, click **MAX** next to the token balance in your wallet, then click **Unstake** to withdraw your liquidity from the pool and receive LP tokens on the **Fantom** network.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXd9MZfmpvdaXw_qDJkpWShZKtY44esTFNvZsWxxeYWRQFyIJpD4KqHx9Q0drNX-IqVP8Rt0zu96W3VerYR2MUzuTo58o9nJJ6-jglO9knAbk6jtgnmnO9iVtUUxRgkk05RQHHcZ?key=DjinIJuhuMxEvVMyPZR-qYsk)

4. Sign the transaction in your wallet.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfgcFq-BvJ9ejAE77_NnquCtKkIP9Fvt2Wm25Vu43PdyS31qB3DmDtagsxyav7C99oPY5y_AXjPzzPjQC1MgcP_V3DizOBc_VaqdZFtrcMCHvp4AAb-OUYs3QXuc5sWN_JknsTqag?key=DjinIJuhuMxEvVMyPZR-qYsk)

</details>

<details>

<summary><strong>Withdraw Liquidity from LP Tokens in the Pool</strong></summary>

After receiving LP tokens, there are two methods to withdraw your liquidity:

* **Easy Mode** via **CrossCurve** into a single asset of your choice (*may incur penalties due to slippage*).
* **Balanced Mode** on **Curve** into the assets composing the LP in the pool (*the most cost-effective method*).

1. **Easy Mode via CrossCurve**

To quickly withdraw liquidity using **Easy Mode**, go to the **Liquidity** page under the **Yield** tab.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXeR7yPujt5rHydA_PZxsLyoxzNSWnuzzhOwpSTNYs92dNzu3VuWH_4thm5DvtB7_njxe53zMH4VGOqUAjLH4AGbXyPXG4zgIzL5nprPCXJgJ3f_N0oYY18DfLWSXiPv7bmk9uz5fQ?key=DjinIJuhuMxEvVMyPZR-qYsk)

In the pool list, under **Choose pool,** select the pool where you provided liquidity and have LP tokens.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXd21MmL9UMU0q0qHPMMa_a-P2qFdzSwY_ITzFkqK9i_sfquHJCbdFa_3TSezJDYxTL4CDNKjWF1_t2skk9qljHgtbtVz3co3diIfmEuJ5gfgmgXWEDvcif7LIh4wyPtD63Xv3-H?key=DjinIJuhuMxEvVMyPZR-qYsk)

Select the withdrawal mode **Withdraw**, operation type **Easy Mode**, and click **Next** to proceed.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXdAPeV_CUsN0My_Xw-g-URNn6VqgxDTQ199bSusJWUbmpZrnU8vBbpOlgOg1Wb40x3WGKrcOQl62sPFHa0jf6O3xrL0sJBMbHwsRyf_0aSPpgXek_-B_XCYMPVeydcIsapE4Td29A?key=DjinIJuhuMxEvVMyPZR-qYsk)

Choose the asset you want to swap your LP token for by opening the selection list.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXeH9Yx7M1O0kU8TBbHAOORi0uRhm7QOLqCNiReHbsclqdy7dO_Xs2_t6ondYeK_nX8Ws4kGaRA_Iep614m2vJ03mJCSHspIj4qNOX1qcA5oGFUPyS9gkGZYWbKm0L2NuEQ9FrdB?key=DjinIJuhuMxEvVMyPZR-qYsk)

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXe1rl3UYg2RgxF2wkx7wOtxf_c3nJWqS0SW-3Y4LbCsiccNdI-SO9Gs9kJNIDbCv1OytGMbWC-s3Yqm0yyt85T71KR-RxS_cZL_F5pj0q8mUTgObyVF5-bgTBKMHNzl0PvaR5IkiA?key=DjinIJuhuMxEvVMyPZR-qYsk)

Enter the amount of LP tokens to swap or click **MAX** to select the entire balance from your wallet. Click **Approve** and confirm the LP token spending operation in your wallet.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXcw7ykadrIVM9A6da7KCYDDk7LpDc_rKF1KXzFcUywEL8z42HrxEHnXO9dNjouV1YJ-fCsPLA51Wgyr2SVkRi8sbwyHrwVaLew0nfVygVcza2Bb0hmUaADlLwLnsMuKrYWkHafGTg?key=DjinIJuhuMxEvVMyPZR-qYsk)

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfDHs3SBsWiRYpHORxCE3aaiYwaKp2EaMEThyKBnSHPZvd9ZBHxq829uezhbZ0AMZtsY3NesNqgjCaPJ0e1lyoV2uV5bjP99M5-4jzzuEQO94y_0M1g49BdudxW-gCEUvs4Tj1iIw?key=DjinIJuhuMxEvVMyPZR-qYsk)

After confirming the spending operation, click **Swap** to perform the exchange and sign the transaction in your wallet.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXek-0BKX8UmttZetbokcZyF3tLtAdlMzPVT-KzbnVQ_dETXyjuARWznAq_PstNhaSVPy7AJ8DhkgyHNypfUV2MaVkhwUXveeP0Kg58PwkOfVSl1MkRu3zr54HSLfY697u0q4wn-Rg?key=DjinIJuhuMxEvVMyPZR-qYsk)

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXd1xWDTU7chnh05fvnA2coGyJpJucCNbha6FthcGvi4TIDXBAqjvCDTeWYm9Kuj2JguV6i5SwmRwAOxd9RrR5B8mlzU-QUzytn-IqT5rSAUotIhuWR-bXY8JqwamzSdFr3Vjnw2uA?key=DjinIJuhuMxEvVMyPZR-qYsk)

Wait for the transaction to be processed on-chain.

2. **Balanced Mode via Curve**

To withdraw liquidity in **Balanced Mode**, go to the page of the pool you’re interested in on the **Curve** app using the quick link.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXcCiJoTlkNMl5HXcMJBPMc14Dgdb32u7aiaROkXDWdfGso-VPLpBeFMDZByF9uP-5SBxgFGWk5Ti1cX2pUkIPa75wSSlOiJtoL_ntlSk2oAKNyDIeXwHay3Y1_udOMUtgEzQJLk8A?key=DjinIJuhuMxEvVMyPZR-qYsk)

If you haven’t performed an unstake in the **CrossCurve** app, go to the **Withdrawal/Claim** menu under the **Unstake** tab. Enter the number of LP tokens to unstake, click **Unstake**, and sign the transaction in your wallet.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXf3wETzNxo9MzoJxt46LeIeDe5OsN-PsbTjiw-9t0JCkL3Q9VzIa3cJ0t_Ya6HsvpxYFyNiamGQYKJ8Mtrjzz3RnNZ7UPT6IoZXVbjuinMCR6MQbn26qS1rPGD5UGjjJ4Uda57jww?key=DjinIJuhuMxEvVMyPZR-qYsk)

After the transaction is successfully confirmed on-chain, you’ll see a notification: **Unstake Complete**.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXcTu6wqRVfvQWnUt0wFKznElpBWNts2q0lDju7nhKbacLam3vwk9pmblisSWLMYDMz8SZFoYMWn9VLZv0JyJEaDWY20YtN9ToEfq5DOPnR9Ipe7CIVvd-FrjTTk67b78mblXOu8?key=DjinIJuhuMxEvVMyPZR-qYsk)

Claim the rewards on the **Claim Rewards** tab by clicking **Claim** and signing the transaction in your wallet.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXefx1D4wQSLA5MVEYgbQsLPtkxPXRqaTmfLWcWvFLACIjUFG3hFlt9q2VVSIIGa15QNsLJGyyVN-JaS0kV-c04zvZCQ1y3cFhazrYP8ZQ2AR3-9F0_WXe2ZTE_rLIu6Jyk1pg_UCA?key=DjinIJuhuMxEvVMyPZR-qYsk)

To withdraw liquidity, go to the **Withdraw** tab, enter the number of LP tokens, select **Balanced mode**, and click **Withdraw**. Sign the transaction in your wallet.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXdytsjg5dLtDwAhXyXu_KPYMWfrrTYeWtHM4dyQjIZ2JKH5G81f5BZSou_h_HKv8h3G6jivYMHw6eYZTDKuvEWJ8hicMatpUqMVVO2__ttf1Bu4ZDrsH7ymIBKnKqil5XpSPbf34w?key=DjinIJuhuMxEvVMyPZR-qYsk)

After the transaction is successfully confirmed on-chain, you’ll see a notification: **Withdraw Complete**.

![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXebkXjNFVbGe2UQTWN6kevErourlpAeix8Np1HO_fzR-aFXO7y_ZH4YYeSphxr1a5UWqMux-U022j8FCQmA677orD4DnMiFZ0zJ7vj-0NGhaQAo3XaOUijRAhM3V-YkBXDJDTvf?key=DjinIJuhuMxEvVMyPZR-qYsk)

</details>

### **Obtaining Universal tokens for paired pools**

Each paired pool in the **Sonic** hub-chain consists of two tokens:

* **A universal token**—an asset from **Sonic**, common for all pools of the same type (**xfrxUSD** for **USD** assets, **xfrxETH** for **ETH**, and **scBTC** for **BTC**).
* **A synthetic derivative**, backed by the original asset locked in the **Consensus Bridge**. This can be either a single asset or LP tokens from **Curve**.

Universal tokens come in three types:

* For **USD** pools: LP token **xfrxUSD**.
* For **ETH** pools: LP token **xfrxETH**.
* For **BTC** pools: **scBTC** token.

### **Obtaining LP xfrxUSD**

To obtain **xfrxUSD**, follow these three steps:

1. Obtain **frxUSD** on **Sonic**.
2. Obtain **scUSD** on **Sonic**.
3. Deposit **frxUSD** and **scUSD** into the **CrossCurve frxUSD** pool to receive **xfrxUSD**.

You can obtain **frxUSD** and **scUSD** in various ways; below are a few methods.

#### **Obtaining frxUSD on Sonic using CrossCurve and Frax bridge**

**frxUSD** tokens on the **Fraxtal** network can be swapped from any available asset in the [**CrossCurve**](https://app.crosscurve.fi/swap?inputChainId=7\&inputToken=0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9\&outputChainId=23\&outputToken=0xfc00000000000000000000000000000000000001) app.&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcoRmbF6LPUVvvzvvqJCHemAXckM2Cw2OsDKXTJuYH-4Oy9iinkd9HBCxnSjfQ8A2EezBJAiLS-Ifrqq7o5u3ISfd1XdW6E5VqkkMuc1RgE9ekplMxt7C45Urybqu2jlAi7K2ju?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

Then, bridge them to the **Sonic** network on [**Frax.com**](https://frax.com/?tokenA=0xfc00000000000000000000000000000000000001\&tokenB=0x80eede496655fb9047dd39d9f418d5483ed600df\&originChainId=252\&destinationChainId=146).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe7YTuAIr41wxU_F6smuX91ORUr7eMy1udbZlfSxSSh1TcxAp8bKw_IgVEwKucHP-gYD6du8qt79URyHGbj9p10LL4ncfSjIiaUywp-d7JtceyX1GL2R8ZNzjCiEx03Xc9Bru8NAQ?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

#### **Obtaining scUSD on Sonic using CrossCurve and Rings app**

In the [CrossCurve ](https://app.crosscurve.fi/swap?inputChainId=15\&inputToken=0x3f833ed02629545dd78afc3d585f7f3918a3de62\&outputChainId=13\&outputToken=0xdac17f958d2ee523a2206206994597c13d831ec7)app, you can transfer any available asset to the **Ethereum** network, receiving **USDT**, **USDC**, or **DAI**.&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfocFjxI9shodzgcb2QiokA9PllU86jsoobTiUiAHblbrrEHfVf6TPR5DGqEw3e8t4ymdSkuAyZpEAOWg95pjOl-cIWlY0T5X4dBihb42rhVoRiyjanSwkdv7Ai6ZjcclFBtJrGFA?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

Then, **scUSD** tokens can be swapped in the [Rings ](https://app.rings.money/#/)app by depositing the available assets as collateral.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcAaJWLjQzYnA_gfTFDbjsb0ZE05J2CJyBvN9PuTkCe5KrMcCR37FrvOEcciodHgHTFi38P8xQG3a8W5eiiewKaHViXBrCJS7ExAPto82M6owolMC11YNp6msNSUMlJdrL2iz3iMQ?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

#### **Obtaining frxUSD and scUSD using other bridges for Sonic**

Choose your preferred app from the list of bridges in the [mySonic ](https://my.soniclabs.com/apps?tags=bridge)section under **Apps** in the **Bridge** category.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdZZoaxjVn6fN-Tfj4qNH182XlRXiJn2Bl4GyK4_j3sww5JIxR1KefDC18WkUmyP6YQTEYpvpX2ee2y0BETbR1YwEsGMpapypRvLnkHuxZ_O1fPubhKij_fwUyHRoxn4w6gnUslqw?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

#### **Obtaining frxUSD and scUSD Using the Jumper.exchange Aggregator**

Swaps are also available on the [Jumper.exchange](https://jumper.exchange/?fromAmount=750\&fromChain=42161\&fromToken=0xaf88d065e77c8cC2239327C5EDb3A432268e5831\&toChain=146\&toToken=0xd3DCe716f3eF535C5Ff8d041c1A41C3bd89b97aE) aggregator for any available assets.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdFSDlJYnNfopKY27WwuGrJU34cqvY09_o0kb6w0kWykKJSZi6-6QdoSqTnLIFBUv-QI59lP-Uo8kjJN3v-0K4W_GQski09LiV_3PwmELq-9PcD0C15gpB5xOcAfSBPg8eur0h_XQ?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

### **Obtaining xfrxUSD via the Curve App interface**

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://lh7-rt.googleusercontent.com/docsz/AD_4nXe6ht4rrmW8xK3yPz9Y4PxLS6FqwZ37n5UssZ10dy-6mnFgb5keCya_hzkjrjzSJw5v4UKVjaJns-nRlxMMnuOUIR7VG3m7VccrGXONxxIQjpWasWYulwCMkrbkETjC-m5_N4jn4Q?key=DjinIJuhuMxEvVMyPZR-qYsk" 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://lh7-rt.googleusercontent.com/docsz/AD_4nXeeNhAu413QMe_qfCGQ1h1cbzsWkQ920LD4OlwcIC6gaelWESm8EcwhmlhXuZNldE7Yiifri8Crm25XzVGLjkQxzPMPdVWORONvB93rtnsfsELQShFwWLSEKfDN2WuuwBRdeWWm?key=DjinIJuhuMxEvVMyPZR-qYsk" 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://lh7-rt.googleusercontent.com/docsz/AD_4nXcNXdK498D0k7V7f6S2jgFHZ5-OTK-RTeNE4FS0AiyIiXhSilodJsWd_vaONeDdJ-3HKCPTa2_qnC0FX2C7L0LcArnqOQsibUeFtTTYwpU1gOzUhqulBHD40kTXXLtLQg8njGGk?key=DjinIJuhuMxEvVMyPZR-qYsk" 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://lh7-rt.googleusercontent.com/docsz/AD_4nXclGastFVCL0waSV-QR3MgDKFOJJhgDaQ5_2XZvB5hub05iHlSQh-JEY_okE_MyzQYLCO6tS3MM9dtvLmGfBN8H1-XM7kuO_3S3UvId2OJ1ppb_caAAAI3kDcAbHshlMgdVo0n8?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

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

{% 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 %}

### **Obtaining LP xfrxETH**

To obtain **xfrxETH**, follow these three steps:

1. Obtain **frxETH** on **Sonic**.
2. Obtain **scETH** on **Sonic**.
3. Deposit **frxETH** and **scETH** into the **CrossCurve frxETH** pool to receive **xfrxETH**.

You can obtain **frxETH** and **scETH** in various ways; below are a few methods.

#### **Obtaining frxETH on Sonic using CrossCurve and Frax bridge**

**wfrxETH** tokens on the **Fraxtal** network can be swapped from any available asset in the [**CrossCurve** ](https://app.crosscurve.fi/swap?inputChainId=13\&inputToken=0x0000000000000000000000000000000000000000\&outputChainId=23\&outputToken=0x0000000000000000000000000000000000000000)app.&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfzbtvWrAdXKyvVQypnHITjnCQiO0bypBTu-tptT4MtzxPSAUF8WWOrrfgye8CXF-dTp_DonfkMPIrNNRwQ1s9cykhoIIeX-CT5BmoweUiM4p7wsOjofGMqoTbOk0u2EB2xCNHO?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

Then, bridge them to the **Sonic** network on [**Frax.com**](https://frax.com/?tokenA=0xfc00000000000000000000000000000000000006\&tokenB=0x43edd7f3831b08fe70b7555ddd373c8bf65a9050\&originChainId=252\&destinationChainId=146).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfMiw6QWCe6KX4_Ytb27ClNKKhtK-22hzyzmjjBB4g1AUKx3HaekCPqJk3r_1BZFCgkyYf0sCQJhT2aZufecLqLamCHbsLL_aDsgeA9eiTeHecIAzUZKaWEZPFlwHmI4g1D8i8Z?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

#### **Obtaining scETH on Sonic using CrossCurve and Rings app**

In the [**CrossCurve** ](https://app.crosscurve.fi/swap?inputChainId=15\&inputToken=0x3f833ed02629545dd78afc3d585f7f3918a3de62\&outputChainId=13\&outputToken=0xdac17f958d2ee523a2206206994597c13d831ec7)app, you can transfer any available asset to the **Ethereum** network, receiving **WETH** or **ETH**.&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdPdOFh_0WmlvOSbgxzgKNJHTukYvS-92hI97ORndMhum2xDCPiwz-cquBbc3iFI2x_fK9dvqmWxXa66jo9xMU7iX3bY9ICtwAQdOmCW0thA6-F3VawGIIyvqr7RbJ5mquu1FLqPg?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

Then, **scETH** tokens can be swapped in the [**Rings** ](https://app.rings.money/#/)app by depositing the available assets as collateral.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXek066EiBsfpoRc72c3nADowC4Yks_Rl28Ql72GsC0JfJhCD3dNZNhnpiAM2pQ5l9lvTo5YgHfAwOSTL5D-6lpJcFipspidjqxwcuM83JkjKT5TqgjJ21DdDdB6ZE9pwNc-3abphg?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

#### **Obtaining scETH or frxETH on Sonic using other bridges for Sonic**

Choose your preferred app from the list of bridges in the [**mySonic** ](https://my.soniclabs.com/apps?tags=bridge)section under **Apps** in the **Bridge** category.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdd4ZlSwDYdfO3GBEa8FLGhaVBmiJxeTYSBgK8Kg9z7NwSwAZR6RwX01uH2nOLBQOoVFaiY2Rt3rCO6nomf_dFupTFpdwm-q9Qc6ytfmGKkJN4xu23i_11D-89bndqT9Dn84bsx5g?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

**Obtaining scETH or frxETH Using the Jumper.exchange aggregator**

Swaps are also available on the [**Jumper.exchange**](https://jumper.exchange/?fromAmount=750\&fromChain=42161\&fromToken=0xaf88d065e77c8cC2239327C5EDb3A432268e5831\&toChain=146\&toToken=0xd3DCe716f3eF535C5Ff8d041c1A41C3bd89b97aE) aggregator for any available assets.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdshEcdJlDyJGA4ZZqecvTRRM7h4jAv7IXaUAPivPDBEozil5YEe36Xq42FRKkjnWPelVDkBidgYJqLsH096hh-2ZnL1RLaPhaOakb4drOFsz6L9yo8vcwA8FhOqhzYt7znMtwR?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

### **Obtaining xfrxETH via the Curve App Interface**

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

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

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXci-NogZ4EcKOtWKXfT5K4QylVPTnaR5909jAWybTdQ1TGkB1wXNxIeoQX-oofpTZeS6gPHxHjcZEPi7d99VbTltCTZBaM1BZ9vZxQzOOrGgNtFvdDSNOZ5Ns7OoWrQ_T-P4-bHOQ?key=DjinIJuhuMxEvVMyPZR-qYsk" 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://lh7-rt.googleusercontent.com/docsz/AD_4nXctweB1NyR7-2yH_RnB28y-73nc5ndDGse6yYQOC4CiEB3AC3WzFm_Zx5t9ZxoAXeicrWEegptfDBZKYGQCBR9jQMeCcVF_R2ee96yVFHmV1l8UODT9XhmOOrL2rWmefZT_qrUHzA?key=DjinIJuhuMxEvVMyPZR-qYsk" 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://lh7-rt.googleusercontent.com/docsz/AD_4nXfJwoJ0ChvoKwtK_Sn2EYHcBG_vo6SePD87mHGPjRLtb_TAwHcOjhHqqNr3qkzAsBK2wQ4NxrVjq7JD6th3sUdRdJ50VCGIKpjF4B3SPxZ1UKvxIxgVAoLTlNx3qtqyO3n0ETk3?key=DjinIJuhuMxEvVMyPZR-qYsk" 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://lh7-rt.googleusercontent.com/docsz/AD_4nXexG7fo6jUDGW3EUxlQKEFZWUTQTlGJSqIOO7SEix-PIK1XPLRE8Kl_3LSMao5r_fTczQF2tZsl8pbI2YfrieEt0d39700myPovfBuKRzQmChJ0mxwU1pJRwIiUGVJVnrwnTuVixg?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

After the transaction is successfully confirmed on-chain, your wallet will display the amount of received xfrxETH LP tokens.&#x20;

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

### **Obtaining scBTC**

You can obtain **scBTC** using the official **Rings** issuer app. Alternatively, you can use third-party services listed below.

#### **Obtaining scBTC on Sonic using CrossCurve and Rings app**

In the [**CrossCurve** ](https://app.crosscurve.fi/swap?inputChainId=15\&inputToken=0x3f833ed02629545dd78afc3d585f7f3918a3de62\&outputChainId=13\&outputToken=0xdac17f958d2ee523a2206206994597c13d831ec7)app, you can transfer any available asset to the **Ethereum** network, receiving **WBTC**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeD6z33lYdmEYFoYGzjhjrtpHvUu9LdTWOWEwMwJpvaYDdSNxdVks5HmB2yfEaNelbcKifIvoW8kKJ0_5xqEv29FH6jMuVfLHrtaINtdXVCFejxpgqmCErOZ0J0tXKg3-228aI0?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

Then, **scBTC** tokens can be swapped in the [**Rings** ](https://app.rings.money/#/)app by depositing **WBTC** on the **Ethereum** network as collateral.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeLCajdsoS8dkZMg4qnKxm3qiEPPXeXpntHghwMbN5xqw0Szas9PB-LiqfD9D6YW9i_QKlEXTRUI1RcB0qsXFcTjLCRzM37bdfWPs6qOyDe1EIJqGeNaWhnXpU2w4I4d5ALlzJzXA?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

#### **Obtaining scBTC on Sonic using other bridges for Sonic**

Choose your preferred app from the list of bridges in the [**mySonic** ](https://my.soniclabs.com/apps?tags=bridge)section under **Apps** in the **Bridge** category.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdd4ZlSwDYdfO3GBEa8FLGhaVBmiJxeTYSBgK8Kg9z7NwSwAZR6RwX01uH2nOLBQOoVFaiY2Rt3rCO6nomf_dFupTFpdwm-q9Qc6ytfmGKkJN4xu23i_11D-89bndqT9Dn84bsx5g?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

**Obtaining scBTC using the Jumper.exchange aggregator**

Swaps are also available on the [**Jumper.exchange**](https://jumper.exchange/?fromAmount=750\&fromChain=42161\&fromToken=0xaf88d065e77c8cC2239327C5EDb3A432268e5831\&toChain=146\&toToken=0xd3DCe716f3eF535C5Ff8d041c1A41C3bd89b97aE) aggregator for any available assets.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdshEcdJlDyJGA4ZZqecvTRRM7h4jAv7IXaUAPivPDBEozil5YEe36Xq42FRKkjnWPelVDkBidgYJqLsH096hh-2ZnL1RLaPhaOakb4drOFsz6L9yo8vcwA8FhOqhzYt7znMtwR?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

### Obtaining a Synthetic Derivative

Each paired pool on the **Sonic** hub-chain consists of two tokens:

* **A universal token** – an asset from **Sonic**, uniform across all pools of the same type (e.g., **xfrxUSD** for **USD** assets, **xfrxETH** for **ETH**, and **scBTC** for **BTC**).
* **A synthetic derivative**, backed by the original asset locked in the **Consensus Bridge**. These can be either single assets or LP tokens from **Curve**.

{% hint style="info" %}
***Synthetic tokens** are categorized into three types:*

* ***s\_Stable\_chain**, where **Stable** represents a **USD** asset variant, and **chain** is the network where the asset is used.*
* ***s\_WETH\_network**, where **WETH** represents **ETH** backing, and **chain** is the network where the asset is used.*
* ***s\_WBTC\_network**, where **WBTC** represents **BTC** backing, and **chain** is the network where the asset is used.*
  {% endhint %}

{% hint style="info" %}
Each type of **synthetic token** corresponds to a pool where it can be paired in an LP token:

* **xs\_chain**, where **xs** is a stable pool, and **chain** is the network where the asset is used.
* **xe\_chain**, where **xe** is a volatile pool, and **chain** is the network where the asset is used.
* **xb\_chain**, where **xb** is a volatile pool, and **chain** is the network where the asset is used.
  {% endhint %}

### Obtaining sUSDC\_arb

**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.&#x20;

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

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXffDk6rg4AaXoz8HvlzivceIPadbY7jHzNa32_pMcQ5H8GgEiWXfvIbhR9K4a7PXH9JjUSF7CP7dlKyHfrRlz4mW_IRDaw2_IKsrsRWg2pxnVMB4RpP6bYOUcOQvpNVCwat6_lsjg?key=DjinIJuhuMxEvVMyPZR-qYsk" 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://lh7-rt.googleusercontent.com/docsz/AD_4nXdDLd9iZCrP4PzVBw2bFxcDfJ592AapjZo-TU3T_CY29poxAVzadmEZgEaIvLd3o2PntKOzo1CSWSv9HN6pGdtuDv0YNGRtgpJUrR67hyIAGXHtLpVXn5oCuBgfnQoCkpCWvNP2MQ?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdcUv3qx0ti32qTm1yZWBGxk6lyLgppmIwkjGWw-5aSHX0P-WQxhBZvwHUygbocF9KpSx1RvHgxEvQqKF6ue0-tWpKOFE9OPeg4auJ0eAjDn8JMK0LQUwcnuasXE4fInzJ8IDA6og?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

2. If you know the swap direction, you can also perform the exchange in the [Trade ](https://app.crosscurve.fi/swap?inputChainId=13\&outputChainId=53\&outputToken=0x54e858c116f3d6bdf3c270f68cba96313b286577)tab using any available asset.&#x20;

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf2QklHIooACOMHHdfeAzT0KHolQnZy40kgWSXexjrh0Nvms2DIQfWb6-uuU36Snht93yDn54-1nJsKGS2jdSPCuXKuw3UWIQC7cS4unY2zQIzOsvI7pciLRVp8_F-k0mRgcJ_whw?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

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

## Providing 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.&#x20;

{% 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.&#x20;

{% hint style="success" %}
*In our example, deposit **xfrxUSD** and **sUSDC\_arb** into the **CrossCurve Stable ARB pool**.*
{% endhint %}

### Obtaining LP xsArbitrum via Curve

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://lh7-rt.googleusercontent.com/docsz/AD_4nXcTvzq3Mgnecf7i4MmA_RHNpqRP1R0o9QnViy04jMmykH5GP5g49begK2kQz8G6vT-2vL5U-hRvmcgupnwlKrHNl8ACdH8j6cucDxST5DVhp4sFF02ep00xdL9r3P-L6_7tJ_uS_A?key=DjinIJuhuMxEvVMyPZR-qYsk" 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://lh7-rt.googleusercontent.com/docsz/AD_4nXdIk-LDxcgGHY7ysJA_LIJ9tk8neFCXuBYC2gPubI3gUEJRaNS_FqRPVdkZa3Y-NyDHJDWW5jMhwTpThSzOXApk_I0IcCzDCUhxQF-YGeB2vNxZ04dQWaCnZKGmETvH9hX6wZcy4g?key=DjinIJuhuMxEvVMyPZR-qYsk" 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://lh7-rt.googleusercontent.com/docsz/AD_4nXfKaypv2dgQLD1JdNTT9RCb-UQPO2BRujJoY8hu7YyWTeP_6kddjhng9svTZCNLVa1U149OHWzzMv2Vza7oYjrhwUYm8dH4bg_zBJQOh9MCov0ag6-XDKtsVJL-kKvfu5hbCpwoTQ?key=DjinIJuhuMxEvVMyPZR-qYsk" 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://lh7-rt.googleusercontent.com/docsz/AD_4nXcfSj05LZ-S1x7K-OlcuV9Xz9cm6iQmMIutA2403PR6P7ER97OdSnnYnB1kxyA7lbz-C9nIesvUv3YyIxj621s_a_iCI4EQxSfJyqu2MBUjO18AVf1Nrq_FErZlLtbRrhWrqy515A?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

After the transaction is confirmed on-chain, the amount of received **xsArbitrum** LP tokens will appear in your wallet.&#x20;

{% 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 %}

### Obtaining LP xsArbitrum via CrossCurve

LP **xsArbitrum** 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=easy\&action=deposit\&output=0x440bcab62d629ba60ca56b80e565636e0c404e60\&chainOut=146)app.

Go to the **Liquidity** tab in the **Yield** section. Select the **Easy mode** and click **Next**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcPTfUz7VfRUbSMooKu9llowAH3t-AAb1gaRYaRsPSZQRuMVSDopq2bQ5LFqJK-fZp_0m00kdMov-s6-jHm6Z3M6_c7S8JQ_1uoaZW3ZBG2thGkuJaBuu0P274Og_lNPFIWFwrE?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

Choose the available asset for the swap.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXclIGeBmRnEwZLMfp6sSE6ZeOY6hjhe3NyvOYZrvZZDmF_TU4SbuEQWmDbjhxX0wTwCIuRh6cOBM1srnOyciPAusXN1I6VxyF2qRtlD2W8pEkJ6VpFmuUgMYYnawv7_Vn5zFR9R?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf_5RaWK4LFcACcTcMuortaHtrFk3USVUUVsRTTQI0_oApSd3Onf7nZqueaf4ltAXHOvxHnieTunloZZ_OHRIJt5f5m8ZszYEpisXEKwGPhmw3AYG531simM4cX0YWsQutbwdiPIA?key=DjinIJuhuMxEvVMyPZR-qYsk" 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://lh7-rt.googleusercontent.com/docsz/AD_4nXerrCpOXbkP63R8v7xUMBC3VsoFilEgP-NreD43fbfCJsRbm_3vxedC3PX57m3fAgdCPoMIXJLoduqVoMpIa7nuGg8Czo7xGPqHBIE_sUz-7IuBxqMpC3uhywD8SdSJV-9d2YOcKg?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe4gZp5yFcTQMbZwXvs7XhDwj1OD-rpj3zAc-Sy0ZGtaWVC4ByqAZ9BRjBPOEguuSLQ6enQTfXD_nOpn2-xBTW7wdKaHlb77ZZzguiObzyTyVZXx2rtH0yOT5xl4LvcOEHDGf930A?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

### Depositing LP xsArbitrum into the CrossCurve Stable ARB Pool

To provide liquidity to **CrossCurve** pools navigate to the **Farms** page in the **Yield** section:[ https://app.crosscurve.fi/farm](https://app.crosscurve.fi/farm) and connect your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcQU0L9Ue0o7sbVXl8BzEivqPrQilNZzT7r43WohNVzttf1I200wvrWzstmM_HyZQH7G8SiJbH1qt7tEvitVkKTKDCstoYIX_at6JlQOH9X7FtC4hN_YPdYOZUrC0sUicDIFDmayQ?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

In the **xsArbitrum** pool tab, click **Stake LP** **and get rewards**.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdNXek4l5YXFrXzJuR94oHL6k8pSSSR-xHp24IMjYkIHH_D974nNUBA9rWy8Qw_R_G6WFEVhzVWL3GxydiCCtH7SSMCXMkb0uCmPf81eXsveNGDyBAgKSP1tvoCvOL0Joc07J7R?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdIUOlF-smcT12-lrNH8Z1LwCI3j_ySzYBN8VB0QViF8M6HtEeE4k7YvuCx_4g0bLUJguwF8FHC9hKycdP0KzW-8H-3xcSOjCAV97kImk43ST_talrNwMhWn1HI2YUGPHfqMYCN5g?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

After successful confirmation, deposit the funds by clicking **Stake** and sign the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXexyKJyni46JHpS01awk9s5HU1NNgxAjO2ipyp4h0WzHVyfHEGfcy_gCUIvYBzNN3bpa5d0yBfBpuSaK5PIACGQkO_Q3wJWm_rTPBS9NvTiLgS0buH_ceLUKqkmhYLsncnN0AkYUg?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

The deposited amount will appear in the **Staked** field.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeho5cotisPOlXVTYCOWlH6Iqg2TbIEO7GFQUCmk_tpRAtnw8vWnUK8W_l3qOerEPqrRoz_7IehonVfr87gh-dh3OSVy-ZtwTEizixLZh0a_IpMC-nOa033AZb6xu2_r5tiDWWo7A?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>

You can view the current **vAPR** and accrued rewards in the selected pool by clicking on the **APY** icon.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfpKr13QSLFereY3Y_DyDYuEkvgCPxdDx1Oz2pnzvTnMw_skbDjDR7CpvYUz7iUBeq9xkpYXSQ83CPuTujZai6IypzvWsX2newmcXkqt1cT3oCOO4qG-uu3CY348jrmkkxmcSEA?key=DjinIJuhuMxEvVMyPZR-qYsk" alt=""><figcaption></figcaption></figure>


---

# 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/migration-to-sonic/liquidity-transfer-from-fantom-to-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.
