Supported payment methods
Choose a payment source. Merchant settlement and payouts use USDC on Base.
The platform supports 26 crypto coin and network combinations, plus eligible USD bank payment methods. Availability depends on your account and business country. Each live invoice receives fixed payment instructions after its route is checked.
For an overview of coins, cards and bank transfers, see the accepted payment methods guide.
Crypto payment sources
| Asset code | Display | Minimum source amount |
|---|---|---|
USDC_BASE | USDC on Base | 1 USDC |
USDC_ARBITRUM | USDC on Arbitrum | 1 USDC |
EURC_BASE | EURC on Base | 1 EURC |
USDB_BASE | USDB on Base | 1 USDB |
EURC_ETHEREUM | EURC on Ethereum | 1 EURC |
PYUSD_ETHEREUM | PYUSD on Ethereum | 1 PYUSD |
USDB_ETHEREUM | USDB on Ethereum | 1 USDB |
USDC_ETHEREUM | USDC on Ethereum | 1 USDC |
USDT_ETHEREUM | USDT on Ethereum | 2 USDT |
USDC_HYPER_EVM | USDC on HyperEVM | 1 USDC |
USDC_LINEA | USDC on Linea | 1 USDC |
USDT_PLASMA | USDT on Plasma | 2 USDT |
USDC_POLYGON | USDC on Polygon | 1 USDC |
EURC_SOLANA | EURC on Solana | 1 EURC |
PYUSD_SOLANA | PYUSD on Solana | 1 PYUSD |
USDB_SOLANA | USDB on Solana | 1 USDB |
USDC_SOLANA | USDC on Solana | 1 USDC |
USDG_SOLANA | USDG on Solana | 1 USDG |
USDT_SOLANA | USDT on Solana | 2 USDT |
USDC_SUI | USDC on Sui | 1 USDC |
EURC_TEMPO | EURC on Tempo | 1 EURC |
USDB_TEMPO | USDB on Tempo | 1 USDB |
USDC_TEMPO | USDC on Tempo | 1 USDC |
USDT_TEMPO | USDT on Tempo | 2 USDT |
USDT_TRON | USDT on Tron | 5 USDT |
USDC_WORLD_CHAIN | USDC on World Chain | 1 USDC |
For example, pass { "asset": "EURC_SOLANA" } or { "currency": "EURC", "network": "SOLANA" }. Minimums are in the source coin: a minimum of 1 EURC means one euro. The server checks the source minimum after conversion and rounds the payment amount up to two decimal places.
USD bank payment methods
| Asset code | Payment method | Availability |
|---|---|---|
USD_ACH | Customer-initiated ACH transfer | Eligible live accounts with an individual merchant receiving wallet. Shared receiving wallets are not eligible. |
USD_WIRE | US domestic wire transfer | Live accounts enabled for domestic wire payments. |
Bank payments have a 1 USD minimum and use whole USD cents. They settle in USDC on Base. Follow the bank details and required reference in payment_instructions, rather than looking for a crypto deposit address. Selecting a method does not bypass account eligibility. See bank checkout instructions.
Source instructions and settlement
The creation request's amount is in the selected source currency. Alternatively, usd_amount requests a source quote for a dollar price. Follow the returned payment_instructionsfor the exact payment method and amount: crypto uses an address and any required memo; bank transfers use bank details and a required reference. Do not construct a payment from the invoice's financial fields.
On new live invoices, top-level currency, network and asset_code describe USDC on Base. The invoice amount is its estimated USDC total; received_amount is the actual USDC settlement. Conversion and network fees can change the settled amount. Merchant credit follows verified USDC delivery, and payouts use USDC on Base.
The immutable overpayment_policyidentifies the invoice's allocation rule. New invoices use platform_retains_excess_v1: merchant credit is capped at the order amount plus any processing fee added to the payment, less the processing fee charged. Ulasend retains verified settlement above that cap. Existing invoices retain merchant_credit and their original treatment of excess. Paying extra alone does not put a payment into review.
On new-policy invoices, settlement_allocation separates the order total, applied funds, processing fees, merchant credit, Ulasend-retained excess, and remaining amount due. Use those recorded values rather than treating gross received_amount as merchant credit or inferring excess from a rounded source quote.
The sender must cover wallet, exchange, conversion, and applicable network fees so the full order payment arrives. A verified transfer that arrives short can remain partially_paid. If its payment route has completed, do not reuse the route; direct the customer to the merchant for instructions.
Payment methods (per merchant)
In the dashboard under Settings → Payment methods, choose which available methods your customers can pay with. That list controls:
- New invoice and payment-link forms
POST /api/v1/invoicesandPOST /api/v1/payment-links(disabled methods are rejected)- The source selected before a live checkout is created
The default setting accepts all sources available to your account. Existing custom selections remain in effect. Bank methods require live mode and their own eligibility checks. Card purchase is available only for new checkouts whose source is USDC_BASE, when configured.
BTC, LTC, ETH and native SOL are unavailable for new payments. Previously issued payment addresses remain monitored. A live checkout's source cannot be switched after creation; create a new invoice to choose another route.