Onramping - High Level Overview
In this flow, the user first completes an onramp transaction into an intermediate asset, typically USDC on Arbitrum. After the user purchases USDC using fiat (e.g. USD) through the onramp provider, the onramp sends the USDC to a swap provider. The swap provider then converts the USDC into the desired token (for example, USDH) and transfers the resulting tokens to the user’s wallet. The user experience will be similar to the example shown below. The blue screen represents the onramp provider’s UI, while the remaining screens are rendered either within your application’s UI (when using the White Label integration) or within Meld’s UI (when using the Meld Checkout integration).
Below are the transaction statuses that may occur during the lifecycle of an onramp transaction, in order.
Offramping - High Level Overview
This flow is similar to the onramp flow, but in reverse. The user initiates the transaction by sending USDH to a swap provider. The swap provider converts the USDH into USDC on Arbitrum and then transfers the USDC to an offramp provider. The offramp receives the USDC and completes the transaction by sending USD to the user’s bank account. The user experience will be similar to the example shown below. The blue screen represents the offramp provider’s UI, while the remaining screens are rendered either within your application’s UI (when using the White Label integration) or within Meld’s UI (when using the Meld Checkout integration).
Below are the transaction statuses that may occur during the lifecycle of an offramp transaction, in order.
Notes
- Direct onramp support is prioritized
- If a token is directly supported by one of the onramps enabled for your account, Meld will recommend that option first. The Ramp & Swap flow is only presented when none of the available onramps support the requested token directly.
- Intermediate asset selection
- Meld currently uses USDC on Arbitrum as the intermediate asset due to its broad ecosystem support, deep liquidity, and low transaction fees.
- User experience
- From the user’s perspective, the process appears as a single transaction (the onramp or offramp). The swap occurs entirely behind the scenes.
- Onramp UI Behavior
- Within the onramp provider’s UI, the user will see that they are buying or selling USDC, and the destination wallet address will belong to the swap provider, not the user. Because the onramp UI is controlled by the onramp provider, Meld recommends clearly explaining this flow within your application UI to avoid user confusion. Example step-by-step flows are illustrated in the screenshots above.
- Quote & Transaction Representation
- From the integration perspective, you will receive a single quote for the full transaction, and the process will be represented as one Meld transaction, even though two underlying operations occur (the onramp/offramp and the swap).
- KYC Requirements
- The user must complete KYC with the onramp provider, but will not KYC with the swap provider, nor will they interact with any swap provider UI.
- Failure handling
- In the unlikely event that the onramp transaction succeeds but the swap fails (after multiple retries), the user will receive USDC instead of the intended token. To ensure the funds can be safely delivered, pass the user’s USDC-compatible wallet address via the
refundWalletAddressfield when callingPOST /crypto/session/widget.
- In the unlikely event that the onramp transaction succeeds but the swap fails (after multiple retries), the user will receive USDC instead of the intended token. To ensure the funds can be safely delivered, pass the user’s USDC-compatible wallet address via the
- Coverage
- Currently this flow is only supported for USDH. Reach out to Meld if you are interested in this flow for another token.
Sandbox Testing
You can test this flow in sandbox mode with the provider test credentials. Providers that support the intermediate token in their sandbox are Unlimit, Kryptonim, Mercuryo, Topper, Transak, and Banxa. Please note that in the sandbox environment, only testnet assets are transferred. As a result, the swap portion of the flow is not executed. While you can complete the onramp portion of the transaction, the transaction status will only progress toPENDING.
Transactions will reach the SETTLED status only in the Production environment, where the full Ramp & Swap flow is executed.