Fees and Spread
Fees and spreads charged by the protocol
Narwhal Trading Fees & Spreads
Complete Guide to Trading Costs
📊 Fee Structure Overview
Understanding trading costs is crucial for successful trading. Narwhal uses multiple fee types to ensure fair pricing, protect liquidity providers, and maintain platform sustainability.
Quick Reference Table
Opening Fee
Opening positions
0.08%
Total position size
Closing Fee
Closing positions
0.08%
Total position size
Base Spread
Opening only
0.025% (crypto/stocks), 0% (FX)
Position size
Price Impact
Opening only
Variable
Position size
Borrowing Fee
Daily (per block)
Variable by asset
Collateral amount
Funding Fee
Daily (per block)
Variable by skew
Position size
💰 Trading Fees
Opening & Closing Fees
Purpose: Platform revenue and liquidity provider compensation
Rate: 0.08% of total position size Applied to: Position size (collateral × leverage) When charged: Upon opening and closing positions
Example:
Collateral: $1,000
Leverage: 10x
Position size: $10,000
Opening fee: $10,000 × 0.08% = $8
Closing fee: $10,000 × 0.08% = $8
Total trading fees: $16
📈 Spreads & Price Impact
Base Spread
Purpose: Simulate bid/ask spread found on traditional exchanges
Rates by Asset Class:
Crypto pairs: 0.025%
Stock pairs: 0.025%
FX pairs: 0% (no spread)
When applied: Only when opening positions How it works: Added to the oracle price to determine your execution price
Example:
BTC/USD oracle price: $50,000
Base spread: 0.025%
Long entry price: $50,000 × (1 + 0.025%) = $50,012.50
Short entry price: $50,000 × (1 - 0.025%) = $49,987.50
Price Impact
Purpose: Protect liquidity providers from large directional trades and simulate real market depth
Formula:
Price Impact (%) = (Current Open Interest + New Trade Size ÷ 2) ÷ Market Depth
Market Depth by Asset:
Crypto: Binance 1% depth × 2 (conservative estimate)
Stocks:
Tier 1: $10M depth
Tier 2: $5M depth
Tier 3: $2.5M depth
FX: No price impact (infinite liquidity assumption)
When applied: Only when opening positions
🧮 Price Impact Calculation Example
Scenario: Opening BTC/USD Long
Market conditions:
Current long open interest: $500,000
New trade position size: $200,000
BTC market depth: $20,000,000
Step 1: Calculate price impact
Price Impact = ($500,000 + $200,000 ÷ 2) ÷ $20,000,000
Price Impact = ($500,000 + $100,000) ÷ $20,000,000
Price Impact = $600,000 ÷ $20,000,000
Price Impact = 0.03 = 3%
Step 2: Add base spread
Total cost = Price Impact + Base Spread
Total cost = 3% + 0.025% = 3.025%
Step 3: Calculate execution price
Oracle price: $50,000
Execution price = $50,000 × (1 + 3.025%)
Execution price = $51,512.50
Impact on your trade:
Position size: $200,000
Extra cost: $200,000 × 3.025% = $6,050
This protects liquidity providers from the market impact of your large trade
⏰ Time-Based Fees
Borrowing Fees (Rollover)
Purpose: Simulate the cost of borrowing capital for leveraged positions
How it works:
Charged per block on your collateral amount
Rate varies by asset volatility (measured by Average True Range)
Higher volatility = higher borrowing costs
Calculation:
Borrowing Fee = (Current Block - Open Block) × Fee Rate Per Block × Collateral
Fee Rate Determination:
Annual Rate = (4-week ATR ÷ 4-week Average Price × 100)^1.25 × 52 ÷ 20
Per Block Rate = Annual Rate ÷ 10,512,000 blocks per year
Example:
Position opened at block: 1,000,000
Current block: 1,010,000 (10,000 blocks later)
Collateral: $1,000
Annual borrowing rate: 15.7%
Per block rate: 15.7% ÷ 10,512,000 = 0.000001493%
Borrowing Fee = 10,000 blocks × 0.000001493% × $1,000
Borrowing Fee = $0.15
Funding Fees
Purpose: Incentivize balanced long/short ratios to protect liquidity providers
How it works:
Market skew creates funding rates
Longs pay shorts when there are more longs than shorts
Shorts pay longs when there are more shorts than longs
No fees when the market is perfectly balanced
Rate Calculation:
Market Skew = (Long OI - Short OI) ÷ Total OI
Funding Rate increases with skew magnitude
Example Scenarios:
Balanced Market
Long OI: $1M, Short OI: $1M
Market skew: 0%
Funding rate: 0%
Long-Heavy Market
Long OI: $1.5M, Short OI: $500K
Market skew: +50%
Longs pay shorts (positive funding rate)
Short-Heavy Market
Long OI: $500K, Short OI: $1.5M
Market skew: -50%
Shorts pay longs (negative funding rate)
Charging mechanism:
Applied to total position size (not just collateral)
Charged per block based on current skew
Automatically credited/debited from position value
💡 Cost Optimization Tips
Minimize Trading Fees
Size positions appropriately - larger positions don't increase fee percentages
Plan entries and exits - avoid overtrading
Consider fee impact when setting take profits
Reduce Spread & Price Impact
Trade during liquid hours when market depth is highest
Split large orders into smaller chunks if possible
Choose liquid pairs - major crypto and FX pairs have better execution
Avoid trading during major news when spreads may widen
Manage Time-Based Fees
Monitor borrowing costs for long-term positions
Consider funding rates when choosing position direction
Close positions during unfavorable funding periods if profitable
Use lower leverage to reduce borrowing fee impact
Smart Position Management
Factor all costs into your profit targets
Monitor accumulated fees in position details
Consider total cost of ownership for longer-term trades
Use stop losses to limit fee accumulation on losing trades
📊 Fee Transparency
Real-Time Monitoring
All fees are displayed in real-time:
Estimated costs shown before trade execution
Accumulated fees visible in open positions
Historical fee data in trade history
Current funding rates displayed for each pair
No Hidden Costs
All fees disclosed upfront
Predictable calculation methods
Blockchain transparency - all fees recorded on-chain
Fair application - same rates for all users
🎯 Understanding Total Trading Costs
Opening a Position - All Costs
Total Opening Cost = Opening Fee + Base Spread + Price Impact
Example: 0.08% + 0.025% + 1% = 1.105%
Holding a Position - Daily Costs
Daily Holding Cost = Borrowing Fee + Funding Fee (if applicable)
Varies by asset and market conditions
Closing a Position - Final Cost
Closing Cost = Closing Fee (0.08%)
No spread or price impact on closing
Total Round-Trip Example
Opening a $10,000 BTC position:
Opening fee: $8
Base spread: $2.50
Price impact: $100 (1% example)
Opening total: $110.50
Holding for 7 days:
Borrowing fees: ~$3/day = $21
Funding fees: Variable (could be +$5 or -$5)
Holding total: ~$21
Closing the position:
Closing fee: $8
Closing total: $8
Grand total: ~$139.50 (1.395% of position size)
Spread
A base spread is considered to simulate a bid/ask spread on a CLOB exchange for execution price. Currently, a base spread of 0.025% is applied on the spot price returned from the oracle. Spread only applies when opening a trade
Price Impact
Price impact is implemented to simulate execution price in a CLOB exchange mechanism, protecting NLP holders from directional skew. As such, we take the current aggregate open interest on the platform plus half of the trade position size, divided by 1% of order book depth on a reference exchange. It is calculated as follows:
Note: Price impact never applies when closing a trade
Methodology:
For crypto, 1% depth is calculated as the 1% depth of Binance multiplied by 2. Our pricing oracle uses the median price of 7 centralized exchanges; hence, multiplying the depth of the most liquid exchange by 2 serves as a conservative measure
For stocks, the 1% depths are set at $10m (tier 1), $5m (tier 2), and $2.5m (tier 3) in both directions (long/short).
There is no price impact for FX.
Example:
Asset: BTC/USD
1% depth above: $20M
Long open interest: $500k
New trade position size: $200k (collateral x leverage)
The price impact (%): 500k + 200k/2 20m = 0.03%
Then add the spread (0.025%) → 0.03% + 0.025% = 0.055%.
Borrowing Fee
Borrowing fees simulate borrowing costs as the Narwhal platform provides synthetic leverage and maintains solid risk management for the protocol.
Calculation
Rollover fees are charged on the initial collateral of the trade and tallied on a per-block basis. The rollover fee rate is annualized and then divided as a per-block fee, assuming the chain processes 28,800 blocks per day or 10,512,000 blocks per year.
Rollover Fee Methodology
Rollover fees should vary depending on the volatility of the underlying assets being traded, which is measured using the average true range (ATR) indicator, expressed as a percentage over the average closing price (ATRP):
Where:
X = 1.25
Y = 20
Assumed 10,512,000 is the number of blocks per year.
Example:
Current block: 1,010,000
Trade open block: 1,000,000
Rollover fee %: 157% = 0.00001% per block
Collateral: $1,000
Rollover fee = (1,010,000 - 1,000,000) * 0.00001/100 * 1,000 = 1
Funding Rate
To book perpetual exchanges, a funding rate is introduced to incentivize perpetual prices to trade at par to spot prices through a funding rate mechanism, where longs pay shorts if contracts are traded at a premium to spot and vice versa. Narwhal Finance uses oracle-based pricing but includes a funding fee to incentivize neutral long-short skew to better protect NLP holders. Similar to rollover fees, funding fees are charged on a per-block basis. However, fees are charged on the total position size rather than the initial collateral.
Where:
X = 1.25
Y = 60
Blocks per year
ATR: Average True Range; calculated as:
If the negative value is added to the trade value like a positive PnL, and the liquidation price goes further away. If the value is positive, it is removed from the trade value like negative PnL, making the liquidation price closer.
However, if the funding fee rate per block corresponds to 40% per year, it doesn’t mean that 40% will be charged at all times. It will only be the case if there is 0 exposure on the opposite side, as the funding rate is only applied to the pair's net exposure.
For example, if this pair has $1m long exposure and $500k short exposure, the funding fees paid will be ($1m—$500k) * 40 / 100 = $200k per year, which represents a cost of 20% / year for longs and a reward of 40% / year for shorts.
❓ Frequently Asked Questions
Why are there so many fee types?
Each fee serves a specific purpose in maintaining platform stability, protecting liquidity providers, and ensuring fair market conditions.
Can I avoid price impact?
Price impact reflects real market conditions. Smaller trades have a lower impact, and trading during liquid periods helps minimize costs.
How do funding rates work?
You either pay or receive funding based on market skew. Balanced markets have zero funding rates.
Are fees the same for all users?
All users pay the same transparent fee schedule regardless of trading volume or account size.
Understanding these costs helps you make informed trading decisions and optimize your strategy for maximum profitability.
Last updated