What 24h change really measures, and what it hides
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
- The window always ends now and begins 24 hours before now. Crypto markets have no opening or closing bell, so there is no session to measure from.
- Two honest apps can disagree: cache interval, reference timestamp, price source, denomination and rounding all move the figure by small amounts.
- Same price, two readings: $105 today is +5% against yesterday's 8am price of $100 and −4.5% against yesterday's 8pm price of $110. The past moved, not the price.
- On a portfolio the percentage is weighted by value. A 10% gain on a $500 holding adds $50; a 1% fall on a $9,000 holding removes $90.
- A dash is the honest output when a value cannot be verified. CoinGecko documents the 24-hour change returning
nullwhen the price behind it is stale.
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
| Cause | What differs | Typical size |
|---|---|---|
| Cache interval | One app refreshed 10 seconds ago, the other 50 | Small, but visible on a fast-moving asset |
| Reference timestamp | The "24 hours ago" price is sampled at slightly different seconds | Small, larger during a sharp hour |
| Price source | Different sets of markets averaged into one price | Varies by asset and liquidity |
| Denomination | Change measured in dollars versus in bitcoin | Can differ in sign, not only in size |
| Rounding | One decimal versus two | Cosmetic, 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.
- Read at 8am today, the comparison is against yesterday's 8am price of $100. The 24-hour change is +5%.
- Read at 8pm today, with the price still at $105, the comparison is against yesterday's 8pm price of $110. The 24-hour change is now −4.5%.
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:
| Holding | Value yesterday | 24h change | Change in dollars |
|---|---|---|---|
| Coin A | $9,000 | −1% | −$90 |
| Coin B | $500 | +8% | +$40 |
| Coin C | $500 | +10% | +$50 |
| Total | $10,000 | 0% | $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
- Nothing about the path. An asset that fell 20% and recovered shows the same change as one that drifted sideways.
- Nothing about your own result. Your gain depends on what you paid, which the market's rolling window knows nothing about.
- Nothing about liquidity. A large percentage move on thin volume is a different event from the same move on heavy volume.
- Nothing about tomorrow. The number is a description of the last day and carries no predictive content.
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.