Discovery and markets API
Which tokens unlock supply soon, how much and when?
Each tracked token's next scheduled unlock, soonest first: the day, the tokens, their USD value and how big the unlock is against the float, filtered by date or size.
/api/external/discovery/token-unlocksWhat it returns
Every tracked token's NEXT scheduled unlock, soonest first. One row per token, never its whole schedule: for one coin's allocations and every past and future event, use token-vesting. since and until are unix seconds and keep the unlocks dated inside them; minUnlockUsd and minPercentOfCirculating keep the larger ones; limit caps how many rows come back, while matched and totalUnlockUsd describe every unlock that matched. unlockAt is the day, as unix seconds at UTC midnight; the hour is not published, so a since set to the current instant EXCLUDES an unlock happening later today — floor it to the UTC day to keep today's. unlockPercentOfCirculating is a PERCENT, not a fraction, and can exceed 100 when the unlock is larger than the float. unlockUsd values the unlock at the current price, so it moves with the price and not with the schedule. lockedTokens is the tracked locked supply and is NOT totalSupply - circulatingSupply: untracked allocations sit outside it. symbol is the source's ticker and is not an identifier — it collides with better-known projects, so read name.
Chains
This endpoint is not tied to a chain: it takes no chain in its request.
Request
Send your key in the x-dex-data-key header. Replace each <placeholder> with a real value.
curl -H "x-dex-data-key: $DEXDATA_API_KEY" \ "https://api.dexdata.io/api/external/discovery/token-unlocks"
| Parameter | Description |
|---|---|
sincequery · integer · optional | Keep unlocks dated at or after this instant, in unix seconds. Unlocks are dated at UTC midnight, so floor this to the day to keep an unlock happening later today. |
untilquery · integer · optional | Keep unlocks dated at or before this instant, in unix seconds. |
minUnlockUsdquery · integer · optional | Keep unlocks worth at least this much USD at the current price. |
minPercentOfCirculatingquery · number · optional | Keep unlocks worth at least this percent of the token's circulating supply. |
limitquery · integer · optional | How many unlocks to return, 1 to 200. Defaults to 50. limit ≤ 90 keeps the answer under 32 KB. |
Response fields
A JSON response. Every field is always present; null means the value could not be established, never zero.
| Field | Type | Description |
|---|---|---|
matched | integer | How many unlocks matched the filters, before limit. |
totalUnlockUsd | number | USD unlocking across every match, at the current prices. 0 when nothing matched: every unlock carries a value, so this sum is never unknown. |
unlocks | object[] | Soonest first, capped by limit; tokens unlocking on one day keep the source order. |
unlocks[].symbol | string | The source's ticker. Not an identifier: tickers collide between projects. |
unlocks[].name | string | The project's name. |
unlocks[].unlockAt | integer | The day of the unlock, unix seconds at UTC midnight. |
unlocks[].unlockTokens | number | How many tokens unlock that day. |
unlocks[].unlockUsd | number | What they are worth at the current price. |
unlocks[].unlockPercentOfCirculating | number | The unlock as a percent of the circulating supply; over 100 when it exceeds the float. |
unlocks[].priceUsd | number | The token's current price. |
unlocks[].priceChangePercent24h | number | null | Percent price change over 24 h; null when the source carries none. |
unlocks[].marketCapUsd | number | Price times circulating supply. |
unlocks[].circulatingSupply | number | Tokens in circulation. |
unlocks[].totalSupply | number | Tokens issued. |
unlocks[].maxSupply | number | null | The supply cap where the token has one; null when it does not. |
unlocks[].lockedTokens | number | The tracked locked supply. NOT totalSupply - circulatingSupply. |
Start building with DexData today
Sign in, create a key and make your first call in a minute. Free credits every month, and you only pay for calls that succeed.
Get a free API key