Skip to main content

Fees

Atlas charges two types of fees: a trading fee on position opens and a borrow fee that accrues over time.

Fee Summary

FeeRateWhen ChargedDestination
Trading feeConfigurable; public testnet currently 0.7% of position sizePosition openProtocol treasury
Borrow feeVariable hourly feePosition closeVault (LP revenue)

Trading Fee

A flat fee charged when opening a position, calculated on the position size (not collateral):

trading_fee = position_size × fee_rate_bps / 10000

The trading fee is locked in addition to your collateral at order creation:

amount_locked = collateral + trading_fee

Your position collateral remains the amount you entered, while the trading fee is paid to the protocol treasury when the order is processed.

Borrow Fee

A time-based fee for borrowing liquidity from the Vault. The fee is based on pool utilization and long/short imbalance over time, and accrues by whole-hour intervals until the position is closed.

The borrow fee has two components:

ComponentBased OnEffect
Base ratePool utilizationHigher utilization → higher fee for all positions
Skew rateOpen interest imbalanceIf longs outnumber shorts (or vice versa), the dominant side pays an additional fee

How it works:

  1. Atlas tracks a cumulative borrow-fee index for each market.
  2. The index is updated from pool utilization and long/short imbalance over time.
  3. Your position records the index level when it opens.
  4. When you close, Atlas calculates the accrued borrow fee from the difference between the current index and your entry index.
  5. The on-chain validator enforces a protocol-level cap on the borrow fee.

The borrow fee goes directly to the Vault, increasing LP token value.

Borrow Fee Formula

utilization = reserved_liquidity / total_liquidity
imbalance = abs(long_oi - short_oi) / total_oi

hourly_index_delta =
base_rate_from_utilization + skew_rate_for_dominant_side

position_borrow_fee =
position_size × (current_index - entry_index)

The skew component accrues only when your position is on the dominant side of open interest. If longs are heavier than shorts, longs accrue the skew component; if shorts are heavier, shorts accrue it.

ParameterDescriptionCurrent (public testnet)
borrow_rate_bpsHourly base rate at 100% utilization1 (0.01%)
skew_rate_bpsHourly skew rate at 100% imbalance1 (0.01%)
max_borrow_rate_bpsValidator cap for accumulated borrow fee100 (1% per hour)

Fee Flow Diagram

Fee Parameters

Fee rates are configurable on-chain protocol parameters stored in the ConfigDatum. They can be updated by the protocol operator.

info

Check the trading interface for current fee rates. Public testnet parameters can change as the protocol is tuned before Mainnet.