# Onboarding

## Deposit Flow to HyperSwell

### F**low Overview**

Deposit process involves bridging USDe, swapping for USDC, and depositing USDC into Hyperliquid:

1. Switch to Arbitrum: Sign a USDC permit to authorize contract usage.
2. Switch to Swellchain: Submit a bridge transaction.

### D**etailed Deposit Process**

1. Authorize USDC Usage on Arbitrum

* Switch your wallet to the Arbitrum network.
* Sign a permit transaction to grant contract permission to use your USDC for deposit.

2. Bridge USDe from Swellchain to Arbitrum & Swap to USDC

* Switch to the Swellchain network.
* Submit a bridge transaction to transfer USDe from Swellchain to Arbitrum via LayerZero.
* Automatically swap USDe to USDC on Arbitrum.

3. Deposit USDC into Hyperliquid

* The swapped USDC is then deposited directly into Hyperliquid.

This streamlined process ensures smooth interaction between Swellchain, Arbitrum, and Hyperliquid, optimizing the deposit experience for users.

&#x20;**Deposit action:** <https://vimeo.com/1072088124>

***Note:** Ensure that the minimum amount received is more than 5 USDC, and your wallet has enough ETH to cover LayerZero’s fee for depositing into HyperSwell.*\\

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd17oi6nAdtW7Xw4FaAHC8bQqc4EyIB3wzYdQSi0ZB15VFiwRHmjQddA6vmE-TsNGGkjzVAL9ltYbi9itS4JT9te9bk_q-tc5SWmTh8HP01NtCipFvBV1rBb-OiizZ5_pjUvVfgAA?key=aWGngDK26pDse-vIm5pH2QmN" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeIMWb9mXBbD0CN8svLTh9c91dEyoGGqx3Z2Jv0T6irwxgcDqeCTQ9tnaX1JNAISbZq4i4IrPTluzq2s-ra79c7p3tRveqV6qOpQwH2dpJoOd3XP3NG_8W7QY3LZ71WUsoNo2yt?key=aWGngDK26pDse-vIm5pH2QmN" alt=""><figcaption></figcaption></figure>

## Withdraw Flow

1. Authorize USDC Swap to USDe: Sign a USDC permit to grant contract permission to swap USDC → USDe.
2. Sign Swap Order Data: Sign the order data required to execute the swap transaction.
3. Withdraw USDC from Hyperliquid & Bridge USDe to Swellchain

* Sign a permit to withdraw USDC from Hyperliquid to the user’s Arbitrum wallet.
* Submit a backend API request to process the withdrawal:
  * Retrieve USDC from the user’s Arbitrum wallet.
  * Swap USDC → USDe.
  * Bridge USDe back to Swellchain.

**Withraw action:** [**h**ttps://vimeo.com/1072088097](https://vimeo.com/1072088097)

***Note:** The minimum withdrawal amount is 2.01 USDC.*

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdyKitTV7ZhPrVfn6-sBnERgSr6H3wiaOUr-RCYmtVjJdBb56rslgRb6o0ooLf4mzMZgMJLHB-66wLHnh81uLxOHP21fR28o7IcVpTIiPYRMgB1DbnzQ41sTbJ-Li3nRYJcJF0R?key=aWGngDK26pDse-vIm5pH2QmN" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcrR6j9kWKGWFfyEBfvCJjD0uqFc39pNVDhP4hi0sE1vVgKMZk_xg7CvBq_LBYvhQ-WEcMThdGseS4SNL8qroIJ-A-c28P0aiRE7SRS_YuUQsQapVINpiCsLJ1QjCWW6hHKMwzhIQ?key=aWGngDK26pDse-vIm5pH2QmN" alt=""><figcaption></figcaption></figure>

### Re**try When Deposit/Withdrawal Fails**

In some edge cases, a deposit or withdrawal transaction may fail. If this happens, the UI will display a message as shown in the image below. Simply click the **"Resubmit"** button and wait for the process to complete.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd7lwlRczezMye-s8KAqUTE4Au2k7u7RENi2fFo7wUO8-cyvuZUSQ12VAxJhjydf_BTzvqbUc16h_jFzAJPK56bl82qF8NNTvVXCh67tW9WowRcMAXkmIQ80pqR4ijGnTqDlIZ_5g?key=aWGngDK26pDse-vIm5pH2QmN" alt=""><figcaption></figcaption></figure>

**Resubmit Action:** <https://vimeo.com/1072088078>
