> ## Documentation Index
> Fetch the complete documentation index at: https://docs.li.fi/llms.txt
> Use this file to discover all available pages before exploring further.

# Offer Swaps Without Widening Your Signing Path

> Offer on-chain swaps from a product that can only send a plain transfer, without widening your signing path.

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](https://mintcdn.com/lifi/PmU0d85L8IwCXHK-/images/use-cases/transfer-only-boundary.png?fit=max\&auto=format\&n=PmU0d85L8IwCXHK-\&q=85\&s=d523afdd41c7bd67fda94ddd390e6481)

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](https://docs.li.fi/enterprise/smart-deposit-address.md) 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.

| | Standard flow | Smart Deposit Addresses |
| - | - | - |
| Signatures | Approval, then router transaction | A single transfer |
| Approval UX | Managed by your app | None |
| Fits a transfer-only product | No | Yes |

Tracking changes shape to match. Rather than polling a source transaction hash, query the status endpoint with the deposit address and its chain:

```bash theme={"system"}
GET /v1/status?depositAddress={address}&fromChain={chainId}
```

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.

> [!WARNING]
>
> 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](https://docs.li.fi/enterprise/quote-simulation.md)**
>
> 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](https://docs.li.fi/enterprise/smart-slippage.md)**
>
> 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](https://docs.li.fi/enterprise/stablecoin-1-1.md) 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

> **Which of your flows this replaces, and which it doesn't**
>
> 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](https://docs.li.fi/enterprise/smart-deposit-address.md) and your enablement before it reaches a design document.

> **Who your refund address belongs to**
>
> 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.

> **How deposit-address status maps onto your ledger**
>
> 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.

> **Whether customers ever see the routing**
>
> 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](https://docs.li.fi/enterprise/smart-deposit-address.md)**
>
> The deposit flow, the status query, and the current scope.

> **[Enterprise overview](https://docs.li.fi/enterprise/overview.md)**
>
> The full feature set, and which features need per-integrator enablement.

> **[Quote Simulation](https://docs.li.fi/enterprise/quote-simulation.md)**
>
> Pre-broadcast simulation and what it filters.

> **[Stablecoin 1:1](https://docs.li.fi/enterprise/stablecoin-1-1.md)**
>
> Par pricing on eligible like-for-like pairs.

> **[Talk to the LI.FI team](https://li.fi/contact-us/)**
>
> Bring your chains, volume, and the flows you want to improve. We confirm which features fit and enable them for your integrator key.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.