BTC Crypto Carry vs US 2-Year Treasury: 6.59
Two interest rates side by side: what a bitcoin futures trade paid over the last three months (annualised), and what a US 2-year government bond paid. When the orange line sits above the grey one, the crypto trade paid more than parking cash with the US Treasury; when it sits below, the boring bond won. Bitcoin's price runs behind both for context.
Two interest rates on one chart. **Funding** is the fee that bitcoin perpetual-futures traders pay each other every eight hours on Binance โ when more people want to be long than short, longs pay shorts. The orange line is that fee averaged over the last 90 days and turned into a yearly percentage, which is the return a desk actually collected for running the trade over a quarter. The grey line is the **US 2-Year Treasury yield**: what the US government pays you to lend it dollars for two years, the standard "safe money" rate. Bitcoin's price is on the left, on a log scale, for context.
Read the gap between the two lines, not either line on its own. For example: if the orange line is at 11% and the grey line is at 4%, a trader who bought bitcoin and sold the perpetual future against it collected about 7 percentage points a year more than they would have earned holding a US government bond โ that is the reward for taking crypto risk instead of no risk. When orange drops **below** grey, the safe bond paid more than the crypto trade, and money has a reason to leave. That has happened on 433 days since late 2022, including this month.
Wide orange gap = crowded, leveraged longs paying up. Gap closing toward grey = the easy carry is gone.
Step 1: for each UTC day, average that day's Binance BTCUSDT funding prints. Step 2: annualise โ ร 3 settlements per day ร 365 ร 100. Step 3: take the mean of the last 90 daily figures; that mean is the orange line, so the chart starts 90 days after funding history begins. US 2-Year = FRED series DGS2 (percent), carried forward onto weekends so every funding day has a Treasury print. BTC price = our own daily close.
Two honest limits. **First:** this is perpetual funding, not a 3-month dated futures basis. A 90-day average of funding is the closest thing we can build from the contract we actually store, and it tracks the same story, but it is not the identical number Glassnode plots โ do not read a cross here as the same event as a cross on their dated-basis chart. **Second:** the 90-day average is deliberate. Raw daily funding annualises to a range of โ139% to +187%, which would flatten the whole Treasury line into an unreadable worm. The raw daily figure is still in the API response for anyone who wants it. Also, the 2-Year is a US business-day series, so Friday's print repeats through the weekend.
Funding: Binance public USDT-M fundingRate API (BTCUSDT), full history from the contract's launch on 10 Sep 2019, stored in our own warehouse. US 2-Year: FRED DGS2, public domain. BTC price: our warehouse daily closes.
Binance perpetual funding, 90-day average (annualised) + FRED DGS2 ยท 1 point/day ยท checked hourly