Skip to main content
Every endpoint and every stream follows the same conventions. Once you have read one response, you can read them all.

Field names

Field names and query parameters are camelCase: marketCap, priceChangePct, countBack. Enumerated values are case-sensitive strings, such as "side": "buy", "flags": ["pro_trader"] and "metric": "marketCap". Send and compare them exactly as these docs spell them.

Timestamps

Every timestamp is an integer count of milliseconds since the Unix epoch, in requests and responses alike.
  • Fields that hold an instant end in At: createdAt, graduatedAt, updatedAt.
  • Some records name the instant directly: a trade’s timestamp, a candle’s time.

Money

Every price, market cap, liquidity, volume and fee total is priced twice:
There is no bare priceUsd field anywhere in the API.

Decimals

Prices, amounts, supplies and percentages are strings that hold an exact decimal: "0.0000216", "1000000000". JSON numbers are floating point, and they lose precision on small prices and on large token amounts. Parse these strings with a decimal type:
Counts, such as holders.count and buyCount, are plain JSON integers.

Candles are numbers

Candle values (open, high, low, close, volume) are JSON numbers, because charting libraries consume them as floats. Nothing else in the API sends money as a number.

Percentages

A field ending in Pct holds a percentage on a 0–100 scale, as a decimal string. The sign is kept.
"-2.5" means a fall of 2.5%, not a factor of -0.025. Transfer fees are the one exception: transferFeeBps is an integer in basis points, so 250 means 2.50%.

Trailing windows

A token’s stats object holds one entry per trailing window. The keys are 5m, 30m, 1h, 6h and 24h. Each window ends now; it is not a calendar bucket.

Missing values

  • Most values that are not known yet are null. For example, graduatedAt is null until a token leaves its launchpad.
  • A few fields use an empty value instead. A trade’s name and symbol are empty strings until the token’s metadata arrives.
  • A list that would be empty may be left out. On a token, platforms and annotations are left out when empty. On a trade, flags, platforms and identities are left out when empty. Treat a missing list as empty.