Declare the settlement target
Your app chooses the recipient and destination token, such as USDC on Optimism, Base, or Sui.
Uniport lets apps receive assets on their home chain while users pay from whatever chain they already use.
1import { UniportButton } from "uniport-sdk";23export function DepositAction() {4 return (5 <UniportButton9 />10 );11}
Pay from 24 chains. Settle to the one your app lives on.
























Most crypto apps still make users bridge before they can deposit, pay, or top up. That creates extra tabs, extra decisions, and a predictable drop-off point before the user reaches your product.
Uniport turns that into an app-native deposit flow. The app says what it wants to receive. The user chooses where they are paying from. Uniport handles the route between those two realities.
Without Uniport
With Uniport
Your app chooses the recipient and destination token, such as USDC on Optimism, Base, or Sui.
Users fund from supported chains instead of being forced to bridge manually before using your app.
Uniport’s hosted backend handles the quote and intent plumbing, so API keys and routing complexity stay out of app clients.
Account funding, balances, checkout: any flow where your app needs funds on one chain and users arrive with assets somewhere else.
Install the SDK
Render UniportButton with three props
Where funds land, in what token, and what the button says.
Ship it
Your users pick a chain, get an exact quote, and pay. No backend of your own, no API key.
| Prop | What it does | Example |
|---|---|---|
| recipient required | Your address on the destination chain. Funds settle here. | "0x71C9…4e2B" |
| destinationToken required | The token and chain your app receives, named {chain}{SYMBOL}. | "optimismUSDC" |
| label | The button text your users see. | "Deposit" |
Nine more optional props cover a fixed amount, a prefilled refund address, the modal theme and the onSuccess / onError callbacks. All props
Set destination
Your app chooses the token, chain, and recipient.
Ethereum
Solana+22User picks source
The payer chooses where their assets are coming from.
Quote returns
Uniport gives an exact amount and deposit instructions.
App receives
Funds settle where the app asked to receive them.
Account funding
Let users top up balances from assets they already hold.
label="Add funds"Wallet top-ups
Give embedded or app wallets a source-chain flexible funding path.
label="Top up"DeFi deposits
Accept liquidity without sending users away to bridge first.
label="Add liquidity"Marketplace checkout
Receive the settlement asset while buyers pay from their chain.
label="Pay 48.00 USDC"App onboarding
Turn first deposits into an in-app flow instead of a bridge task.
label="Fund account"Something else?
If your app needs funds on one chain, it fits. Start with the quickstart
label="Deposit"Apps stay focused on their destination ecosystem while accepting deposits from every supported source network.
Ethereum
Base
Optimism
Arbitrum
Polygon
Solana
Sui
NEAR
Bitcoin
Avalanche
BNB Chain
Aptos
TON
Tron
Stellar
Cardano
XRP Ledger
Dogecoin
Litecoin
Bitcoin Cash
Starknet
Berachain
Zcash
Scroll63destination tokens
Name any of them as destinationToken: optimismUSDC, baseETH, solanaSOL, bitcoinBTC.
See every tokenNo. The SDK calls Uniport’s hosted backend, which keeps the routing API key server-side. Nothing secret ships in your client.
Uniport is a chain-abstraction SDK that lets any crypto app accept deposits from any supported chain.