Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.codex.io/llms.txt

Use this file to discover all available pages before exploring further.

This endpoint requires a Growth or Enterprise plan. Learn more.

Returns

LiquidityLockConnection
LiquidityLockConnection
See LiquidityLockConnection

Arguments

pairAddress
String
The address of the pair.
tokenAddress
String
The address of the token.
networkId
Int!
required
The network id of the pair.
cursor
String
A cursor for use in pagination.

Example

Test this query in the Explorer →
{
  liquidityLocks(
    pairAddress: "8WwcNqdZjCY5Pt7AkhupAFknV2txca9sq6YBkGzLbvdt"
    networkId: 1399811149
  ) {
    items {
      pairAddress
      networkId
      ownerAddress
      lockerAddress
      createdAt
      unlockAt
      lockProtocol
      liquidityProtocolV2
      liquidityAmount
      initialAmountToken0
      initialAmountToken1
    }
    pairLiquidityData {
      pairAddress
      networkId
      totalLiquidity
    }
  }
}

Usage Guidelines

  • Query by pairAddress to get all locks for a specific trading pair, or by tokenAddress to get locks across all pairs containing that token
  • networkId is required — specify the chain (e.g., 1399811149 for Solana, 1 for Ethereum)
  • Each lock includes ownerAddress (who created the lock), lockerAddress (the locker contract), and timing info (createdAt, unlockAt)
  • lockProtocol indicates the locking mechanism: BURN, UNCX_V2, UNCX_V3, BASECAMP_V1, BITBOND, METEORA_DAMM_V2
  • pairLiquidityData provides totalLiquidity for each pair — sum liquidityAmount from items to get total locked
  • Use cursor for pagination when there are many lock records

Troubleshooting Tips

liquidityLocks returns individual lock records with details like owner, unlock time, and amounts. liquidityMetadata returns aggregated lock data (total locked vs total liquidity) without individual lock details. Use liquidityLocks when you need to display a list of locks or check specific unlock dates.
When unlockAt is null, the liquidity is permanently locked. This typically happens with BURN locks where LP tokens are sent to a burn address, or locks created without an expiration. These locks cannot be withdrawn.
For concentrated liquidity pools (UniV3, Orca Whirlpool), liquidity positions are represented as NFTs. liquidityNftData contains the nftTokenId and nftPositionManagerAddress for these positions. It’s null for traditional LP token locks.
Sum the liquidityAmount from all items to get total locked liquidity, then divide by totalLiquidity from pairLiquidityData: lockedPercentage = sumOfLiquidityAmounts / totalLiquidity * 100.