Fee Mechanism of Infinity
First, there is 0% fees to deposit SOL or LSTs into the Infinity Pool. The previous section gives us a fair price for every pairwise swap within the pool. But in order to make money Infinity needs to charge fees.
Every asset in the pool has an inputFee
and outputFee
. The total fee for swap is the sum of the input and output fee.
Let’s examine a hypothetical bSOL->scnSOL
swap. What fee will Infinity charge?
Assuming the following fees:
asset | inputFee | outputFee |
---|---|---|
bSOL | 2 | 5 |
scnSOL | 3 | 4 |
The inputFee
for bSOL is 2 basis points (bps) and the outputFee
for scnSOL is 4 bps. The total fee is therefore 6 bps.
In this version of the program, the fee is flat: it does not increase as you swap more bSOL. Future versions of the program will be able to support ramping fees if we deem it desirable. We have abstracted out the pricing module into a separate program so it can be easily upgraded without touching the rest of the codebase.
Why do we charge fees in this way? And how do we determine inputFee
and outputFee
for each asset? These fees are set dynamically by the Infinity pool manager. Let’s see how this fee structure allows us to provide economic incentives to rebalance the pool.
Last updated