Skip to content

All-Time High

/ath returns the all-time-high market cap of every EVM token on your watchlist, alongside how far the current price sits below that peak — either as a percentage drop or as a multiplier needed to reprint.

It’s a one-shot snapshot, not a list view. No pagination, no buttons — just one row per token, sorted by most recently added first.

Runs against your full watchlist. In a DM that’s your personal watchlist; in a group it’s the group’s collective watchlist. Non-EVM tokens are filtered out — you’ll only see rows for tokens on the seven supported EVM chains.

Filter by one chain. The argument is a chain shortcut.

/ath eth
/ath base
/ath bsc
/ath polygon
/ath avax
/ath arb
/ath op

Aliases work too — ethereum, bnb, matic, avalanche, arbitrum, optimism all resolve to the same chains.

ATH discovery is available for these seven EVM chains:

ChainShortcuts
Ethereumeth, ethereum
Basebase
BSCbsc, bnb
Polygonpolygon, matic
Avalancheavax, avalanche
Arbitrumarb, arbitrum
Optimismop, optimism

If you pass any other shortcut — including a recognised one for an unsupported chain like sol or ton/ath rejects the call with a one-liner naming the supported set:

❌ ATH not supported for Solana

Supported chains: eth, base, bsc, polygon, avax, arb, op

A typical reply for a mixed-chain watchlist filtered to Ethereum:

📊 Ethereum ATH Tracker (3)
🔹 PEPE | $12.40M | 2.4x to ATH
🔹 SHIB | $8.23B | -58.2% from ATH
🔹 LINK | $18.50B | At ATH

Without a chain filter, the header reads 📊 ATH Tracker (N) and rows from every supported chain are mixed together — each prefixed with its own chain emoji (🔹 for Ethereum and Base, 🔸 for BSC, 🟣 for Polygon, 🔺 for Avalanche, 🔷 for Arbitrum, 🔴 for Optimism).

Each row has up to three pipe-separated fields:

  • Symbol — tappable, opens the chart in your preferred provider (/settings → chart provider). Default is DexScreener.
  • ATH market cap — the peak market cap Prysm has on record, formatted with the same K/M/B/T suffixes as /list.
  • Distance from ATH — one of:
    • Xx to ATH — current market cap is at most half of the ATH; shown as the multiplier needed to reprint (e.g. 2.4x to ATH).
    • -X.X% from ATH — current market cap is closer than half; shown as the percentage drop (e.g. -58.2% from ATH).
    • At ATH — current price is at or above the previous high.

If Prysm doesn’t have a market cap for the token’s ATH (no circulating or total supply on file), it falls back to showing the ATH price instead: | ATH: $0.000123. If neither is available, the row reads | ATH: N/A.

Prysm derives ATH from a year of daily historical OHLCV candles for the token’s primary trading pair. The highest high across those candles becomes the ATH price; multiplied by circulating supply, it becomes the ATH market cap. From then on, every /ath run also checks the live price — if the current price has broken above the stored ATH, the record is replaced on the spot.

  • First /ath after adding a token may show ATH: N/A. ATH data is built lazily — the very first time you call /ath on a freshly-added token, Prysm kicks off the historical lookup in the background (capped at five tokens per command run to stay inside Telegram’s response window). Run /ath again a few seconds later and the missing rows will fill in.
  • One year of history. ATH is calculated from the last twelve months of daily candles, not the token’s full lifetime. For tokens older than a year, the figure is “ATH within the last year” rather than “ATH ever”.
  • Sonic and MegaETH aren’t in the supported set despite being EVM-shaped. Their tokens are silently excluded from /ath output and the corresponding shortcuts (sonic, mega, megaeth) are rejected by the chain filter.
  • Empty watchlist for the filter. If /ath base runs and you have no Base tokens, you’ll get a one-line “no Base tokens” message rather than an empty table.