LI.FI and Avail Deposits can both help users move assets across chains, but they begin from different product problems.
LI.FI begins with routing: how can an application find and execute a route between a source asset and a destination asset across bridges, exchanges, solvers and other liquidity sources?
Avail Deposits begins with an application outcome: how can a user fund a trade, lending position, prediction, vault or other action when their liquidity is distributed across different chains and tokens?
This distinction affects what users see, how developers integrate the product and how closely the cross-chain journey connects to the destination application.
The most important difference is where the journey begins
A conventional cross-chain interface typically asks the user to specify:
- The source chain
- The source token
- The amount being sent
- The destination chain
- The destination token
LI.FI provides the infrastructure needed to build this kind of experience. Its routing engine aggregates bridges, DEXs and solvers, and its Widget lets applications preselect or restrict chains, tokens and route providers. Teams can use the Widget, SDK or REST API depending on how much interface and execution control they need.
Avail Deposits reverses the flow. The application defines the destination chain, destination asset and contract action. The user enters the amount they want to deposit and selects which eligible balances should fund it.
For example, a lending market can configure the destination as 100 USDC on Arbitrum and define the contract call required to supply that USDC. The user does not need to construct a bridge-and-swap route. They choose how to fund the deposit, and Avail coordinates the required source swaps, cross-chain transfer and destination execution.
In Avail’s Deposit mode, the destination is deliberately locked while the user chooses the amount and the balances used to pay. The application also supplies an executeDeposit builder that defines the contract action performed after the funds reach the destination.
Compare the integration model
Both products support a pre-built interface and a lower-level developer integration, but the level of abstraction is different.
LI.FI gives teams extensive control over route selection. An integrator can allow, deny or prefer specific bridges and exchanges, choose between recommended, cheapest, fastest or safest routes, set slippage and configure gasless routes where eligible. Its Widget can also use its own wallet management or integrate with an application’s existing wallet solution.
Avail offers a more constrained Deposit configuration because the application has already decided what the user is trying to accomplish. The developer sets the destination and provides the contract call; the Widget handles balance selection, route review, progress, errors and completion callbacks. The application can then refresh balances, open the funded position or move the user directly to the next relevant screen.
The practical question is therefore not simply, ‘Which SDK has more options?’ It is: Does your team want to own the cross-chain routing interface, or does it want to embed a destination-specific funding experience?
Compare how funding is expressed
Both products support input-based and output-based quoting, but the role of exact output is particularly important for application deposits.
With exact input, the user decides how much of a source asset to spend and receives the best available destination amount. This works well for wallets, swaps and transfers where the user begins with a specific balance.
With exact output, the application or user specifies the destination amount. The system calculates how much source liquidity is required. This is better suited to actions such as:
- Supply exactly 1,000 USDC to a lending market
- Fund a $100 prediction
- Add a defined amount of collateral
- Purchase an asset with a known price
- Deposit a specific amount into a vault
LI.FI’s quote API accepts either from Amount or to Amount, giving developers both exact-input and exact-output quote patterns. Its standard quote model still identifies one source chain and one source token for each request. More complex routes can contain several execution steps and may require sequential transactions or network changes.
Avail’s exact-output flow can select from eligible balances across multiple tokens and chains. The user signs one intent describing the selected sources, destination and fees. A solver then supplies the requested liquidity on the destination while settlement from the source chains happens through the Nexus flow.
This is an important comparison point for users with fragmented liquidity. A single-source route answers, ‘How do I move this balance to the destination?’ A multi-source deposit answers, ‘How can I use my available portfolio to fund this amount?’ That is a more meaningful distinction than simply comparing the number of supported chains.
Compare transaction and execution behaviour
‘Cross-chain in one flow’ does not always mean ‘one blockchain transaction.’
LI.FI distinguishes between quotes and routes. A quote represents a single execution step with transaction data ready to sign. A route can include several dependent steps, such as a source swap, bridge and destination swap. The SDK manages approvals, network switching, transaction submission and status monitoring, but the number of user actions depends on the route returned.
Avail coordinates the operation through one signed intent, even when funds are selected from more than one supported source. The intent records the source balances, destination amount and fees. Source funds are deposited into vault contracts, a solver fronts the destination liquidity and settlement happens afterwards. If the intent expires before fulfilment, the documentation states that source funds are refunded.
A fair comparison should record:
- Wallet signatures required
- Approvals required
- Source-chain transactions
- Network switches
- Destination transactions
- Time until the destination action completes
Transaction count alone can hide the difference between a wallet signature, token approval, solver-submitted action and user-submitted transaction.
Compare gas, fees and slippage as part of the experience
Both products expose mechanisms for handling gas, but they approach it through their respective execution models.
LI.FI supports gasless or relayer routes where eligible. It also offers LI.Fuel, which can convert part of a bridged amount into native gas on the destination. Route responses can expose gas costs, provider fees, integrator fees, price impact and slippage settings. Integrators can also configure their own fee through the Widget, SDK or API.
Avail’s intent presents the selected sources, destination and a fee breakdown that can include cross-chain gas, protocol and solver fees. Its exact-output SDK also lets the application request a native token amount alongside the destination asset when the user needs gas for a subsequent transaction.
For deposits that use destination execution, however, the more relevant question is whether the user needs to separately prepare gas before completing the intended application action. Avail’s Swap And Execute and Deposit flows are designed to coordinate the destination contract call as part of the same connected journey.
When comparing the final interfaces, builders should verify that users can see:
- The amount they will spend
- The amount the destination will receive
- Provider and protocol fees
- Estimated gas costs
- Slippage or minimum received
- Any integrator fee
- What happens if the final destination action cannot complete
Compare recovery, not just successful routes
Cross-chain products should also be evaluated on what happens after a route partially completes.
LI.FI’s status model distinguishes between completed, partial, refunded and failed transactions. For example, a bridge can complete while the destination swap fails. In this situation, the user may receive the intermediate bridged asset rather than the requested destination asset. Refund behaviour can also depend on the underlying bridge used.
Avail’s native intent lifecycle describes created, deposited, fulfilled and expired states. An unfulfilled intent expires and the source deposits are refunded. Its Widget and SDK also provide progress events and completion or error callbacks that the application can use to keep the user inside the product journey.
A useful proof of concept should deliberately test:
- Quote expiry before confirmation
- Wallet rejection
- Insufficient source balance
- Source approval failure
- Destination price movement
- Destination contract-call failure
- A route that returns an intermediate asset
- An expired or unfulfilled intent
The winning integration is not necessarily the one that produces the best quote in a perfect test. It is the one that lets the application explain and recover from imperfect execution most clearly.
Compare coverage using the routes your users need
LI.FI documents support across multiple blockchain environments and aggregates a wide range of bridges, exchanges and solvers. This makes it a strong option when breadth of routing coverage is central to the product.
Avail narrows the experience around supported app-funding routes, but its swap pipeline can itself quote multiple aggregators, including LI.FI, Bebop and 0x. This means the relationship is not purely competitive: LI.FI can be part of the routing infrastructure beneath an Avail-powered deposit.
Source: Avail cross-chain swap architecture
Instead of comparing headline chain counts, build a route set from real user behaviour. For each provider, test:
- Your five most common source chains
- Your two or three required destination assets
- Small, medium and large deposit amounts
- Native assets, stablecoins and long-tail tokens
- Exact-input and exact-output requests
- Users funded on one chain
- Users with balances distributed across several chains
Record quote availability, output amount, fees, confirmation requirements, execution time, destination completion and recovery behaviour. This produces a comparison that is useful to builders instead of a table of marketing claims.
Which solution should you use?
Choose Avail Deposits when:
- The destination application and action are already known
- Users should enter the amount they want to fund rather than construct a route
- Users may need to combine liquidity from multiple supported chains or tokens
- The destination contract call should follow funding automatically
- Unified balance selection and in-app continuation are more important than exposing route choice
- The application wants a purpose-built deposit interface with less routing logic in its own UI
Choose LI.FI when:
- Your product needs a general-purpose cross-chain routing layer
- Broad chain, token, bridge and exchange coverage is a primary requirement
- Your team wants detailed control over route providers, priorities and execution
- You are building a wallet, exchange or multi-purpose swap interface
For some applications, the choice may not be exclusive. Avail can provide the application-facing deposit experience while routing providers, including LI.FI, participate beneath parts of the execution stack.
The final decision should be based on which layer your team needs to integrate and which experience it wants users to see.