Skip to main content
Custodial systems are built to move assets, not to sign arbitrary contract calls. That single constraint rules out the standard on-chain swap flow. Smart Deposit Addresses reduce the whole trade to the one operation your platform already performs: a transfer.

What this changes for your product

Nothing new enters your signing path

No approval, no router transaction, no external contract surface for a risk team to review. The platform sends a transfer.

A swap you can offer without an order book

Conversion becomes a product feature rather than a listing decision and a market-making commitment.

Failures filtered before they reach you

Routes that would revert can be simulated out, which matters more here because unwinding a failed trade is your problem, not the customer’s.

Par pricing on like-for-like stablecoins

At exchange size, the per-hop leakage on dollar pairs isn’t a rounding difference.
A custodial platform sending a plain transfer to a derived deposit address, with LI.FI executing the swap and delivering to the recipient

The swap sits outside the signing path. Your platform only ever sends a transfer.

Why the usual approach stalls

A normal on-chain swap asks for two signatures: a token approval, then the router transaction. Custodial infrastructure is deliberately narrower than that. The signing path is audited, the set of permitted operations is short, and “call this contract with this calldata” usually isn’t on the list. Widening it means a security review of an external contract surface, which is a long conversation with a risk team and a fair one to have. Underneath sits a second constraint that has nothing to do with signing. You hold the customer’s asset, so a failed swap is yours to unwind. That inverts the tolerance for execution risk: a retail wallet can show an error, a custodial venue has to make the customer whole and then work out what happened. The cost of a route that reverts on-chain is much higher than the gas.

A swap that looks like a withdrawal

Smart Deposit Addresses derive a unique address for the trade. Your platform transfers the input tokens there, and LI.FI executes the swap and delivers the output to the recipient you named. Tracking changes shape to match. Rather than polling a source transaction hash, query the status endpoint with the deposit address and its chain:
The status moves through PENDING to DONE once execution completes, or to FAILED if the trade couldn’t complete and the funds were returned to your configured refund address.
Read the scope before designing around it. Coverage now spans same-chain EVM swaps, cross-chain EVM to EVM, EVM to Solana, and Solana to EVM, with Bitcoin to EVM in beta. The Solana lane is enabled separately from the EVM routes, and the live chain set is confirmed at enablement. Native EVM tokens such as ETH aren’t supported as the input, and neither are tokens that tax transfers. The expected sender and refund address is required on the quote request.

Execution quality, because failures are yours to unwind

Quote Simulation

Candidate routes are simulated before they reach you and the ones that would revert are filtered out, moving a class of failure out of your reconciliation queue entirely.

Smart Slippage

Tolerance derived per token from market data instead of one flat number applied to every pair, whatever its depth.
For platforms moving dollar-denominated volume between stablecoins, Stablecoin 1:1 prices eligible like-for-like pairs at par rather than through pool depth, so the amount out matches the amount in, net of any fee shown separately.

What to decide before launch

Smart Deposit Addresses now cover cross-chain routes as well as same-chain EVM swaps, but each lane is enabled separately and coverage moves. If a roadmap depends on a specific source chain, destination, or asset, check it against the current scope and your enablement before it reaches a design document.
It’s a required field. The operational difference between pointing it at an omnibus account and pointing it at a per-customer address shows up on the first failed trade, not during integration.
Your system already has a withdrawal state machine. The cheap version of this integration reuses it. The expensive version discovers halfway through that pending-at-deposit-address isn’t the same thing as pending-withdrawal.
Some platforms want conversion to be invisible and priced as a single rate. Others want to show the path. Both work, and the choice determines how much of the quote response you surface.

Where to start

Smart Deposit Addresses and Stablecoin 1:1 are enabled per integrator key, so enablement is a conversation rather than a signup. Quote Simulation and Smart Slippage need no access request. Bring your chains, your volume, and the specific flow you want to move off your order book.

Smart Deposit Addresses

The deposit flow, the status query, and the current scope.

Enterprise overview

The full feature set, and which features need per-integrator enablement.

Quote Simulation

Pre-broadcast simulation and what it filters.

Stablecoin 1:1

Par pricing on eligible like-for-like pairs.

Talk to the LI.FI team

Bring your chains, volume, and the flows you want to improve. We confirm which features fit and enable them for your integrator key.