> ## 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.

# Smart Deposit Addresses

> A swap completed with a single token transfer to a unique deposit address. No approval, no router transaction.

Smart Deposit Addresses let a user complete a swap with a single token transfer to a unique deposit address. There's no approval and no router transaction to sign.

## The problem

The standard swap flow asks the user to sign twice: an ERC-20 approval, then the router transaction. That means approval-management UX, extra gas, and a drop-off point where users abandon the flow. For custodial and exchange-style products that can only send a plain transfer, approve-and-execute doesn't fit at all.

## How LI.FI solves it

LI.FI derives a unique deposit address for the trade. The sender transfers the input tokens to that address with an ordinary transfer, and LI.FI executes the swap from there and delivers the output to the recipient. If the trade can't complete under the supported flow, LI.FI returns the funds to the configured sender/refund address.

|                              | 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                     |

## What you see as an integrator

* **Standard quote and route flow.** When Smart Deposit Addresses are enabled for your integrator key, the option appears in routing. The returned step is a plain transfer to the deposit address, with no approval step.
* **Status by deposit address.** Track the trade using the deposit address rather than a source transaction hash. Query the status endpoint with the deposit address and its source chain:

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

A response while the trade is in flight looks like this:

```json theme={"system"}
{
  "status": "PENDING",
  "substatusMessage": "Waiting for funds to arrive at the deposit address."
}
```

The `status` moves through `PENDING` to `DONE` once execution completes, or to `FAILED` if the trade could not complete and the funds were returned.

<Note>
  Query `depositAddress` together with `fromChain`. Use this in place of a transaction hash when tracking a deposit-address trade.
</Note>

## Scope

* **EVM chains only.** Currently supported: Ethereum, Arbitrum, Base, Optimism, Polygon, BSC, Avalanche, and Fantom. The live set is confirmed when the feature is enabled for you.
* **Same-chain swaps.** This is the supported flow today.
* **ERC-20 tokens.** Native-token inputs and tokens that tax transfers aren't supported as the input.
* Requires the expected sender/refund address on the quote request.

## Availability

Smart Deposit Addresses are an enterprise feature, enabled per integrator.

<Card title="Contact the LI.FI team to enable" icon="envelope" href="https://li.fi/contact-us/">
  Tell us your chains and the flow you want to support. We confirm coverage and enable Smart Deposit Addresses for your integrator key.
</Card>
