curl -X POST 'https://api.serialized.xyz/v1/pool/security' \
-H 'Authorization: YOUR_API_KEY' -H 'Content-Type: application/json' \
-d '{"items": [{"chain": "evm:8453", "address": "0xc9034c3e7f58003e6ae0c8438e7c8f4598d5acaa"}, {"chain": "evm:8453", "address": "0xafb62448929664bfccb0aae22f232520e765ba88"}, {"chain": "evm:8453", "address": "0x000000000000000000000000000000000000dead"}]}'
{
"data": [
{
"data": {
"chain": "evm:8453",
"tokenAddress": "0x4ed4e862860bed51a9570b96d89af5e1b0efefed",
"poolAddress": "0xc9034c3e7f58003e6ae0c8438e7c8f4598d5acaa",
"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": 0.7,
"lpLockedPct": 0.0008,
"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
}
},
{
"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
}
},
{
"error": {
"code": "NOT_FOUND",
"message": "Pool 0x000000000000000000000000000000000000dead on evm:8453"
}
}
],
"meta": {
"asOf": 1792900800000
}
}
Pool Security
Pool Security: batch
Batch twin - up to 100 pools in one call, chains mixed: each pool’s token security sheet with the LP burned and locked of that pool. Response in input order; unknown pools come back as per-item {error} slots. Billed 10 credits per 10 items.
POST
/
v1
/
pool
/
security
curl -X POST 'https://api.serialized.xyz/v1/pool/security' \
-H 'Authorization: YOUR_API_KEY' -H 'Content-Type: application/json' \
-d '{"items": [{"chain": "evm:8453", "address": "0xc9034c3e7f58003e6ae0c8438e7c8f4598d5acaa"}, {"chain": "evm:8453", "address": "0xafb62448929664bfccb0aae22f232520e765ba88"}, {"chain": "evm:8453", "address": "0x000000000000000000000000000000000000dead"}]}'
{
"data": [
{
"data": {
"chain": "evm:8453",
"tokenAddress": "0x4ed4e862860bed51a9570b96d89af5e1b0efefed",
"poolAddress": "0xc9034c3e7f58003e6ae0c8438e7c8f4598d5acaa",
"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": 0.7,
"lpLockedPct": 0.0008,
"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
}
},
{
"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
}
},
{
"error": {
"code": "NOT_FOUND",
"message": "Pool 0x000000000000000000000000000000000000dead on evm:8453"
}
}
],
"meta": {
"asOf": 1792900800000
}
}
POST /v1/pool/security · 10 credits per 10 items
Batch twin of Pool Security - up to 100 pools in one call, EVM and Solana mixed. Response in input order, one slot per item: the body of the GET in data, or an error (an unknown pool is NOT_FOUND, a malformed address INVALID_PARAM). Only the served pools are billed, 10 credits per 10 pools (1 to 10 pools cost 10 credits, 11 to 20 cost 20).
Each pool gets its own
lpBurnedPct, lpLockedPct and lpSource, read for that pool: two pools of the same token in one call share the token’s sheet and differ only there, as in the example below. poolAddress is the pool asked for, tokenAddress its token.curl -X POST 'https://api.serialized.xyz/v1/pool/security' \
-H 'Authorization: YOUR_API_KEY' -H 'Content-Type: application/json' \
-d '{"items": [{"chain": "evm:8453", "address": "0xc9034c3e7f58003e6ae0c8438e7c8f4598d5acaa"}, {"chain": "evm:8453", "address": "0xafb62448929664bfccb0aae22f232520e765ba88"}, {"chain": "evm:8453", "address": "0x000000000000000000000000000000000000dead"}]}'
{
"data": [
{
"data": {
"chain": "evm:8453",
"tokenAddress": "0x4ed4e862860bed51a9570b96d89af5e1b0efefed",
"poolAddress": "0xc9034c3e7f58003e6ae0c8438e7c8f4598d5acaa",
"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": 0.7,
"lpLockedPct": 0.0008,
"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
}
},
{
"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
}
},
{
"error": {
"code": "NOT_FOUND",
"message": "Pool 0x000000000000000000000000000000000000dead on evm:8453"
}
}
],
"meta": {
"asOf": 1792900800000
}
}
Authorizations
Your raw API key (not needed on the demo server).
Body
application/json
[{chain, address}] - max 100. Each item takes address or its other name, poolAddress.
Required array length:
1 - 100 elementsShow child attributes
Show child attributes
Response
200
Standard { data, meta } envelope.