· four exchange APIs · rebuilt daily

The finding
Liquidating a 1,000,000 USD long position costs between 12,450 USD and 24,500 USD in direct friction before tax liabilities occur.
Funding rate carry accounts for up to 60% of total position erosion over a 30-day holding period.
Venue-level fee differentials change the net unwinding cost by over 100 basis points.
Liquidating a 1,000,000 USD long position costs between 12,450 USD and 24,500 USD in direct friction before tax liabilities occur. Traders tracking paper gains often miss where crypto wealth actually goes when transitioning from exchange margin to a bank balance.
Holding a leveraged perpetual position incurs hidden interest through funding rates settled every 8 hours. When market sentiment leans long, long traders pay short traders every 8 hours. On high-beta assets, these small payments accumulate into significant balance drains.
Holding a 1,000,000 USD long position in Solana (SOL) on Bitget, MEXC, or OKX costs 0.0100% per 8-hour interval. That translates to 0.0300% per day, or 0.9000% over 30 days. Holding that single position bleeds 9,000 USD in cash balance every month purely in funding payments. On Bybit, where the SOL funding rate sits at +0.0016% per 8 hours, the 30-day cost drops to 1,440 USD. Venue choice creates a 7,560 USD difference in monthly carry cost on the exact same token capital.
| Asset | Venue | 8h Funding Rate | 30-Day Carry Rate | 30-Day Cost (1M USD Position) |
|---|---|---|---|---|
| SOL | Bitget / MEXC / OKX | +0.0100% | +0.9000% | 9,000 USD |
| SOL | Bybit | +0.0016% | +0.1440% | 1,440 USD |
| ETH | Bitget | +0.0080% | +0.7200% | 7,200 USD |
| ETH | Bybit | -0.0018% | -0.1620% | -1,620 USD (Earned) |
| BTC | MEXC | +0.0036% | +0.3240% | 3,240 USD |
| BTC | Bybit | +0.0006% | +0.0540% | 540 USD |
Worth knowing
Negative funding rates mean short positions pay longs. On Bybit ETH perps, holding a 1,000,000 USD long earns 1,620 USD over 30 days instead of costing capital.
Closing a perpetual contract requires paying taker fees if executed via market orders, or maker fees if executed via limit orders. When unwinding a large position, market orders guarantee execution speed but incur maximum exchange fees.
Published default futures taker fees vary significantly across exchanges. MEXC charges 0.0200% for futures takers, while Bitget charges 0.0300%, OKX charges 0.0500%, and Bybit charges 0.0550%. Closing a 1,000,000 USD futures position on Bybit via market order costs 550 USD in exchange fees. On MEXC, the same closing trade costs 200 USD.
| Exchange | Spot Maker | Spot Taker | Futures Maker | Futures Taker | 1M USD Futures Taker Cost |
|---|---|---|---|---|---|
| MEXC | 0.0000% | 0.0500% | 0.0000% | 0.0200% | 200 USD |
| Bitget | 0.1000% | 0.1000% | 0.0200% | 0.0300% | 300 USD |
| OKX | 0.0800% | 0.1000% | 0.0200% | 0.0500% | 500 USD |
| Bybit | 0.1000% | 0.1000% | 0.0200% | 0.0550% | 550 USD |
Once the futures position is closed, stablecoin margin like USDT must be converted into fiat currency or underlying spot assets. Spot taker fees on Bitget, Bybit, and OKX stand at 0.1000%. Trading 1,000,000 USD of USDT to fiat or spot assets costs another 1,000 USD in spot fees on these venues.
Where this goes wrong
High leverage increases effective fee drag relative to margin. Closing a 1,000,000 USD position on 20x leverage requires only 50,000 USD in equity, meaning a 550 USD taker fee consumes 1.10% of total account equity in a single trade.
Consider a trader holding a 1,000,000 USD long SOL perpetual position on Bitget for 30 days before converting the entire balance into fiat bank deposits.
First, the 30-day funding fee at +0.0100% per 8 hours consumes 9,000 USD directly from account margin. Second, closing the 1,000,000 USD perpetual position using a market order costs 300 USD at Bitget's 0.0300% futures taker rate. Third, swapping 990,700 USD of remaining USDT to USD spot incurs a 0.1000% spot taker fee, costing 990.70 USD. Fourth, institutional banking wires or OTC offramp desks apply conversion spreads ranging from 0.30% to 1.00%. At a standard 0.50% banking spread, offramping 989,709.30 USD costs 4,948.55 USD.
Total friction across the 30-day cycle equals 15,239.25 USD, or 1.52% of initial position size. If the same long position was held on Bybit, funding costs 1,440 USD, futures taker fees 550 USD, spot taker fees 998.01 USD, and banking spreads 4,985.06 USD, totaling 7,973.07 USD (0.80%).
What to do instead
Use limit orders to capture maker fee rates where available, reducing execution costs from 0.0550% to 0.0200% on venues like Bybit.
Offramping capital into traditional bank accounts introduces fiat friction that exchange UI numbers ignore. Banking networks flag large incoming wire transfers from crypto-adjacent entities, leading to settlement delays or mandatory compliance holds.
Furthermore, every step of the unwinding sequence creates a distinct tax event under most tax jurisdictions. Closing the perpetual contract realizes capital gains or losses on the derivative itself. Converting USDT to USD or EUR triggers a secondary foreign exchange realization event. When order book depth is thin, market order slippage expands execution drag past default fee schedule numbers.
Funding rates are charged every 8 hours based on market skew. On a 1,000,000 USD SOL long, an 8-hour rate of 0.0100% costs 300 USD per day, accumulating to 9,000 USD over 30 days.
Taker fees apply when market orders instantly remove liquidity from the order book, costing up to 0.0550% per trade. Maker fees apply when limit orders add liquidity to the book, costing 0.0000% to 0.0200%.
Among default published schedules, MEXC charges the lowest futures taker fee at 0.0200%, followed by Bitget at 0.0300%, OKX at 0.0500%, and Bybit at 0.0550%.
Paper profits are reduced by cumulative funding fees during the hold, futures closing fees, spot conversion fees, order book slippage, and OTC or banking fiat wire spreads.