Positive Basis, Negative Funding Rate: How to Capture the Arbitrage

 / 
2

When the basis is positive but the funding rate is in negative territory, you effectively have two layers of protection — you can pocket the gains from spot-futures price convergence and collect the funding fees that shorts receive every 8 hours. This window rarely stays open wide, but once it appears, it becomes a near-risk-free arbitrage state. It is especially suitable for funds that are sensitive to drawdowns.

OKX Exchange
A leading global cryptocurrency platform,suitable for both beginners and experienced traders.
New user benefit: 20% off trading fees upon registration!!

Let's break this down into actionable steps. Every step leads directly to your order screen and verification checklist.

Step 1: Verify the exact basis and funding rate on the exchange

[What to do]

Find a trading pair that offers both spot and perpetual contracts. Confirm that the basis is positive and the perpetual funding rate is negative.

[How to do it]

Scenario A: On Binance

  1. Open Binance's website or app, go to the futures trading page, and select a USDT-margined perpetual contract.
  2. At the top of the contract page, find the "Funding Rate" column. Check the percentage for the current settlement period. Next to it, you can usually see the predicted rate for the next period. You need to see a minus sign, for example -0.01%.
  3. Switch to the spot page for the same coin. Record the best bid price on spot. Then go back to the perpetual page and record the contract's mark price.
  4. Basis = (Contract mark price – Spot best bid price) / Spot best bid price. The result must be positive to be valid.

Scenario B: On OKX

  1. Go to the perpetual swap trading page. Click "Funding Rate" or check the contract information panel to view the current rate and the next predicted rate.
  2. Get the spot price from the real-time trade price on the "Trade" page. Use the mark price from the perpetual page as the contract price.
  3. Calculate the basis the same way. On OKX, some major pairs even show the "Basis" percentage directly in the contract info, reducing the chance of manual calculation errors.

[Completion standard]

You have found at least one trading pair that meets both conditions: Basis > 0 (preferably above 0.05%), and funding rate < 0 (the larger the absolute value, the better). A word of caution: if the basis is only 0.01% and the funding rate is barely negative at -0.005%, trading fees could wipe out your profit and leave you with nothing.

⚠️ Funding rates fluctuate. Checking only the current value is not enough. Open the historical funding rate chart and make sure there has been no sudden spike into positive territory in the past 24 hours. If the rate direction flips, you not only stop earning but could end up paying instead.

Step 2: Split your funds between the spot account and the perpetual contract account

[What to do]

Split the USDT (or other settlement currency) you plan to use into two parts: one to buy spot, the other as margin for the perpetual contract.

[How to do it]

  1. Decide the total investment amount. Beginners are advised to start with 200–500 USDT just to run through the process.
  2. Leave about half of the funds in your spot account to buy the target coin immediately. If you are using OKX, this step is simpler: with the unified account model, funds are shared automatically and you can skip the transfer. New OKX users can enter a referral code during registration to get a fee discount, which is critical for low-margin arbitrage.
  3. Transfer the other half into your perpetual contract account as margin. On Binance, the path is: Wallet → Futures Account → Transfer. Make sure you transfer USDT to the USDT-margined perpetual wallet – don't choose the wrong coin or network.
  4. The margin balance in your contract account must at least cover the initial margin for a position that is over 1x. It is advisable to leave a buffer of 2–3 times the required amount. Do not use your full capital.

[Completion standard]

Both your spot account and your perpetual contract account now hold the corresponding amount in USDT, and the available margin in the contract account exceeds 1.5% of the notional value you plan to short. Binance users can use a referral code to enjoy trading fee discounts; every fractional cost in arbitrage directly eats into your profit.

A common reason for failure: Many people buy spot with all their USDT right away, only to realize later that there is no money left in the contract account to open a short. Selling coins again means eating another round of slippage and fees. Always transfer your funds first, then place both orders separately.

Step 3: Execute the spot buy and the perpetual short simultaneously

[What to do]

Use equal notional value to buy spot and short the perpetual contract, locking in the price difference.

[How to do it]

  1. Spot side: Place a limit order to buy the target coin on the spot trading pair. It is recommended to set a limit price slightly below the best bid price, within 0.1%. This helps avoid large slippage that market orders can suffer during high volatility.
  2. Perpetual contract side: Immediately go to the perpetual contract page for the same coin. Use "1x leverage" or a lower leverage setting to short the equivalent amount. It is recommended to select "Isolated" margin mode to prevent a loss in one position from affecting others in cross-margin mode.
  3. Formula to align notional value: Number of contracts = Spot quantity bought × Contract multiplier / Contract face value. For example, on Binance BTCUSDT perpetual, 1 contract = 0.001 BTC. If you bought 0.1 BTC spot, you should open 100 contracts short.
  4. When placing the order, choose "Limit order" and set the price near the contract's mark price. Do not rush. It is better to wait a few seconds for the order to fill than to pay an extra 0.1% in impact cost.

[Completion standard]

You now hold both a spot long position and a perpetual short position, with the notional value mismatch between the two sides below 1%. Open your asset page; you will see the spot coin quantity, and the contract position will show as the corresponding short. If you find that the long and short quantities do not match, immediately adjust with an additional order. Do not leave any risk unhedged.

🛑 Risk reminder: If after opening your contract short, the exchange suddenly halts trading for maintenance (low probability but possible), you will be temporarily unable to close the position. During that time, spot price fluctuations could cause a loss. Historically, a top-tier exchange once suspended perpetual trading for nearly two hours in March 2023 due to a matching engine failure. Such events cannot be predicted. Therefore, your arbitrage position size should never exceed the amount you can afford to have locked up due to liquidity risk.

Step 4: Daily monitoring and exit timing

[What to do]

Track changes in the basis and funding rate settlements to decide when to close the position and take profit.

[How to do it]

  1. After each 8-hour funding rate settlement, check the transaction history of your contract account. A negative rate means that as a short, you will receive USDT, which is directly added to your margin balance.
  2. Check the basis at least once a day. If the basis converges to near zero or even turns negative, you can consider closing the position. Exiting at that point allows you to collect the spot-futures price difference accumulated since entry. If your assumptions about the funding rate were correct, you would sell the spot and close the short at the same time. Total profit = basis convergence gain + cumulative funding fees received – trading fees.
  3. How to exit: Simultaneously place a limit sell order for the spot and a limit buy order to close the contract short. Try to make the execution spread as close to the mark price spread as possible. Do not get greedy over one or two ticks and trap yourself.

[Completion standard]

Both sides of the position have been closed, and all USDT has returned to your spot or contract account (depending on the platform's rules). You will see that the total account value is higher than the initial USDT you put in, which means the arbitrage was successful.

The holding period can be as short as a few hours or as long as several days to a week or two, depending on how quickly the basis converges. If the funding rate turns from negative to positive during that time, do not panic. As long as the basis is still positive, the logic of price convergence is not broken; you have just lost that extra source of income from the funding rate.

Common mistake: Underestimating liquidation risk

Even if you run a 1:1 hedge, there is a chance that the perpetual contract's mark price briefly deviates from the spot price. If your margin is too low, an extreme wick could still trigger a liquidation. Keeping total position leverage under control and maintaining sufficient margin is the only way to avoid turning a "risk-free arbitrage" into a lesson on how liquidations work.

OKX Exchange
A leading global cryptocurrency platform,suitable for both beginners and experienced traders.
New user benefit: 20% off trading fees upon registration!!

Frequently Asked Questions (FAQ)

Why would the basis be positive while the funding rate is negative? Isn't that contradictory?

No, it is not contradictory. The basis reflects the absolute price gap between the perpetual contract and the spot. The funding rate is the tool used to regulate the speed at which the two converge. When spot is pushed up by emotional buying but large orders are continuously shorting the contract market, you can temporarily get a situation where the contract is more expensive than spot (positive basis) while the funding rate is negative. This divergence is exactly what arbitrage traders step in to correct.

Which coins are most effective for this arbitrage?

Major, large-cap coins (BTC, ETH) have the best liquidity and the smallest slippage, making them the most suitable. Even if a smaller altcoin shows an attractive basis, its order book is often too thin. Buying spot will push the price up, and shorting the contract will push it down; the actual spread you lock in is usually far worse than what appears on the screen. Do not be fooled by a high annualised return.

Do I need to manually operate this every day?

No. During the holding period, your only actions are to wait for funding fees to be settled and to monitor the basis for convergence. Some users set up linked orders with a spot take-profit and a contract stop-loss, but the execution precision of linked orders is not fine enough for this kind of arbitrage. For now, manual exit is more reliable.

What if the funding rate stays negative for a long time and the basis does not converge?

If your main source of return is the funding fee, then as long as the rate remains negative and its absolute value comfortably covers your trading fees, holding the position longer actually means more profit. The real things to worry about are a reversal of the funding rate and a significant widening of the basis, both of which eat into your floating profit. The only way to handle that is through attentive monitoring and exit discipline; there are no shortcuts.

Next steps and verification

Next, open the perpetual page on your usual exchange. Find the spot and perpetual data for BTC/USDT or ETH/USDT. Manually calculate the current basis and compare it with the historical funding rate. The whole process takes an experienced person just 2 minutes.

If you spot a window that meets the conditions, first record it in a table: trading pair, spot buy price, contract mark price, basis percentage, and current period funding rate. Wait until the rate has remained stable and negative for three consecutive settlement periods before actually putting in a small test trade. For your first arbitrage position, it is advisable not to commit more than 10% of your total capital, and to only open the position during the period of highest liquidity (UTC 12:00–16:00, when Asian and European trading hours overlap) to minimize slippage.

The actual trade records and funding flow on each platform are the only verifiable data sources. Do not trust screenshots from any third party.