A short note on the Fed meeting, because I have had several messages asking what it means for crypto and the honest answer is less than the headlines suggest.
For context I have added every scheduled Fed decision since the start of 2021, lower down.

What the Fed did
On 29 January 2025 the Federal Open Market Committee left the federal funds rate where it was, in a range of 4.25 to 4.5 per cent. That ended a run of three cuts in the last four months of 2024 and was exactly what the market expected, so the decision itself moved nothing. What people were listening for was the tone, and the tone was patient. Jerome Powell said the committee would wait for the data before cutting again, and that inflation, while well down from its 2022 peak, was not yet where they wanted it. Traders who had been pricing cuts for the middle of the year pushed those expectations back a little.
The one thing in the press conference that was directly about crypto was a question about banks. Powell’s answer was that banks are perfectly able to serve crypto customers provided they manage the risks properly, and that a clear regulatory framework from Congress would be constructive. That is not a policy change, but it is a softer line than the industry had become used to from regulators over the previous two years, and it was noticed.
What the market did
Bitcoin rose about 2.7 per cent in the hours after the decision, to a little over $105,000, and XRP was up less than 1 per cent at around $3.11. I would not read much into either move. A hold that everyone expected, followed by a mildly reassuring press conference, is the kind of event that produces a relief bounce in every risk asset, and crypto is a risk asset whatever its proponents say about digital gold.
How Bitcoin has reacted to Fed days since 2021
There were 47 scheduled meetings from January 2021 to October 2026: twelve rate rises, six cuts and 29 holds, counting a decision by what happened to the target range the next day. On the day of the statement, close to close, Bitcoin moved by 2.4 per cent on average in either direction, against 2.0 per cent on every other day. Fed days are busier than normal days, but only by a fifth, and only four of the 47 were among the largest 5 per cent of daily moves.
| Decision | Meetings | Day of | Next day | Week after | Month after | Up on the day |
|---|---|---|---|---|---|---|
| All | 47 | +0.5% | −0.4% | −1.1% | +1.8% | 26 |
| Rate rise | 12 | +1.5% | −0.8% | −2.4% | −2.1% | 9 |
| Rate cut | 6 | −1.1% | 0.0% | +0.1% | +1.5% | 2 |
| No change | 29 | +0.5% | −0.3% | −0.8% | +3.6% | 15 |
Average change in BTC-USD, close to close, on the day of the statement and over the following 1, 5 and 20 days. Meeting dates from the Federal Reserve; decisions from the target range series on FRED.

The direction is close to a coin toss and sometimes the wrong way round. Bitcoin rose on nine of the twelve days the Fed raised rates and fell on four of the six days it cut, because by the time the decision arrives it is priced and the day trades on the wording. In 28 of the 47 meetings the move over the following week went the opposite way to the move on the day. The January 2025 meeting fits the pattern: +2.3 per cent on the day, close to close, +1.0 per cent the next day, −2.2 per cent over the week and −7.9 per cent over the month.
A 2.7 per cent day is not unusual either. Since the start of 2021 Bitcoin has moved at least that much on one day in four.
Why rates matter for crypto at all
The mechanism is simple and worth spelling out. When a Treasury bill pays 4.5 per cent, an asset that pays nothing has to offer the prospect of a good deal more than that to be worth holding, and the higher the risk-free rate, the higher the bar. High rates also drain liquidity from the system generally, and crypto, as the most speculative corner of the market, tends to feel changes in liquidity first and hardest. That is why the 2022 tightening cycle coincided with a brutal crypto bear market, and why the prospect of cuts in 2024 coincided with the recovery.
So a pause is, on its own, mildly negative for crypto relative to a cut. The reason the market took it well is that the pause was already priced, and that the other things supporting the market are not about rates. The spot Bitcoin ETFs have brought in a class of buyer that did not exist two years ago and is less sensitive to the funding rate than a leveraged trader on an exchange. And the new administration in Washington has signalled a friendlier regulatory approach, which, whatever one thinks of it, reduces one of the risks the market had been pricing.
What I am watching
Three things, none of which is the Fed’s next meeting in isolation.
The inflation and jobs data between now and the spring, because that is what will decide whether the cuts the market still expects for later in the year actually arrive. If inflation stalls above target, they do not, and crypto will feel that.
Whether the regulatory framework Powell referred to actually makes progress in Congress. A clear set of rules would do more for institutional allocation than any single rate cut.
And the ETF flows, which have become the best single reading of marginal demand. As long as money is going into those products on down days, the market has a bid under it. The day the flows turn is the day to pay attention.
In the meantime, a 2.7 per cent move in Bitcoin is a Tuesday. The volatility post series on this site explains why I do not treat a move of that size as information. It is noise around a market that is waiting, like everyone else, for the data.
How the three things turned out
The data decided the rates question slowly. The Fed held through the first half of 2025, cut in September, October and December, taking the top of the range to 3.75 per cent, held again through the first half of 2026 and raised a quarter point in September 2026. Bitcoin gained 49 per cent between the first cut in September 2024 and the last in December 2025, and has lost 18 per cent since. On the flows and the regulatory framework I have no clean public series to put against the price, so I leave those where they were.
Checking it yourself
The table comes from the script below, which uses pandas and the yfinance library and reads the Fed’s target range from FRED. Meeting dates are from the Federal Reserve’s calendar.
import numpy as np
import pandas as pd
import yfinance as yf
MEETINGS = """2021-01-27 2021-03-17 2021-04-28 2021-06-16 2021-07-28 2021-09-22
2021-11-03 2021-12-15 2022-01-26 2022-03-16 2022-05-04 2022-06-15 2022-07-27
2022-09-21 2022-11-02 2022-12-14 2023-02-01 2023-03-22 2023-05-03 2023-06-14
2023-07-26 2023-09-20 2023-11-01 2023-12-13 2024-01-31 2024-03-20 2024-05-01
2024-06-12 2024-07-31 2024-09-18 2024-11-07 2024-12-18 2025-01-29 2025-03-19
2025-05-07 2025-06-18 2025-07-30 2025-09-17 2025-10-29 2025-12-10 2026-01-28
2026-03-18 2026-04-29 2026-06-17 2026-07-29 2026-09-16 2026-10-28""".split()
FRED = "https://fred.stlouisfed.org/graph/fredgraph.csv?id=DFEDTARU"
px = yf.download("BTC-USD", start="2020-12-01", end="2026-11-08",
progress=False)["Close"].squeeze().loc[:"2026-11-07"]
r = px.pct_change() * 100
target = pd.read_csv(FRED, index_col=0, parse_dates=True)["DFEDTARU"]
rows = []
for d in pd.to_datetime(MEETINGS):
after = target[d + pd.Timedelta(days=1):].iloc[0]
change = round((after - target[d]) * 100)
i = px.index.get_loc(d)
later = {k: px.iloc[i + k] / px.iloc[i] * 100 - 100 if i + k < len(px)
else np.nan for k in (1, 5, 20)}
rows.append({"date": d, "change": change, "day": r.loc[d], **later})
t = pd.DataFrame(rows).set_index("date")
other = r.loc["2021-01-01":].drop(t.index)
print(f"Average move on decision days {t.day.abs().mean():.2f}%,",
f"other days {other.abs().mean():.2f}%")
print(" n day next week month up")
for name, s in [("All", t), ("Rate rises", t[t.change > 0]),
("Cuts", t[t.change < 0]), ("Holds", t[t.change == 0])]:
print(f"{name:11}{len(s):3} {s.day.mean():+5.2f} {s[1].mean():+6.2f}",
f"{s[5].mean():+5.2f} {s[20].mean():+6.2f} {(s.day > 0).sum()}")
print("Day and following week in opposite directions:",
f"{(np.sign(t.day) != np.sign(t[5])).sum()} of {len(t)}")
share = (r.loc["2021":].abs() >= 2.7).mean()
print(f"Days since 2021 moving at least 2.7%: {share:.1%}")
Run in November 2026 it prints:
Average move on decision days 2.44%, other days 2.02%
n day next week month up
All 47 +0.51 -0.39 -1.11 +1.84 26
Rate rises 12 +1.49 -0.81 -2.39 -2.08 9
Cuts 6 -1.13 -0.02 +0.13 +1.49 2
Holds 29 +0.45 -0.30 -0.83 +3.59 15
Day and following week in opposite directions: 28 of 47
Days since 2021 moving at least 2.7%: 24.8%