Fee Model

Liquidity Provider Fees

We view using Across as being similar to lending protocols such as AAVE or Compound. When a user bridges a particular token from one chain to another, the fast bridge isn't "moving tokens from one chain to another" but, rather, it is a relayer or the protocol itself providing tokens on the destination chain in return for tokens on the origin chain. We choose to use a similar pricing model for our liquidity provider fees because of this parallel.

Utilization based pricing

We base our pricing model on the one described in AAVE's documentation. Let,

The (annualized) interest rate model is then defined by

We calculate the (annualized) interest rate for a particular loan by aggregating the marginal increases of utilization by integrating over this function

The actual fee that is charged will be based on making a loan at this rate for a 1 week time-span. The rate that is charged can be computed from:

and the fee would be

This might seem like a lot that you are required to understand, but when you are interacting with the bridge, these details will mostly be hidden from you and you will just see a value for the "liquidity provider fee".

We chose to charge prices this way to ensure that users are paying a "fair" price for the amount of utilization that their bridge transaction incurs.

Relayer Fees

Relayer fees play a similar role in the Across ecosystem as gas fees play in the Ethereum ecosystem. Relayer fees are a fee that the user sets to incentivize relayers to relay your bridge transaction.

Relaying a transaction has three costs for relayers:

  1. Gas fees: The relayer pays gas to perform the relay and to claim their repayment.

  2. Capital opportunity costs: The fact that the relayer is using their capital to perform a relay means that they are not using it for other yield opportunities.

  3. Capital at risk: A relayer takes on certain risks by relaying funds. If they make a mistake when relaying that could jeopardize their repayment of the capital they invested.

These fees are automatically set by the front-end but could also be set manually by interacting with the contract directly. If you set them manually, make sure to set them high enough so that a relayer would be willing to relay your transactions.

Last updated