tl;dr
- Trails v1.5 eliminates approval transactions entirely for stablecoins and major DeFi tokens, turning what was a two-step flow into one
- Multi-step operations (bridge, swap, deposit) now execute atomically in a single intent, with real-time balance injection between steps
- Gas costs drop across the board: one fewer onchain transaction per ERC-20 interaction, plus a new router contract that cuts overhead at execution time
- Fiat onramps (cards, Apple Pay, 100+ countries) and exchange deposits (Coinbase, Binance, Kraken) are built into the SDK, so developers can meet users wherever
- Since GA on February 5, Trails has grown from 300 developers and $12.5M in volume to ~500 developers and more than $200M in volume
Today, we're shipping an upgrade to Polygon Trails as part of the Open Money Stack that helps make the UX of your crypto app nearly frictionless. With this upgrade, we’ve eliminated approval transactions entirely and implemented composable, multi-step intents, because every transaction your user is forced to sign is another reason to drop off.
No longer: v1.5 is the conversion upgrade, improving your app’s UX and onchain logic.
Credit cards, Apple Pay, and exchange balances now route directly into cross-chain transactions, so that what used to take three or four confirmations executes in one. This lowers gas costs and makes it so users never have to leave your app.
Since Trails went GA on February 5, we've grown from 300 developers and $12.5M in volume to ~500 developers and more than $200M in volume. This upgrade is a direct result of what those teams told us while building in production.
If your app needs a user to bridge USDC to a new chain, swap it, and deposit into a vault, that's three transactions minimum. Each one is a wallet popup, a confirmation dialog, a moment where the user decides whether or not this is worth the effort. For apps competing with Robinhood and DraftKings for the same users, those extra steps are the difference between a funded account and a bounced session.
We compressed all of that into one click with v1.5.
Trails is the cross-chain orchestration layer of the Open Money Stack, Polygon Labs' infrastructure for connecting fiat payments, on/off-ramps, wallet services, and cross-chain routing into a single solution. It makes multichain logic dramatically simpler for developers to integrate and invisible for the people using their apps.
This upgrade, v1.5, is the biggest for Trails since launch. Here's what shipped.
The approval transaction is dead
Converting users in your crypto app can be difficult. Every ERC-20 interaction used to start with an approval transaction: a separate wallet popup before a user could do the thing they actually came to do on your app. For stablecoin apps, that meant every single one of your users hit a two-step flow on their first transaction.
And many of them never made it to step two.
This upgrade makes life easier for your users.
We eliminate the approve() step entirely for USDC, USDT, DAI, and major DeFi tokens like UNI, LINK, and Aave's aTokens in Trails v1.5. Any token implementing the EIP-2612 standard works automatically. That covers the vast majority of stablecoin and blue-chip DeFi volume on EVM chains.
No first-time setup. No infinite approval risk sitting in the wallet. One transaction, every time.
Here's how: v1.5 can inject real-time values between steps. If step one produces 98.7 tokens after slippage, step two uses exactly 98.7, not the 100 you estimated at quote time. Each step in the chain works with precise, actual balances instead of optimistic guesses that break or leave value on the table.
Trails bundles that signature directly into the intent execution. The relayer submits the signature and the action in one transaction, without requiring separate approval, a "first time setup," or infinite approval risk sitting in the user's wallet.
Each step in the chain works with precise, actual values instead of optimistic guesses that break or leave money on the table.
For stablecoin apps, payments, onramps, and checkout flows, what was always two steps is now one.
Composable actions: Multi-step flows, one intent
This is the biggest change with v1.5: Multi-step operations now run atomically in a single intent.
A prediction market user on Ethereum funding two separate positions on a different chain: one click. A user bridging USDC, swapping to a protocol's native token, and depositing into a liquidity vault: one click.
For developers, this unlocked composable actions, e.g. multi-step funding and position-entry flows that previously required custom smart contract logic are now standard Trails intents. The same applies to AI agents and automated strategies chaining DeFi actions programmatically.
// Bridge USDC from Ethereum, swap to protocol token, deposit into vault
// v1.5 handles balance injection between each step automatically
const quote = useQuote({
from: {
chain: "ethereum",
token: "usdc",
amount: "1000"
},
to: {
chain: "monad",
},
actions: [
{ type: "swap", token: "MON" },
{ type: "deposit", contract: "0xVault..." }
],
options: {
intentProtocol: "v1.5"
}
})
Costs are lowered by design
This upgrade brings an execution model that is more gas-efficient at a structural level.
The zero-approval flow eliminates a separate onchain transaction for every ERC-20 interaction. The new TrailsRouter contract reduces gas overhead further by resolving balances at execution time, removing post-transaction cleanup steps.
Less gas spent means better margins for developers and lower costs for users. The v1.5 contracts were audited by Quantstamp.
Meet users where their money is
Trails now supports two onramp paths to meet users wherever their money already lives.
Fiat onramp: credit cards, debit cards, Apple Pay, Google Pay, and bank transfers across 100+ countries, fully embedded in the app. Purchased crypto routes directly into the intended transaction. Buy and execute happen together.
Exchange deposits: users fund directly from Coinbase, Binance, Kraken, and other major platforms without leaving the app. They authenticate with their exchange account inside the Trails widget, select the amount, and the transfer is handled automatically. No copying wallet addresses, no selecting networks.
Both paths work with Trails' cross-chain routing. Users can fund on any chain regardless of where the payment rail or withdrawal lands.
18 mainnet chains, Solana on the way
Trails now supports Berachain, Monad, Soneium, and Sonic, bringing the total to 18 mainnet chains with full cross-chain routing. On Monad, Levr.bet is already live, with users funding positions from any chain in a single click. On Berachain, Trails handles the cross-chain deposits that the proof-of-liquidity mechanism requires.
We've also added Gas.zip and LayerZero as route providers alongside existing Relay, CCTP, SushiSwap, and 0x integrations. More routes competing for each transaction means better pricing automatically.
Solana support is in testing on mainnet. The first version will let users fund any EVM app directly from Solana USDC. More on this soon.
A better SDK
The SDK shipping alongside v1.5 is a major developer experience upgrade. The previous <TrailsWidget> accepted every configuration as flat props. A typical integration passed 15 to 20 props to render a checkout flow. That's gone.
The new API replaces it with purpose-built components: <Pay>, <Swap>, <Bridge>. Each has a focused, readable interface. Chain references are strings (chain: "base") instead of numeric IDs (toChainId: 8453). Configuration is grouped into objects instead of flattened. Bundle size is down roughly 50% from dropping heavyweight dependencies.
For headless integrations, custom checkout flows, or partner white-labels using the useQuote() hook, v1.5 is available by adding intentProtocol: "v1.5" to your quote options. Existing v1 integrations work unchanged.
Why this matters for conversion
On Amazon, cart abandonment sits above 70%. In crypto, wallet abandonment is worse. The standard onboarding flow for a cross-chain DeFi app asks users to approve a token, confirm a bridge, wait for finality, then sign another transaction on the destination chain. That's four separate friction points before the user does the thing they actually came to do.
v1.5 compresses that to one.
Whether you're building a tap trading app, a prediction market, a sports product, or any consumer app where the chain should be invisible to the user, this is the layer that determines whether users complete that first funding step or bounce.
Get started
Trails v1.5 is live now.
If you're already building on Trails, add intentProtocol: "v1.5" to your quote options and start testing composable actions. If you're new, the SDK docs are the fastest way to get running.
What is Trails?
Trails is the Open Money Stack’s cross-chain orchestrator. It helps crypto apps turn funding, payments, swaps, and deposits into simple in-app flows, even when a user’s money starts on a different chain, in an exchange, or on a card.
What changed in Trails v1.5?
Trails v1.5 removes separate approval transactions for supported stablecoins and major DeFi tokens, adds composable multi-step intents, lowers gas costs, and brings fiat onramps and exchange deposits directly into the SDK.
What does “1-click” mean?
It means users can complete multi-step actions like bridge, swap, and deposit in a single intent-powered flow. Instead of approving a token, bridging funds, waiting, swapping, and depositing separately, users confirm once and Trails handles the rest.
Who should use Trails?
Trails is built for financial institutions, fintechs, and enterprises that need to move money onchain without exposing users to fragmented crypto UX. As part of the Open Money Stack, Trails enables 1-click funding, payments, swaps, and deposits across chains. It is also useful for crypto-native apps like prediction markets, trading products, wallets, and DeFi protocols where users need cross-chain actions to feel invisible.







.png)

.png)
