CRIUS Docs
API status Get API key
Prices & charts

Get a token's all-time high and price change

Get a Robinhood Chain token's all-time high, when it was set, its market cap at the peak and its price change from 1 second to 24 hours, plus 7-day change.

Updated 3 min read
Short answer

Call GET /v1/robinhood/token/{address}. The price object has ath_usd, ath_ts (unix ms), ath_market_cap_usd and ath_scope, and change_pct for 1s, 30s, 1m, 5m, 1h, 4h, 6h and 24h. For longer periods, take daily candles (/candles?interval=1d) and compare closes. Both are on the anonymous plan.

Two questions every token page answers: how far is the price from its peak, and how much has it moved recently. The token profile carries both in its price object. ath_usd is the highest price the market held, with the time it was set and the market cap it implied, and change_pct gives the percentage change over eight windows from 1 second to 24 hours. For anything longer, daily candles fill the gap.

Get the ATH and recent change in one call

A fresh Pons token, 80% below a peak set the same evening

How far is sockets (0xddccd4690cc99cf19d2e0bdbcb390d17e913958a) from its all-time high, and how has it moved today?

GET/v1/robinhood/token/0xddccd4690cc99cf19d2e0bdbcb390d17e913958a
curl "https://api.crius.sh/v1/robinhood/token/0xddccd4690cc99cf19d2e0bdbcb390d17e913958a"
Real response 200 Captured Oct 28, 2026 · 319 lines (arrays trimmed)
{
"data": {
"address": "0xddccd4690cc99cf19d2e0bdbcb390d17e913958a",
"admin_flags": null,
"bundles": {
"see": "/v1/robinhood/token/0xddccd4690cc99cf19d2e0bdbcb390d17e913958a/bundles"
},
"burned": 0,
"chain_id": 4663,
"circulating_supply": 1000000000,
"creation": {
"attribution": "known_launchpad",
"block": 100193858,
"deployed_via": "pons_v2",
"deployer": "0x11a3fef7d8adbd78d36d9aaed4a7ba3a7beaa911",
"factory": "0x7ed598bcef8bd9edd8c97a195c6d13f40801ec7e",
"launchpad_name": "Pons",
"tx": "0xd8ed9e0b091bcf1fcf3b0bb7d31b4165abaf42fa4fd5cb0d0bc56ffa7e18dde6"
},
"decimals": 18,
"dexscreener": {
"boosts": {
"active_amount": null,
"active_seen_ts": null,
"count": 0,
"last_ts": null,
"total_amount": 0
},
"checked_ts": 1793225005193,
"community_takeover": false,
"community_takeover_ts": null,
"confirmed": true,
"dex_paid": true,
"dex_paid_ts": 1793203323421,
"orders": [
{
"payment_ts": 1793203323421,
"status": "approved",
"type": "tokenProfile"
}
],
"profile": {
"description": "Where agents build and trade on Robinhood Chain. Plug one in and let it run.",
"header": "https://cdn.dexscreener.com/cms/images/mYazm5PF_nBhJs37?width=600&height=200&fit=crop&quality=95&format=auto",
"icon": "https://cdn.dexscreener.com/cms/images/Fks_g91B2BrR_P4t?width=64&height=64&fit=crop&quality=95&format=auto",
"links": [
{
"label": "Website",
"url": "https://socket.builders/"
},
{
"type": "twitter",
"url": "https://x.com/poweredbysocket"
}
]
},
"url": "https://dexscreener.com/robinhood/0xddccd4690cc99cf19d2e0bdbcb390d17e913958a"
},
"first_seen_block": 100193858,
"history": "complete",
"holders": {
"burned_pct": 0,
"count": 523,
"dev_holding": true,
"dev_pct": 0.21319,
"locked_pct": 8.16327,
"top10_pct": 17.8434
},
"launch": {
"creator": "0x11a3fef7d8adbd78d36d9aaed4a7ba3a7beaa911",
"creator_label": null,
"curve": "0xd362626da5a1ee6cd6a64774cadb8f8aeb7e2fa5",
"curve_state": null,
"graduated_block": 100213204,
"graduation_threshold": 4.2,
"launched_block": 100193858,
"launchpad": "pons",
"launchpad_name": "Pons",
"pair_token": "0x0000000000000000000000000000000000000000",
"progress_pct": 100,
"raised": null,
"status": "graduated"
},
"liquidity": {
"locked_pct": 100,
"lockers": [
"pons_v2_launch_locker"
],
"next_unlock_ts": null,
"permanent": true,
"status": "locked"
},
"locked": 81632653.061224484575871987,
"market": {
"fdv_usd": 45488.4,
"liquidity_usd": 19361.9,
"market_cap_usd": 45488.4,
"pools_count": 18,
"quote_liquidity_usd": 9680.94
},
"metadata": {
"banner": "https://cdn.dexscreener.com/cms/images/mYazm5PF_nBhJs37?width=600&height=200&fit=crop&quality=95&format=auto",
"description": "Where agents build and trade on Robinhood Chain. Plug one in and let it run.",
"links": {
"discord": null,
"farcaster": null,
"github": null,
"telegram": null,
"twitter": "https://x.com/poweredbysocket/status/2115472554680791240?a=_i6sgGGYDCjSANAY-lQ&s=20",
"website": "https://socket.builders/"
},
"logo": "https://api.crius.sh/v1/robinhood/logo/0xddccd4690cc99cf19d2e0bdbcb390d17e913958a.png?size=128",
"logo_original": "https://ipfs.filebase.io/ipfs/bafkreig55u3h4g3qfzgexr7ag7mjvp6a2l3jsw4my7lyc4gyjiulxbpylm",
"socials": {
"discord": null,
"farcaster": null,
"github": null,
"telegram": null,
"twitter": {
"source": "pons_launch",
"url": "https://x.com/poweredbysocket/status/2115472554680791240?a=_i6sgGGYDCjSANAY-lQ&s=20"
},
"website": {
"source": "pons_launch",
"url": "https://socket.builders/"
}
},
"source": "pons_launch",
"sources": {
"links": "pons_launch",
"logo": "pons_launch"
}
},
"name": "sockets",
"price": {
"ath_market_cap_usd": 226336,
"ath_scope": "all_time",
"ath_ts": 1793215500000,
"ath_usd": 0.000226336,
"change_pct": {
"1h": -56.2479,
"1m": 0.0809595,
"1s": -0.0376522,
"24h": -5.58602,
"30s": -0.131976,
"4h": 10.4206,
"5m": -9.7099,
"6h": -5.58602
},
"confidence": "high",
"dex": "uniswap_v4",
"eth": 0.0000000193117,
"liquidity_usd": 19166.7,
"quote": "0x0000000000000000000000000000000000000000",
"quote_liquidity_usd": 9583.34,
"source_pool": "0xe1cb1474a4c240a1e0bca5fb5c56f04a7d90789891fb59b68a142ca4071404e1",
"thin_liquidity": false,
"usd": 0.0000454884
},
"security": {
"see": "/v1/robinhood/token/0xddccd4690cc99cf19d2e0bdbcb390d17e913958a/security"
},
"standard": "erc20",
"stats": {
"all_time": {
"buy_volume_usd": 284074,
"buys": 4327,
"first_trade_ts": 1793202994000,
"sell_volume_usd": 274803,
"sells": 3658,
"since": "chain_start",
"trades": 7985,
"volume_usd": 558877
},
"avg_trade_usd": {
"1h": 91.6996,
"1m": 33.6307,
"1s": null,
"24h": 69.9909,
"30s": 16.733,
"4h": 88.169,
"5m": 52.8923,
"6h": 70.1325
},
"buy_volume_usd": {
"1h": 20861.7,
"1m": 148.337,
"1s": 0,
"24h": 284074,
"30s": 0,
"4h": 124241,
"5m": 717.821,
"6h": 263844
},
"buyers": {
"1h": 163,
"1m": 2,
"1s": 0,
"24h": 1900,
"30s": 0,
"4h": 712,
"5m": 12,
"6h": 1766
},
"buys": {
"1h": 288,
"1m": 2,
"1s": 0,
"24h": 4327,
"30s": 0,
"4h": 1549,
"5m": 14,
"6h": 4083
},
"last_trade_ts": 1793225076000,
"sell_volume_usd": {
"1h": 26363.6,
"1m": 154.34,
"1s": 0,
"24h": 274803,
"30s": 50.1989,
"4h": 125895,
"5m": 1133.41,
"6h": 262500
},
"sellers": {
"1h": 166,
"1m": 7,
"1s": 0,
"24h": 1630,
"30s": 3,
"4h": 696,
"5m": 17,
"6h": 1593
},
"sells": {
"1h": 227,
"1m": 7,
"1s": 0,
"24h": 3658,
"30s": 3,
"4h": 1288,
"5m": 21,
"6h": 3422
},
"traders": {
"1h": 245,
"1m": 9,
"1s": 0,
"24h": 1919,
"30s": 3,
"4h": 888,
"5m": 28,
"6h": 1875
},
"trades": {
"1h": 515,
"1m": 9,
"1s": 0,
"24h": 7985,
"30s": 3,
"4h": 2837,
"5m": 35,
"6h": 7505
},
"txns": {
"1h": 478,
"1m": 9,
"1s": 0,
"24h": 7784,
"30s": 3,
"4h": 2717,
"5m": 33,
"6h": 7320
},
"volume_eth": {
"1h": 20.0153,
"1m": 0.128499,
"1s": 0,
"24h": 238.61,
"30s": 0.0213115,
"4h": 106.161,
"5m": 0.784249,
"6h": 224.652
},
"volume_usd": {
"1h": 47225.3,
"1m": 302.677,
"1s": 0,
"24h": 558877,
"30s": 50.1989,
"4h": 250135,
"5m": 1851.23,
"6h": 526344
}
},
"symbol": "sockets",
"total_supply": 1000000000,
"type": "launchpad",
"ui_multiplier": null,
"verification": {
"compiler": null,
"contract_name": null,
"implementation": null,
"is_proxy": null,
"sourcify": null
}
},
"meta": {
"block": 100406844,
"block_age_ms": 1014,
"block_ts": 1793225082000,
"chain": "robinhood",
"finalized_block": 100397649,
"lag_ms": 92,
"pending": [],
"safe_block": 100401329
}
}

What this tells you

  • price.ath_usd: 0.000226336, set at ath_ts: 1793215500000 (19:25 UTC on October 28, 2026). At that price the token was worth ath_market_cap_usd: 226336.
  • price.usd is 0.0000454884, so it trades 79.9% below its ATH (0.0000454884 ÷ 0.000226336 − 1).
  • change_pct tells the story of the day: 4h is +10.4206 but 1h is −56.2479. The token ran up, then lost more than half its price in the last hour. 5m is −9.7099, so the fall hadn’t stopped.
  • 24h and 6h are the same, −5.58602: the token’s first trade was at stats.all_time.first_trade_ts 1793202994000, a little over six hours before this response, so both windows start from the same early price.
  • ath_scope: "all_time": the ATH covers the token’s whole history.
Token profile reference Runs from your browser on the anonymous plan Data looks wrong? Report it

Seven days of decline, from daily candles

How much has Charge AI (0x7b8892cea949bc60d494681d1bc3ea96071ab0b8) moved over the past week?

GET/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8/candles?interval=1d&limit=7
curl "https://api.crius.sh/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8/candles?interval=1d&limit=7"
Real response 200 Captured Oct 28, 2026 · 103 lines (arrays trimmed)
{
"data": {
"bv": [
127.848,
209.025,
29.3536,
25.2536,
74.2036,
0,
0
],
"c": [
0.00000577044,
0.00000550534,
0.00000463439,
0.00000442385,
0.0000040974,
0.00000384983,
0.00000385494
],
"currency": "usd",
"h": [
0.00000672467,
0.00000577207,
0.00000557101,
0.00000463439,
0.00000442385,
0.0000040974,
0.00000389618
],
"interval": "1d",
"l": [
0.00000575059,
0.00000502958,
0.00000463439,
0.00000442385,
0.0000040974,
0.00000384983,
0.00000384983
],
"mc": [
5770.44,
5505.34,
4634.39,
4423.85,
4097.4,
3849.83,
3854.94
],
"n": [
14,
13,
11,
6,
13,
4,
2
],
"o": [
0.000006348,
0.00000577044,
0.00000550534,
0.00000463439,
0.00000442385,
0.0000040974,
0.00000384983
],
"t": [
1792627200000,
1792713600000,
1792800000000,
1792886400000,
1792972800000,
1793059200000,
1793145600000
],
"v": [
350.792,
486.44,
316.039,
114.294,
283.74,
57.6385,
5.92732
]
},
"meta": {
"block": 100409999,
"block_age_ms": 971,
"block_ts": 1793225405000,
"chain": "robinhood",
"finalized_block": 100401329,
"from_ts": 1792627200000,
"lag_ms": 1,
"note": "default (usd) = the token's real markets merged plus its launch curve; ?pool=main its main market only (the default with currency=quote), ?pool=<key> one pool, ?pool=all every pool. Candles open at the previous close (?continuous=false for first-trade opens); buckets without trades are omitted unless ?fill=true",
"pools": [
"0x871b166182fd708d5d16a4daa9a42f05a653fa51ee2b195097f425e0d9ca4913",
"0x2b0943bf947b54df526047b6fec8183a4fdeb3c3"
],
"safe_block": 100405028,
"to_ts": 1793225405000
}
}

What this tells you

  • Seven daily candles from October 22 to October 28, 2026 (t 1792627200000 to 1793145600000).
  • The week opened at o[0] 0.000006348 and the latest close is c[6] 0.00000385494: a 7-day change of −39.3%.
  • Every day but the last closed below the day before, and the market cap at close (mc) went from 5,770.44 to 3,854.94.
  • The token is quiet: the last candle has n[6] 2 trades and v[6] $5.92732, and the last two candles had no buys at all (bv 0), only sells.
  • In CHARGE’s token profile, price.ath_usd is 0.0000707881 (set on October 15, 2026), so the token is about 94.5% below its ATH.
OHLCV candles reference Runs from your browser on the anonymous plan Data looks wrong? Report it

What the fields mean

FieldMeaning
price.ath_usdThe highest confirmed price, in USD. Never below the current price.
price.ath_tsWhen it was set (unix ms).
price.ath_market_cap_usdath_usd × the current circulating supply.
price.ath_scopeall_time when the index covers the chain from block 0, since_index_start otherwise.
price.change_pct.<window>Change in percent, for 1s, 30s, 1m, 5m, 1h, 4h, 6h and 24h. null when there's no baseline price.
change_24h_pctIn batch prices: the same 24h change for up to 100 tokens per call.

How the ATH and changes are measured

The all-time high is a price the market held. A token’s trades are grouped into 5-minute buckets. Each bucket’s price is the value-weighted median of its trades of $1 or more, so one trade at a wild price doesn’t decide it. A bucket counts on its own when its volume reaches 0.1% of the token’s busiest day (at least $100); a thinner bucket needs the bucket next to it to confirm the level. The ATH is the highest bucket that qualifies, and is never shown below the current price: if the token is at a new high right now, ath_usd is the current price.

Changes compare the current price with a baseline. For each window, the baseline is the last trade before the window started, or the first trade inside it if the token is younger than the window. Both the current price and the baseline come from the token’s main market.

Longer periods come from candles. Daily candles open at the previous close by default, so c of the latest candle divided by o of the first gives the change over the whole range.

Use it in your app

  1. Read the profile once per page view and show “x% below ATH” with the date from ath_ts.

  2. Show the windows that matter to your users. Traders look at 5m and 1h; a portfolio app shows 24h.

  3. Add 7d and 30d from daily candles, cached for a few minutes: they change slowly.

  4. Use batch prices for lists. change_24h_pct for 100 tokens in one call is cheaper than 100 profiles.

// ATH distance, 24h change and 7-day change for one token.
const token = "0x7b8892cea949bc60d494681d1bc3ea96071ab0b8";
const base = "https://api.crius.sh/v1/robinhood";
const { data: t } = await (await fetch(`${base}/token/${token}`)).json();
const { data: d } = await (await fetch(`${base}/token/${token}/candles?interval=1d&limit=7`)).json();
const belowAth = (t.price.usd / t.price.ath_usd - 1) * 100;
const change7d = (d.c.at(-1) / d.o[0] - 1) * 100;
console.log(`${t.symbol}: ${belowAth.toFixed(1)}% vs ATH (set ${new Date(t.price.ath_ts).toISOString().slice(0, 10)})`);
console.log(`24h ${t.price.change_pct["24h"]?.toFixed(2)}%, 7d ${change7d.toFixed(1)}%`);

Frequently asked questions

How do I get the all-time high of a Robinhood Chain token?

Call GET /v1/robinhood/token/{address} and read price.ath_usd (the highest price), price.ath_ts (when, in unix ms) and price.ath_market_cap_usd. No API key is needed.

Why is the all-time high lower than the highest wick on the chart?

The ATH is a price the market actually held, not one trade. Crius takes the value-weighted median price of each 5-minute bucket, from trades of $1 or more, and a bucket only counts when it has enough volume for that token; a thin bucket needs the next one to confirm it. A single trade that spiked the price for a moment doesn't set the ATH.

How is the 24-hour price change calculated?

The current price against the price of the last trade before the window started. If the token is younger than the window, the first trade inside it is the baseline. Changes come from the token's main market, so trades in thin side pools don't move them.

How do I get the 7-day or 30-day price change?

change_pct stops at 24 hours. For longer windows, request daily candles (/candles?interval=1d&limit=30) and compare the latest close with the open or close of the first day you want.

Does the all-time high cover the token's whole history?

Yes when ath_scope is all_time: the index covers Robinhood Chain from block 0. If an index started later it says since_index_start, and the ATH only covers what was indexed.

Get your free Crius API key

Every example on this page works with a free key: higher rate limits than the anonymous plan, holders, wallets and the WebSocket stream. No card needed.

  • Robinhood Chain (4663) only, from our own archive nodes
  • REST + WebSocket
  • Pay on-chain or by card