This endpoint requires a Growth or Enterprise plan. Learn more.
Returns
LiquidityMetadataByToken!
Arguments
String!
required
The address of the token.
Int!
required
The network id of the token.
Example
Test this query in the Explorer →Lock tracking covers all major EVM networks and Solana, gated by the lock mechanism a pool uses: burned LP, locker vaults such as UNCX, PinkSale and Team Finance, Uniswap V4 launch-hook custody on Robinhood Chain and Base, and position-state locks on Meteora DAMM v2, Orca and Raydium CLMM. See the coverage table for the full list. For per-pair lock state read from the chain right now, with vesting matured and per-holder attribution, use
liquidityLocksV2 with tokenAddress.Usage Guidelines
- Query using
tokenAddress(contract address) andnetworkId(chain ID) lockedLiquidityPercentageis a value between 0 and 1 (e.g., 0.5 = 50% locked). Note thatlockedPercentonliquidityLocksV2is 0–100lockBreakdownshows how liquidity is distributed across different lock protocols- Use
totalTokenLiquidityShiftedandlockedTokenLiquidityShiftedfor human-readable token amounts (adjusted for decimals) - Liquidity data is aggregated across up to 100 pairs containing the token
Troubleshooting Tips
When should I use liquidityMetadataByToken vs liquidityMetadata?
When should I use liquidityMetadataByToken vs liquidityMetadata?
Use
liquidityMetadataByToken when you want aggregated liquidity data across all pairs containing a token (up to 100 pairs), including total locked percentage and USD values. Use liquidityMetadata when you have a specific pair and want detailed lock info for that pool only.What lock protocols are supported?
What lock protocols are supported?
Burned LP (
BURN) on Uniswap V2-style pools, Pump.fun graduated pools and Raydium V4 across every network; locker vaults (UNCX_V2, UNCX_V3, PINKSALE, TEAM_FINANCE); Uniswap V4 launch-hook custody on Robinhood Chain and Base (DOPPLER, PONS_V2, O1_EXCHANGE, BAGS, LAUNCH_FAIR, plus hooks attributed by name only); position-state locks on Meteora DAMM v2, Orca Whirlpools and Raydium CLMM; and METAPLEX_GENESIS vesting buckets. See LiquidityLockProtocol for each value and the coverage table for the full list.Why is lockedLiquidityPercentage 0?
Why is lockedLiquidityPercentage 0?
Not all tokens have locked liquidity. Many tokens, especially older or larger ones like WETH, may have unlocked liquidity. A 0% locked percentage means the liquidity can be removed by LP providers. It also reads 0 when the pool’s custodian is one Codex has not verified (a team multisig, an upgradeable lock contract, or a launchpad hook not yet registered), or when the “lock” is a token burn rather than a liquidity lock. Codex reports a lock only when it can prove it on chain. If a locker or launchpad you rely on is missing, let us know with the pool address.
What's the difference between totalTokenLiquidity and totalTokenLiquidityShifted?
What's the difference between totalTokenLiquidity and totalTokenLiquidityShifted?
totalTokenLiquidity is the raw token amount. totalTokenLiquidityShifted divides by the token’s decimals for a human-readable value. For example, if a token has 18 decimals, 1000000000000000000 raw becomes 1.0 shifted.Why might liquidity data be incomplete?
Why might liquidity data be incomplete?
We track liquidity across up to 100 pairs per token. Tokens with more pairs may have partial data. Also, some lock protocols or DEXs may not be supported yet.