# Liquidity & locks

> Who owns the token's liquidity, per pool: burned, locked (which locker, until when, who can withdraw) or held by wallets.

Source: https://docs.crius.sh/reference/security/liquidity-locks/ · Updated 2026-10-28

GET https://api.crius.sh/v1/{chain}/token/{address}/liquidity

Who owns the token's liquidity, per pool: burned, locked (which locker, until when, who can withdraw) or held by wallets. After an unlock the LP keeps being followed: withdrawn → to whom → removed or still held. Supported lockers include the Pons launch locker, UNCX v2/v3/v4, Team Finance, TitanLocker and HoodLock.

> V2 LP-token holders, V3/V4 position NFT owners, decoded locker events (UNCX, Team Finance, Titan, HoodLock, Pons).

## Path parameters

`chain`stringrequired

Chain slug (`robinhood`) or chain id (`4663`).

`address`stringrequired

Contract or wallet address, any case (`0x…`, 20 bytes).

## Guides that use this endpoint

[**Get a Robinhood Chain token security score**Score any Robinhood Chain token from 0 to 100 with one API call. Honeypot, buy and sell taxes, owner powers, LP locks, v4 hook risk and insider launches, with real examples.](https://docs.crius.sh/guides/token-security-score/)[**Add safety checks to a Robinhood Chain trading bot**Keep a Robinhood Chain trading bot away from honeypots, high taxes and pullable liquidity: pre-trade checks with Crius, then live tax and LP alerts.](https://docs.crius.sh/guides/add-safety-checks-to-a-trading-bot/)[**Check if a token's liquidity is locked or burned**Find out whether a Robinhood Chain token's liquidity is locked, burned or held by wallets that can pull it, pool by pool, with the locker and unlock date. Real examples from Pons tokens.](https://docs.crius.sh/guides/check-liquidity-locked/)[**Find every pool and the liquidity of a Robinhood Chain token (liquidity API)**Robinhood Chain liquidity API: list every Uniswap v2, v3 and v4 pool and launch curve of a token, with USD liquidity, fees, hooks and the price pool. No key.](https://docs.crius.sh/guides/get-token-pools-and-liquidity/)[**Robinhood Chain API for risk and compliance**Screen Robinhood Chain tokens and wallets with the Crius API: security checks, insider launches, funding links, developer history and LP locks.](https://docs.crius.sh/use-cases/risk-and-compliance/)

## Errors

Errors come back as `{ "error": { "code", "message" } }` with the matching HTTP status: `400` bad parameter, `401` missing or invalid key, `403` endpoint above your plan, `404` unknown token or address, `429` rate limit or credits used up (with `Retry-After`). See [Errors](https://docs.crius.sh/errors/).

## More security & liquidity endpoints

[GET/token/{address}/securitySecurity checksAnonymous · 1 cr](https://docs.crius.sh/reference/security/security-checks/)

Request Needs a Free key

 

**cURL**

```bash
curl "https://api.crius.sh/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8/liquidity" \
  -H "x-api-key: $CRIUS_API_KEY"
```

**JavaScript**

```js
const res = await fetch("https://api.crius.sh/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8/liquidity", {
  headers: { "x-api-key": process.env.CRIUS_API_KEY },
});
const { data, meta } = await res.json();
```

**Python**

```python
import os, requests

r = requests.get(
    "https://api.crius.sh/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8/liquidity",
    headers={"x-api-key": os.environ["CRIUS_API_KEY"]},
)
body = r.json()
print(body["data"])
```

Response 200 · captured Oct 28, 2026

```json
{
  "data": {
    "pools": [
      {
        "breakdown": [
          {
            "holder": "0x267444d099b10fb5ed7c3cc7b7c767adca574952",
            "kind": "lp_locker",
            "locker": "pons_v2_launch_locker",
            "pct": 100,
            "position_id": "3790055",
            "tags": [
              "lp_locker"
            ]
          }
        ],
        "dex": "uniswap_v4",
        "liquidity_usd": 5604.57,
        "locks": [
          {
            "amount_raw": 81632653061224486519505762,
            "last_block": 88461321,
            "last_event": "TokenSupplyLocked",
            "lock_id": null,
            "locked_block": 88461321,
            "locker": "pons_v2_launch_locker",
            "locker_address": "0x267444d099b10fb5ed7c3cc7b7c767adca574952",
            "permanent": true,
            "status": "locked"
          },
          {
            "last_block": 88461321,
            "last_event": "PositionLocked",
            "lock_id": "3790055",
            "locked_block": 88461321,
            "locker": "pons_v2_launch_locker",
            "locker_address": "0x267444d099b10fb5ed7c3cc7b7c767adca574952",
            "permanent": true,
            "status": "locked"
          }
        ],
        "lp_type": "nft_positions",
        "pool": "0x871b166182fd708d5d16a4daa9a42f05a653fa51ee2b195097f425e0d9ca4913",
        "summary": {
          "burned_pct": 0,
          "locked_pct": 100,
          "protocol_fee_pct": 0,
          "unlocked_in_wallets_pct": 0
        }
      },
      {
        "breakdown": [
          {
            "holder": "0x2d424d69b1ead72b30de4c7fe4c53e4853e1419d",
            "kind": "wallet",
            "locker": null,
            "pct": 49.1677,
            "position_id": "3807218",
            "tags": []
          },
          {
            "holder": "0x7aa15762e68e0f0574f1032663502d23d8b7c7e7",
            "kind": "wallet",
            "locker": null,
            "pct": 38.0286,
            "position_id": "3846225",
            "tags": []
          },
          {
            "holder": "0x0e6710b35de6960a3e4140d10e9f94e0c5a855d1",
            "kind": "wallet",
            "locker": null,
            "pct": 7.61082,
            "position_id": "3850136",
            "tags": []
          }
        ],
        "dex": "uniswap_v4",
        "liquidity_usd": 6.29539,
        "locks": [
          {
            "amount_raw": 81632653061224486519505762,
            "last_block": 88461321,
            "last_event": "TokenSupplyLocked",
            "lock_id": null,
            "locked_block": 88461321,
            "locker": "pons_v2_launch_locker",
            "locker_address": "0x267444d099b10fb5ed7c3cc7b7c767adca574952",
            "permanent": true,
            "status": "locked"
          },
          {
            "last_block": 88461321,
            "last_event": "PositionLocked",
            "lock_id": "3790055",
            "locked_block": 88461321,
            "locker": "pons_v2_launch_locker",
            "locker_address": "0x267444d099b10fb5ed7c3cc7b7c767adca574952",
            "permanent": true,
            "status": "locked"
          }
        ],
        "lp_type": "nft_positions",
        "pool": "0xe928234e515b0c000dd6aa1c60cf5a009082367cda4775a5b63b4ff0c83dcdd3",
        "summary": {
          "burned_pct": 0,
          "locked_pct": 0,
          "protocol_fee_pct": 0,
          "unlocked_in_wallets_pct": 100
        }
      }
    ],
    "status": "partially_locked",
    "summary": {
      "burned_pct": 0,
      "locked_pct": 99.8878,
      "next_unlock_ts": null,
      "protocol_fee_pct": 0,
      "unlocked_in_wallets_pct": 0.1122,
      "weighting": "by pool liquidity_usd"
    }
  },
  "meta": {
    "block": 100406846,
    "block_age_ms": 1266,
    "block_ts": 1793225082000,
    "chain": "robinhood",
    "finalized_block": 100397649,
    "lag_ms": 100,
    "note": "V2 LP shares from LP-token balances (complete once history backfill finishes); V3/V4 by position NFT owner (live ownerOf)",
    "safe_block": 100401329
  }
}
```

[Get a key for this endpoint](https://dashboard.crius.sh/signup?ref=docs-endpoint) [Report an issue](mailto:support@crius.sh?subject=Docs%20issue%3A%20GET%20%2Fv1%2F%7Bchain%7D%2Ftoken%2F%7Baddress%7D%2Fliquidity&body=Page%3A%20https%3A%2F%2Fdocs.crius.sh%2Freference%2Fsecurity%2Fliquidity-locks%2F%0A%0AWhat's%20wrong%20or%20missing%3F%0A%0A)
