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’stime.
Money objects
A value with a price is an object with two legs:
Prices, market caps, liquidity, volumes and fee totals all use this shape. The API never sends a bare
priceUsd field.
Decimal strings
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:
holders.count and buyCount, are plain JSON integers.
The candle exception
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 inPct 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%.
Windowed stats
A token’sstats 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,graduatedAtisnulluntil a token leaves its launchpad. - A few fields use an empty value instead. A trade’s
nameandsymbolare empty strings until the token’s metadata resolves, and fields marked “not yet populated” hold0. - A list that would be empty may be left out. On a token,
platformsandannotationsare left out when empty. On a trade,flags,platformsandidentitiesare left out when empty. Treat a missing list as empty.
Values that can grow
Some fields hold a value from a set that grows over time, such as a trade’sflags, a token’s dexes and launchpad, and an identity’s source. Keep a value you do not recognize, rather than failing on it.
Also ignore any response field you do not recognize. New fields can appear without a version change. See Versioning and compatibility.