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