Back to blog

May 3, 2026EN10 min

How Funding Fees Destroy Your Crypto Edge

Funding rates compound silently on every perpetual position. Here's what they actually cost — with worked numbers from Bybit BTCUSDT — and how to track them so they stop eating your edge.

How Funding Fees Destroy Your Crypto Edge

If you trade Bybit perpetuals and you have never opened a single trade and added up the funding column, you don't actually know what your edge is. You know what your screen says. The screen shows the closed PnL number Bybit prints next to each closed position. That number does not include funding. Funding is a separate ledger entry that gets quietly deducted from your wallet balance three times a day, every day, on every position you hold across the funding cutoff. After a busy month of swing trades, that ledger can erase a third of a winning strategy's profits — and most traders never look at it because the per-payment amount feels too small to bother with. That is the trap. Funding is small per event and large per quarter.

This piece is the unglamorous version of "fees matter, track them." We are going to look at exactly how Bybit calculates funding, what it costs in dollars on realistic position sizes, and what you actually have to do at the journal level to make funding visible — because if it is not visible, it does not change behavior.

Why this matters: how Bybit funding actually works

Perpetual futures don't expire. To keep the perp price tethered to spot, exchanges run a periodic cash transfer between the long and short side called funding. On Bybit, funding settles every 8 hours on most USDT-margined perpetuals, at fixed UTC times: 00:00, 08:00, and 16:00. If you are holding a position at the cutoff timestamp, you either pay funding or receive it. If you exit one second before, you pay nothing.

The amount per event is:

funding_payment = position_notional × funding_rate

where position_notional is your size in USDT and funding_rate is a per-event percentage that Bybit publishes per symbol. The sign convention follows the contract: when funding is positive, longs pay shorts. When it is negative, shorts pay longs. On Bybit's own ledger each funding settlement shows up as a separate execType: Funding execution with a signed exec_fee. The wallet impact is what matters: each funding event either credits or debits your USDT balance independently of the trade's price PnL.

The headline rate looks tiny. BTCUSDT funding sits in the 0.005% to 0.02% range per 8 hours under normal conditions, occasionally spiking to 0.05% or higher in trending markets. Annualized, the typical rate is roughly 5% to 22%. Annualized rates are misleading because no one holds a single perp position for a year. But they're useful for one thing: framing how aggressive funding is relative to interest rates in legitimate borrowing markets. You're not paying overnight margin financing at SOFR plus a couple of points. You're paying a market-clearing rate that swings with sentiment, and during a strong directional move it can absolutely outrun your edge.

Two more details that matter operationally:

| Detail | Implication for your PnL | |---|---| | Funding is on notional, not margin | At 10× leverage, a $5,000 margin position is $50,000 notional. You pay funding on the $50,000. | | Funding is continuous in time, but settles only at the cutoff | If you exit at 07:59 UTC you pay zero funding for that 8-hour block. If you exit at 08:01, you've just paid the full block. | | Funding rate changes per epoch | Each 8h window has a different rate, predicted from the previous window's premium. The rate that ultimately bills you is decided at the cutoff, not at the start. | | Bybit's "Closed PnL" view does not include funding | The number on your trade history page is gross of funding. Your wallet balance is net. The two won't reconcile if you only look at trade PnL. |

If you are holding overnight or across weekends, every one of those 8-hour cutoffs is a transaction. Three a day, seven days a week, twenty-one a week, eighty-four a month. On a single big position, that's eighty-four chances to bleed.

Real numbers: what funding actually costs

Let's price out three realistic scenarios so the abstract becomes concrete.

Scenario 1: a "small" overnight long

You buy 0.5 BTCUSDT at $70,000 with 5× leverage. Notional is $35,000. Margin is $7,000. You hold for 24 hours (three funding events: 00:00, 08:00, 16:00 UTC) and exit. Average funding rate over the day is +0.012% (longs pay).

funding_per_event = 35,000 × 0.00012 = $4.20
funding_per_day  = 4.20 × 3            = $12.60

That feels fine. You probably ignored it. But:

  • If your trade closed for $50 net PnL on the price move, funding has eaten 25% of your gross profit.
  • If you held for a week instead of a day, total funding is $12.60 × 7 = $88.20. On a $50 winner, you're now $38 in the red.

The rate also moves. If BTC is trending hard and the funding spikes to 0.04% per event (annualized ~43%), the same week costs you $35,000 × 0.0004 × 21 = $294. A "winning" trade idea that captured $250 of price movement is a losing trade once funding closes the books.

Scenario 2: a leveraged grind during a contango regime

You short 10 ETHUSDT at $3,500 with 10× leverage. Notional is $35,000. You held it for 48 hours during a period when ETH funding averaged −0.018% per 8h (i.e., shorts pay longs). Six funding events:

funding_per_event = 35,000 × 0.00018 = $6.30 (you pay because you're short and rate is negative)
funding_total     = 6.30 × 6            = $37.80

If the trade went your way and you captured a 1% move ($350 gross), funding has eaten 11% of the gross. Not a disaster. But repeat this hundred times across a year of swing trading, and you have an extra few thousand dollars of pure friction sitting between you and your equity curve. That is a meaningful chunk of an annual P&L for a part-time trader.

Scenario 3: the position you forgot

You open a $50,000 BTCUSDT long, get distracted, and let it sit for 30 days. Funding averages 0.01% per event. That's:

events_per_day = 3
total_events   = 90
funding_total  = 50,000 × 0.0001 × 90 = $450

$450 of pure carrying cost. If BTC went sideways and you exit at flat price, you have lost $450 plus the trading fees, with zero adverse price movement. Funding is the only thing that bled you. Most strategies cannot survive a 0.9% headwind on every trade — and for "set it and forget it" longs in a calm regime, that's the headwind they pay.

The asymmetry you should care about

Funding is paid on notional but realized PnL is paid on price movement. As you crank up leverage, your notional grows linearly while your margin stays the same. So your funding-as-percent-of-margin-deployed grows linearly with leverage too. At 1× leverage in scenario 1, funding was $12.60 on $35,000 of capital — 0.036% of your stack per day. At 5×, it's the same dollar amount but on $7,000 of capital — 0.18% of your stack per day. At 25×, it would be 0.9% of your stack per day, every day.

People who blow up on leverage rarely blow up purely from a single bad price move. They blow up because they are paying a multi-percent-per-week tax on equity while waiting for thesis to play out, and the equity runs out before the thesis does.

What to track

The reason most traders do not control funding is because they cannot see it. Bybit's UI shows funding as a wallet ledger entry, not as a per-trade attribution. Your closed-PnL page tells you what each trade made on price. It does not tell you what each trade cost you in funding. Until you have that attribution, you are flying blind on a meaningful component of your real return.

The minimum viable funding tracking setup:

  1. Per-trade funding column. Every closed trade should have one number: total funding paid or received over the trade's lifetime. Negative means received, positive means paid (or pick a convention and stick with it). Without this, none of the rest works.
  2. Funding-as-percent-of-net-PnL. Quarterly, look at total funding paid divided by absolute net PnL. If it's over 15%, funding is a non-trivial drag on your edge and worth optimizing. If it's over 30%, you are likely running a strategy that is profitable on price but unprofitable after carry — that's a strategy redesign signal, not a "track better" signal.
  3. Funding-by-symbol. Some symbols are systematically expensive to be long. If 80% of your funding paid is on three symbols, that's a hint to either avoid them or shorten holds on them.
  4. Funding-by-side. Are you bleeding funding because you're chronically long in a market where everyone else is chronically long? That's a structural cost of being on the popular side of the trade.

The frequency that matters is weekly, not per-trade. Looking at funding on a single trade is mostly noise — the price move dwarfs the funding for any short hold. Looking at funding rolled up across a week of trading reveals the pattern: which symbols, which sides, which holding periods are net donors versus net receivers. A monthly review of the same numbers tells you whether the pattern is structural (you are systematically on the expensive side of certain markets) or transient (one ugly weekend in a perp you usually do not trade). The decisions are different. Structural drag is a reason to drop a symbol or shrink position size on it. Transient drag is a reason to leave the symbol alone and take the lesson on holding through known-hostile funding regimes.

There is a temptation to instrument every cost into a real-time dashboard. Resist it. For funding specifically, a weekly attribution and a monthly trend is enough. The decision cycle on whether to keep trading a symbol is measured in weeks; instrumenting it in milliseconds adds noise without adding signal.

PerpLog computes this directly. The funding_pct_of_net KPI on the dashboard is total_funding / |net_pnl| × 100 — a single number that tells you whether funding is a meaningful drag on your account. The funding-by-symbol breakdown is in the same panel. The Trades page also exposes a filter to surface trades by funding sign so you can sort the systematic offenders to the top in seconds.

Common mistakes

A few patterns I see repeatedly in real trader journals:

1. Treating funding as "fees" — a single bucket. Bybit charges three types of cost on a perp trade: trading fees (maker/taker on entry and exit), funding (every 8h cutoff while open), and occasionally borrow fees on certain products. They are different in nature: trading fees are linear with turnover, funding is linear with held notional. Lumping them together as "fees" hides the actionable insight. A high-frequency strategy can have huge trading fees and zero funding (everything closes intraday). A position trader can have tiny trading fees and crippling funding. The fix is the same as for any analytics question: separate the buckets.

2. Ignoring the cutoff timing. Some traders genuinely don't know that closing at 07:59 UTC means zero funding for that 8h block, while closing at 08:01 means full funding. If you have flexibility on exit timing — say, you're exiting on a manual decision rather than a hard SL — and you're paying meaningful funding, time exits before the cutoff. Five extra minutes of risk versus one full funding event paid: in the scenarios above, the cutoff awareness is worth $4–10 per event. That adds up.

3. Holding through funding spikes. Funding rates are predicted intra-period but can swing wildly during high-volatility windows. If the next funding rate is published at 0.05% (annualized 54%) and your edge is "I think it goes up 0.3% over the next 12 hours," you are paying for two 0.05% events ($100 on a $100k notional) to capture $300. After fees, you're roughly breakeven. Watching the upcoming funding rate on the Bybit symbol page before holding through it is twenty seconds of work and frequently changes the trade.

4. Confusing "I made money this week" with "my strategy works". If you ran ten trades this week and closed +$300 on price but paid $400 of funding, your strategy printed a $100 loss. The closed-PnL view in Bybit will say +$300. Your wallet will say −$100. The discrepancy is funding. If you only look at closed-PnL, you have no idea why your wallet is shrinking, and you'll keep running the strategy.

5. Optimizing funding without questioning the underlying trade. The opposite mistake. If funding is eating 40% of your edge, the answer is rarely "exit five minutes earlier." It is usually "this trade idea isn't compatible with how long it takes to play out." Funding tax is a feature of holding period times notional. The two levers are length and size. Twiddling exit timing is the smallest lever.

Takeaway

Funding is not a footnote. On any strategy that holds positions across the 8-hour cutoff, it's a line item that compounds — three events a day, every day, on every open notional dollar. Until you see your true after-funding return on every trade and every week, your view of your edge is wrong by a knowable amount. Tomorrow morning, pull the last 30 days of your closed trades, find your total funding paid, divide by your total net PnL. If that ratio surprises you, you've just found your easiest improvement of the quarter.


Tool: Use the Bybit Funding Cost Calculator to project funding cost for a planned hold — by notional, rate, and duration — before you take the trade.

Get the PerpLog newsletter

Product updates and trading-journal tips. No spam, unsubscribe anytime.

By subscribing you consent to receiving the PerpLog newsletter by email (Art. 6(1)(a) GDPR). You can unsubscribe at any time via the link in every email. Privacy notice