Tokens API
Who locked this token or LP token, how much, and until when?
Each time lock one locker protocol holds on a token or LP token: owner, amount locked and withdrawn, lock and unlock time, and whether it is permanent. One locker only.
/api/external/token-analysis/token-locks/{chain}/{mint}What it returns
The individual time locks one token-locker protocol holds on this token or LP token: who can withdraw each, how much is locked and already withdrawn (raw base units — divide by the token's decimals), when it was locked and when it ends, and whether it never ends. Covers ONE locker protocol only: an empty list means that locker holds nothing on the token, not that the liquidity is unlocked — other lockers and burned LP are not counted here; for the share of LP locked or burned across lockers use lp-safety. At most the first 100 locks are listed; totalLocks counts them all. An unlocksAt in the past means the lock has ended, and its amount can be withdrawn by its owner.
Chains
- BNB Chain BNB
- Ethereum ETH
- Base BASE
- Robinhood Chain RHC
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/token-analysis/token-locks/BNB/<mint>"
| Parameter | Description |
|---|---|
chainpath · string · required | The chain the token lives on. ETH, BNB, BASE and RHC are served; SOL, STABLE and ARC return 400. CELO, ARB, OP and SCROLL return 400 here. |
mintpath · string · required | The token mint address (Solana) or contract address (EVM). |
Response fields
A JSON response. Every field is always present; null means the value could not be established, never zero.
| Field | Type | Description |
|---|---|---|
token | string | The token, lowercase. |
totalLocks | integer | Locks held on the token in total. Larger than the list only past 100 locks. |
locks | object[] | The first 100 locks, oldest lock first. Empty when this locker holds none on the token. |
locks[].lockId | string | The locker's id for the lock, a decimal string. |
locks[].owner | string | null | Who can withdraw the lock when it ends, lowercase. |
locks[].lpToken | boolean | null | Whether the locked token is an LP token. null when it could not be told. |
locks[].amount | string | null | The amount locked, in the token's raw base units, as a decimal string. |
locks[].withdrawn | string | null | The amount already withdrawn from the lock, raw base units, as a decimal string. "0" on an ended lock means nothing has been taken out yet. |
locks[].lockedAt | integer | null | When the lock was made, unix seconds. |
locks[].unlocksAt | integer | null | When the lock ends, unix seconds. A permanent lock carries 253370764800 (year 9999). |
locks[].permanent | boolean | null | Whether the lock never ends. |
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