The routing problem
A customer might hold dollars in their bank, USDC on Ethereum, or a balance on Coinbase. Your product might require funds in USDC on Polygon, or in a yield vault on Base, or in stablecoins settling on Arbitrum. Getting from one to the other typically requires multiple transactions, multiple approvals, and manual coordination. Cross-chain payment orchestration handles the entire path in a single customer action. The customer expresses what they want to do; the routing layer figures out how to do it.What it handles automatically
- Routing: finding the best path across chains and liquidity sources
- Conversion: exchanging tokens at the route level, not as a separate user step
- Gas: abstracting network fee payment so users never need native gas tokens
- Fiat on-ramps: accepting card, bank transfer, and Apple Pay as funding sources alongside crypto
Supported funding sources
| Source | Description |
|---|---|
| Bank account / ACH | Direct bank transfer via ACH or wire |
| Debit or credit card | Visa and Mastercard, globally |
| Apple Pay | One-tap payment from the Apple Pay sheet |
| Exchange account | Fund directly from a Coinbase, Binance, or Kraken balance |
| Crypto wallet | Any EVM wallet; any supported token on any supported network |
How a payment flows
- Your product calls
QuoteIntentwith the customer’s funding source and the desired destination. - The API returns a route with fees. The customer reviews and confirms.
- You call
CommitIntentto lock the quote, thenExecuteIntentto initiate the transfer. - Funds route across networks, convert tokens as needed, and deliver to the destination address.
- If a destination action is encoded (for example, a vault deposit), that action executes automatically when funds arrive.
What this enables
Neobanks and fintechs: let customers open a yield account by funding from a card or bank transfer. The conversion and deposit happen in the background. Banks and cross-border payments: issue payouts to counterparties on different networks through a single orchestration layer, without building per-corridor integrations. Marketplaces: pay sellers in any token on any chain through one integration, regardless of where the seller holds funds. Consumer apps: onboard new users in their first session by accepting card or bank funding directly, without requiring prior crypto acquisition.Cross-chain payments use a separate API key from the OMS Payments API. Get yours from the Trails Dashboard while the two systems share authentication.
Integration options
| Option | Best for |
|---|---|
| Drop-in widget | Fastest integration; customizable UI with minimal code |
| Headless SDK | Custom UI with full routing logic and state management |
| Direct API | Full server-side control; build your own experience end to end |
SDK quickstart
Install the SDK and drop in a payment component in under five minutes.
Accept funds from anywhere
Configure funding sources: card, bank, exchange, and wallet.
Programmable destinations
Encode a vault deposit, stake, or any product action that executes when funds arrive.
Use cases
How fintechs, neobanks, banks, and marketplaces use cross-chain payments.
Live demo
Try the widget in the sandbox.
API reference
Authentication, endpoints, and the cross-chain payment lifecycle.