What 24h change really measures, and what it hides

Published · Crypto numbers explained

A twin-faced station clock in wrought iron hanging beneath a glass and steel roof

The 24h change crypto apps print next to a price compares the price now with the price exactly 24 hours ago, on a window that slides forward every minute. It is not a figure since midnight, and it resets at no hour. CoinGecko returns it as a field, refreshed every 60 seconds on its keyless tier.

Key takeaways

It is not a figure since the market opened or since you last looked either, and nothing about it is anchored to a calendar day.

That single property explains most of the confusion around the number: why two apps disagree, why a portfolio can look green at breakfast and red at dinner without any new selling pressure, and why a percentage and a dollar amount can point in directions that feel contradictory. This article explains the rolling window and how to read it on a portfolio total. It is information, not financial advice, and it contains no view on where any price goes next.

The window slides; it does not reset

Picture a twenty-four-hour ruler laid along a price chart with its right end pinned to the present. As the present advances, the left end drags along behind it, and the oldest hour drops out of the calculation. Nothing about the number is anchored to a calendar day. The 24h change crypto dashboards report is a moving comparison, not a daily tally.

CoinGecko's API documentation shows the mechanics from the data side: the markets endpoint returns price_change_24h and price_change_percentage_24h as separate fields, alongside market_cap and total_volume, and states a cache and update frequency of "Every 30 seconds (Paid API) | Every 60 seconds (Demo / Keyless API)" (Coins List with Market Data). The companion price endpoint documents include_24hr_change as returning null if the value is stale, and an optional last_updated_at timestamp (Coin Price by IDs). The number an app shows you was computed at a moment, and that moment has a name and a timestamp.

Why two apps show different 24-hour figures

CauseWhat differsTypical size
Cache intervalOne app refreshed 10 seconds ago, the other 50Small, but visible on a fast-moving asset
Reference timestampThe "24 hours ago" price is sampled at slightly different secondsSmall, larger during a sharp hour
Price sourceDifferent sets of markets averaged into one priceVaries by asset and liquidity
DenominationChange measured in dollars versus in bitcoinCan differ in sign, not only in size
RoundingOne decimal versus twoCosmetic, and endlessly argued about

None of those causes is an error. Two honest apps reporting the same asset at the same second can differ by a fraction of a percent, and the difference is a methodology detail rather than a mistake by either of them.

The same day, read at two hours

A worked example makes the sliding window concrete. Suppose an asset traded at $100 at 8am yesterday, climbed to $110 by 8pm yesterday, and sits at $105 today.

The price did not move between those two readings. The past moved. A portfolio that "went red this afternoon" often did nothing of the kind: an old high rolled into the comparison window and the arithmetic changed sign. The Federal Trade Commission notes that a cryptocurrency's value "can change rapidly, even changing by the hour" (What to know about cryptocurrency and scams), which is exactly the volatility that makes the choice of reference hour matter.

Dollars and percentages on a portfolio total

On a portfolio, the 24-hour change is two numbers, and they answer different questions. The dollar figure is the sum of each holding's change. The percentage is that sum divided by yesterday's total, which weights every holding by its size.

A portfolio dominated by one asset makes the point:

HoldingValue yesterday24h changeChange in dollars
Coin A$9,000−1%−$90
Coin B$500+8%+$40
Coin C$500+10%+$50
Total$10,0000%$0

Two of the three holdings rose sharply and the portfolio did not move. Reading only the percentage tells you the day was flat; reading only the row percentages tells you the day was good. Both readings are true about different things, which is why a tracker that shows a total and its components is more informative than one that shows a single headline figure.

Holdtotal displays the total with its 24-hour change, in dollars or denominated in bitcoin — a second reading whose logic is set out in measuring a portfolio in BTC rather than only in dollars — from quantities you type in yourself. Where a value cannot be verified it shows a dash rather than a zero, because a confident 0.00% and a failed fetch look identical otherwise. The Holdtotal home page lists what the Android app covers, and tracking a portfolio without connecting a wallet explains where the quantities come from.

What the 24h change crypto apps show does not tell you

This article does not cover 7-day or 30-day windows, candlestick intervals, or how to compute a cost basis for tax purposes. On a widget, add the refresh schedule to the picture: Android draws the last value it received, so what to expect from a crypto price widget on Android covers how old that number can legitimately be.

FAQ

Is the 24h change measured from midnight?

No. The window is rolling: it always ends now and begins twenty-four hours before now, so it advances continuously and never resets at a fixed hour. Traditional stock quotes are different, because equity markets have an opening and closing bell that defines a session. Crypto markets trade continuously, so there is no session to measure from.

Why is my portfolio percentage smaller than my biggest gainer?

Because a portfolio percentage is weighted by value. A 10% rise on a $500 position adds $50, which is a rounding error against a $10,000 total, while a 1% fall on a $9,000 position removes $90. The headline percentage answers "what happened to my money," not "what happened to my best token."

Why does the number sometimes disappear or show a dash?

A dash means the value could not be verified at that moment. Data providers document this behavior explicitly: CoinGecko's price endpoint returns null for the 24-hour change when the value is stale. Showing a dash is the honest response; printing 0.00% would be indistinguishable from a genuine flat day and would quietly mislead you.