Fees
Last updated
Last updated
Trading fees are necessary to help sustain the protocol over the long term. They are broken out into 3 areas; position fees, funding fees, and borrowing fees.
Position fees are paid when opening, increasing or decreasing a position. They are based on position size and a trading rate that is set per asset as follows:
Asset Class | Rate |
---|---|
Innovation is the name of the game, and we've done just that! Traditional funding rates tend to have large downside for traders, who pay volatile funding fees in order to keep their positions healthy. By introducing velocity-based funding fees, Vela Exchange supports market making with a stable and predictable model, while massively reducing fees for traders.
Velocity-based Funding fees are in place to keep open interest balanced while maintaining appeal to market makers. By smoothing out the time it takes to reach the target funding rate, market makers are incentivized to balance OI and the reduce skew. All parties benefit from the resulting stability:
Traders experience more predictable, reduced funding fees
LPs benefit from reduced counterparty risk as OI skew becomes balanced
Market makers and traders can arbitrage on Vela Exchange in order to earn funding fees
The funding rate is determined by the following variables:
targetRate: the funding rate at which an equilibrium would be established (ie: fundingVelocity = 0) given OI and tempMaxRate do not change.
tempMaxRate: the highest funding rate possible per asset, it varies with historical asset volatility
longBias: ensures that longs pay shorts when OI is balanced by a small percentage. Defaulted to 2.5% for crypto assets and 0% for non-crypto assets.
skewRatio: the difference between long and short OI divided by the total OI limit at that time
velocityFactor: this determines the velocity at which the funding rate proceeds to the target rate. Defaulted to 24hrs for all assets.
volatilityFactor: this is the output of the volatility and therefore risk associated with each asset; it is based on the average true range percent (ATR%) over the past 21d period
openInterest (OI): the total amount of all open positions, per asset, per side (long/ short)
maxRateFactor: a config parameter for mapping asset volatility to the maximum possible desired funding rate per asset. Defaulted to 0.5% for all assets.
The funding velocity can be expressed as:
A funding index (unique to each asset) is introduced which is updated each time a trading event is triggered. It increases/decreases over time based on a positive/negative funding rate as follows:
For example, lets say: the user opens a 100k BTC long position and the current funding index for 15010.
A simple flow for illustration:
user calls a function to open a new position which sets fundingIndex[posID] = 15010.
user holds position for a few hours at which time they decide to close 80% of their position. Now, due to dynamic conditions with other users opening and closing BTC positions as well as BTC funding rate changing, the funding index for BTC is now 15510.
user pays 80% * 100k * (15510 - 15010)/1000000 = $40
A borrow fee is implemented to help mitigate/offset the vault's risk of always taking the opposite side of each trade. The borrow fee will be based on the position size as well as the duration, in seconds, the position is held open.
Borrow rate will be determined per asset by using each assets historical volatility. This is set manually, based on analysis, and will be periodically reviewed and updated to ensure the vault's risk is being managed appropriately.
We use Average True Range (ATR) over a 21d period to determine an asset's risk to the vault. All fees are automatically and dynamically adjusted according to this percent in order to assign OI and fees.
Minting VLP incurs a fee of 0.05%. This fee will be waived during the Hyper VLP event.
This new mechanism will simulate an order book by adding a slippage percentage to each order that is proportional to the vault utilization and position size.
Each index token will have its own slippage factor that will be a function of the tokens historical volatility, that of which is most often correlated to depth of market.
Each index token will have its own slippage factor that will be a function of the tokens historical volatility, that of which is most often correlated to depth of market.
Upon order confirmation of a new position users can also manually enter the max slippage that they are willing to accept as shown in the red box. The order will only execute if the execution price is less than the current mark price plus/minus (if long/short) the slippage percent entered here.
Solving for funding rate,, as a function of time, , yields the following:
From this is can be shown (given no changes in OI) that when (24 hrs) then will have moved by approximately 63% of the deltaRate to target. For example assume BTC funding rate is currently 0.001%/h and Bob opens a large BTC long position making the new targetRate = 0.005%/h. If no other trades are made on BTC after this point then 24 hrs later the new fundingRate on BTC will be ~ 63% x (0.005 - 0.001) + 0.001 = 0.00352%/h.
Asset | Current Slippage Factor |
---|---|
BTC/USD
100
ETH/USD
100
LTC/USD
200
ADA/USD
200
DOGE/USD
200
SHIB/USD
200
ARB/USD
200
SOL/USD
200
MATIC/USD
200
AVAX/USD
200
ATOM/USD
200
DOT/USD
200
BNB/USD
200
PEPE/USD
400
XRP/USD
200
CRV/USD
150
MKR/USD
200
OP/USD
200
LINK/USD
200
INJ/USD
200
PYTH
400
BONK
400
TIA
400
SEI
400
SUI
400
KAS
400
TAO
400
NEAR
400
W
400
WIF
500
TON
400
FLOKI
400
MEME
400
BOME
500
UNI
300
FTM
300
AAVE
300
GMX
300
STX
300
ORDI
300
ZRO
300
TRX
300
POPCAT
300
POL
200
BTC/ ETH
0.05%
Crypto Alts
0.06%-0.08%