> ## Documentation Index
> Fetch the complete documentation index at: https://docs.serialized.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Pool Security

> The security sheet of a pool's token, with the LP burned and locked of that pool: authorities, concentration, launch quality, holder profile, taxes and honeypot, dexPaid, contract control, plus lpBurnedPct / lpLockedPct / lpSource of the pool you asked for.

`GET /v1/pool/security` · **10 credits**

The pool twin of [Token Security](https://docs.serialized.xyz/endpoints/token-security.md): screen the market you are about to trade on. Every field is the security sheet of the pool's token (authorities, concentration, launch quality, holder profile, taxes and honeypot, dexPaid, contract control on EVM, Token-2022 controls on Solana), except the liquidity safety fields, which are those of this pool:

* **Liquidity safety of this pool** - `lpBurnedPct` and `lpLockedPct`, the shares (0-100) of this pool's liquidity that are burned and locked (on EVM pools with transferable LP tokens, Uniswap V2 style, a lock past its unlock date no longer counts as locked), and `lpSource`.

> [!NOTE]
>
> `poolAddress` is the pool you asked for, the one whose liquidity `lpBurnedPct`, `lpLockedPct` and `lpSource` describe; `tokenAddress` is the token the rest of the sheet describes. On input, `poolAddress` can be sent instead of `address`.

> [!NOTE]
>
> `lpSource` tells how the pool's figures are known:
>
> * `measured`: read on-chain, for this pool;
> * `declared`: this pool belongs to the launchpad the token was launched on (its live bonding curve, the pool its curve migrated to, or a pool it opened), and that launchpad burns or locks its liquidity by design;
> * `unknown`: both fields are `null`.
>
> Another pool of a launchpad token, opened by a trader on a DEX, is never `declared`: it carries its own on-chain reading, or `unknown`.

> [!NOTE]
>
> On the token's [main market](https://docs.serialized.xyz/conventions.md#the-main-market), the answer is the one of [Token Security](https://docs.serialized.xyz/endpoints/token-security.md), without its `address` field.

> [!NOTE]
>
> Every other field has the meaning it has on [Token Security](https://docs.serialized.xyz/endpoints/token-security.md). `null` always means unknown, never a fabricated zero or false.

> [!NOTE]
>
> Available as a batch: `POST /v1/pool/security` with `items[]` - up to 100 pools per call, across chains. Two pools of the same token in one call each get their own liquidity safety fields.

```bash cURL theme={null}
curl 'https://api.serialized.xyz/v1/pool/security?chain=evm:8453&address=0xafb62448929664bfccb0aae22f232520e765ba88' \
  -H 'Authorization: YOUR_API_KEY'
```

```json Response theme={null}
{
  "data": {
    "chain": "evm:8453",
    "tokenAddress": "0x4ed4e862860bed51a9570b96d89af5e1b0efefed",
    "poolAddress": "0xafb62448929664bfccb0aae22f232520e765ba88",
    "holdersCount": 1193481,
    "top10HoldersPct": 26.59,
    "top25HoldersPct": 29.86,
    "top50HoldersPct": 33.7,
    "top100HoldersPct": 38.12,
    "top200HoldersPct": 43.5,
    "devHoldingsPct": 0,
    "snipersHoldingsPct": 0,
    "bundlersHoldingsPct": null,
    "snipersCount": 0,
    "bundlersCount": null,
    "insidersHoldingsPct": 1.45,
    "insidersCount": 13,
    "proTradersCount": 0,
    "proTradersHoldingsPct": 0,
    "tokenBurnedPct": 0.0006,
    "lpBurnedPct": 49.76,
    "lpLockedPct": 0,
    "lpSource": "measured",
    "dexPaid": true,
    "dexPaidAt": null,
    "buyTaxBps": 0,
    "sellTaxBps": 0,
    "transferTaxBps": 0,
    "modifiableTax": null,
    "isHoneypot": false,
    "mintAuthority": null,
    "mintRevoked": null,
    "freezeAuthority": null,
    "freezeRevoked": null,
    "isToken2022": null,
    "transferPausable": null,
    "isPaused": null,
    "balanceMutable": null,
    "permanentDelegate": null,
    "transferHookProgram": null,
    "closeAuthority": null,
    "renounced": false,
    "isProxy": false,
    "implementationAddress": null
  },
  "meta": {
    "asOf": 1792900800000
  }
}
```


## OpenAPI

````yaml openapi.json GET /v1/pool/security
openapi: 3.1.0
info:
  title: Serialized Data API
  description: >-
    On-chain data for trading apps - tokens, candles, token filters. Built on
    our own indexers. 18 EVM chains + Solana, live.
  version: 0.1.0
servers:
  - url: https://demo.serialized.xyz
    description: 'Demo: no key needed, read endpoints, rate-limited per IP'
  - url: https://api.serialized.xyz
    description: 'Production: your API key in the Authorization header'
security:
  - apiKey: []
  - {}
paths:
  /v1/pool/security:
    get:
      summary: Pool Security
      description: >-
        The pool twin of /v1/token/security: the security sheet of the pool's
        token (authorities, concentration, launch quality, holder profile, taxes
        and honeypot, dexPaid, contract control on EVM, Token-2022 controls on
        Solana), with `lpBurnedPct`, `lpLockedPct` and `lpSource` of the pool
        you asked for. null always means unknown, never a fake zero.
      operationId: pool-security
      parameters:
        - schema:
            type: string
            x-default: evm:8453
          in: query
          name: chain
          required: true
          description: Public chain id - `evm:<id>` or `solana`.
          example: evm:8453
        - schema:
            type: string
            x-default: '0x0ca6485b7e9cf814a3fd09d81672b07323535b64'
          in: query
          name: address
          required: false
          description: >-
            Pool / pair address (the stable market id on its chain). Or send it
            as `poolAddress`.
          example: '0x0ca6485b7e9cf814a3fd09d81672b07323535b64'
        - schema:
            type: string
          in: query
          name: poolAddress
          required: false
          description: 'The explicit name of `address` (the pool): send one of the two.'
      responses:
        '200':
          description: Standard `{ data, meta }` envelope.
components:
  securitySchemes:
    apiKey:
      type: apiKey
      name: Authorization
      in: header
      description: Your raw API key (not needed on the demo server).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.