Skip to main content
A product denominated in dollars treats every stablecoin as the same asset. The routing layer underneath it usually doesn’t, and the difference is paid on every hop, in basis points, by whoever is standing closest to the customer.

What this changes for your product

The output matches the input

Eligible like-for-like pairs are priced at par, so a hundred thousand in returns a hundred thousand out, net of any fee shown separately.

Size stops costing more

The rate doesn’t move with trade size, so a treasury rebalance receives the same rate as a retail transfer.

A commitment, not an estimate

Solvers commit to filling at the quoted rate rather than quoting a number that drifts by settlement.

Defaults built for dollars

A routing preset with tight slippage, a price impact cap, and a vetted path shortlist, in place of settings sized for volatile pairs.
A pool-routed swap losing basis points to fee tier, price impact, and slippage, against a par-priced swap delivering the input amount

Pool-routed pricing falls short with size. Par pricing doesn't move.

Why the usual approach stalls

Two stablecoins tracking the same dollar are economically equivalent and mechanically unrelated. Moving between them through pool liquidity means paying a fee tier, absorbing price impact against whatever depth exists at that size, and carrying slippage exposure between the quote and the fill. A transfer that should be flat comes back a few basis points short. That leakage compounds in a way a spreadsheet built on a single trade will miss. It scales with size, so the largest customers cost the most to serve. It repeats on every rebalance, so treasury operations pay it again on funds that never touched a customer. And it lands on the margin rather than the revenue line, which is why it usually gets found by finance rather than by engineering.

Par instead of pool depth

Stablecoin 1:1 prices eligible like-for-like pairs at par. LI.FI holds that rate by working with solvers through LI.FI Intents, where solvers quote eligible pairs at par and commit to filling at that rate. Par pricing sits alongside the other terms LI.FI holds solvers to on eligible flow, including fill reliability and settlement time.
Amounts are matched in nominal terms rather than raw units, so differing decimal precision between two tokens is handled rather than inherited.
Two boundaries are load-bearing. The guarantee is on the exchange rate, not on the transfer being free, and fees where they apply are charged and shown separately. A pair, chain, or size outside eligibility falls back to standard routing through the same request, with normal pricing and slippage. Read the rate you were quoted rather than assuming par arrived.

Routing built for dollars, not for trades

Outside the eligible pairs, a general-purpose default is the wrong default. A slippage tolerance sized for a volatile pair is unacceptable on a dollar transfer, and it charges the difference without announcing it. The stablecoin preset applies cheapest-first ordering, a tenth of a percent of slippage, a price impact cap, and a shortlist of transfer paths vetted for stablecoin movement.
Overriding one of the preset’s exclusion lists replaces that list rather than extending it, so a partial override can quietly re-enable a path the preset had ruled out.
For flows where the arriving amount is the number that matters, Intents lets you fix the output and let a solver work out the input required to deliver it. On a stablecoin product that’s almost always the load-bearing figure, because it’s the one a customer was promised.

What to decide before launch

Check that list against eligibility rather than against intuition. Two tokens tracking the same dollar aren’t automatically an eligible pair, and promising par on a pair that falls back to standard routing is a promise the routing layer didn’t make.
Par on the rate with a fee shown separately is honest and needs two numbers on screen. One blended number is simpler and stops being accurate the moment a fee changes.
The preset gives you a defensible starting point. Silence gives you whatever the general-purpose default happens to be, applied to money your customer thinks is fixed.
They have different sizes, frequencies, and often different eligibility. A single assumption covering both is the one that surprises the finance team a quarter later.

Where to start

Price your two highest-volume pairs through a standard quote and read the amount out. The gap between that number and the input is the annualized cost of doing nothing, and it’s usually the fastest way to get this prioritized.

Stablecoin 1:1

Eligibility, fallback behavior, and how the rate is held.

Stablecoin preset

Routing defaults and the override behavior.

LI.FI Intents

Fixing the output amount and letting a solver deliver it.

Enterprise overview

The full feature set and how per-integrator gating works.

Talk to the LI.FI team

Bring your pairs, chains, and volume. Par pricing is enabled per integrator key, so enablement starts with which flows it should cover.