Cross-Chain Swap Fees: Why Routes Differ for Integrators

Liquidity fees differ between routes for the same pair because each route consumes different pools, and each pool prices demand against its own depth. For an integrator, the relevant comparison is the net output for the same input and execution conditions, not a headline fee percentage.

Pool depth and trade size set the variable fee

In a constant-product pool, let x be the input amount, X the pool’s input-side reserve, and Y its output-side reserve. Before fees, output is xY/(X+x); the pool’s slip fraction is x/(X+x), so a slip-based liquidity fee is approximately x²Y/(X+x)², denominated in the output asset.

This makes the fee sensitive to trade size relative to depth. For example, a $20,000 trade against $2 million of input-side depth has a lower slip fraction than the same trade against $200,000 of depth. A route through a less liquid pool can therefore cost more even when both routes start and finish with the same assets.

Depth is only one part of the quote. Pool balances move with every swap, while arbitrageurs trade against external markets to restore price alignment. A quote can change between estimation and execution if another swap lands first; enforce a minimum output or maximum slippage bound so the trade fails or refunds when execution falls outside your user’s tolerance.

Each pool hop contributes its own price impact

A route that converts BTC to ETH through a shared settlement asset incurs liquidity impact at each pool, and the intermediate amount becomes the next hop’s input. Calculate each hop using its own reserves and fee rules, then value all hop fees in a common denomination before comparing the route total.

A direct BTC–ETH pool may have one fee calculation but limited depth; a BTC–RUNE–ETH path may access deeper pools, yet it crosses two liquidity curves. The second path wins only if its combined output, after both liquidity fees and any route-level charges, exceeds the direct route’s output. Summing quoted basis points without accounting for each hop’s changing amount can mis-rank routes.

If a user needs to move native BTC into ETH in one flow, the thor swap service provides a cross-chain swap route. For an integrator assessing a thor swap quote against another execution path, compare the resulting ETH amount and delivery costs at the same time, rather than treating the service’s route label as a fee estimate.

Fee floors and chain costs are separate from pool fees

A protocol may impose a minimum liquidity-fee floor when calculated slip is very low. Floors can vary by asset class, pair, or integration; for illustration, a 10 basis-point floor means at least $10 on a $10,000 swap, even if deep liquidity would produce less slip-based fee. Check which floor applies to the actual quote, especially when an affiliate or partner parameter changes fee selection.

Separate that liquidity fee from source-chain gas, destination-chain gas, and any integrator affiliate fee. These costs depend on transaction size, current gas rates, and fee policy; destination delivery costs can dominate a small swap even when its pool fee is negligible. A route with an extra pool hop does not necessarily mean an extra user-signed transaction, so model protocol settlement costs rather than assuming one external transaction per hop.

Compare executable quotes under the same conditions

For route selection, request quotes for the same input size and destination, then normalize expected output, liquidity fees, affiliate charges, and inbound and outbound costs into one unit. Include the quote’s minimum-output threshold and expiry or price-validity window; a lower estimate that frequently fails is worse execution for the user.

For a large trade, check whether the venue supports streaming or split execution: smaller sub-swaps can reduce per-swap slip, while taking longer exposes the order to price movement and arbitrage between fills. For small trades, splitting often loses to repeated fixed network costs or the minimum fee floor. The deciding criterion is the best executable net output at the user’s required completion time and failure tolerance.

Leave a Reply

Your email address will not be published. Required fields are marked *