curl -X POST 'https://api.serialized.xyz/v1/token/security' -H 'Authorization: YOUR_API_KEY' -H 'Content-Type: application/json' -d '{"items":[{"chain":"solana","address":"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"},{"chain":"evm:8453","address":"0x4ed4e862860bed51a9570b96d89af5e1b0efefed"}]}'
{
"data": [
{
"data": {
"chain": "solana",
"address": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
"holdersCount": 892341,
"top10HoldersPct": 24.83,
"devHoldingsPct": 0,
"snipersHoldingsPct": 0,
"bundlersHoldingsPct": 0,
"insidersHoldingsPct": 1.79,
"insidersCount": 9,
"proTradersCount": 17,
"proTradersHoldingsPct": 0.38,
"tokenBurnedPct": null,
"lpBurnedPct": null,
"lpLockedPct": null,
"lpSource": "unknown",
"dexPaid": true,
"dexPaidAt": 1740046431000,
"buyTaxBps": null,
"sellTaxBps": null,
"transferTaxBps": null,
"mintAuthority": null,
"mintRevoked": true,
"freezeAuthority": null,
"freezeRevoked": true
}
},
{
"data": {
"chain": "evm:8453",
"address": "0x4ed4e862860bed51a9570b96d89af5e1b0efefed",
"holdersCount": 1192454,
"top10HoldersPct": 41.52,
"devHoldingsPct": 0.81,
"snipersHoldingsPct": 2.14,
"bundlersHoldingsPct": 3.37,
"insidersHoldingsPct": 1.45,
"insidersCount": 13,
"proTradersCount": 0,
"proTradersHoldingsPct": 0,
"tokenBurnedPct": 12.04,
"lpBurnedPct": 100,
"lpLockedPct": 0,
"lpSource": "measured",
"dexPaid": true,
"dexPaidAt": 1712345678000,
"buyTaxBps": 0,
"sellTaxBps": 0,
"transferTaxBps": 0,
"mintAuthority": null,
"mintRevoked": null,
"freezeAuthority": null,
"freezeRevoked": null
}
}
],
"meta": {
"asOf": 1786777912344
}
}
Token Security
Token Security: batch
Security fields for up to 100 tokens in one call, one union shape across EVM and Solana: mint/freeze authority state, holders count, top-10 concentration, dev/sniper/bundler holdings %, insiders and pro traders (count and % of supply held), token burn, LP burn/lock, buy/sell/transfer tax, dexPaid + dexPaidAt. Billed per item. null always means unknown, never a fake zero.
POST
/
v1
/
token
/
security
curl -X POST 'https://api.serialized.xyz/v1/token/security' -H 'Authorization: YOUR_API_KEY' -H 'Content-Type: application/json' -d '{"items":[{"chain":"solana","address":"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"},{"chain":"evm:8453","address":"0x4ed4e862860bed51a9570b96d89af5e1b0efefed"}]}'
{
"data": [
{
"data": {
"chain": "solana",
"address": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
"holdersCount": 892341,
"top10HoldersPct": 24.83,
"devHoldingsPct": 0,
"snipersHoldingsPct": 0,
"bundlersHoldingsPct": 0,
"insidersHoldingsPct": 1.79,
"insidersCount": 9,
"proTradersCount": 17,
"proTradersHoldingsPct": 0.38,
"tokenBurnedPct": null,
"lpBurnedPct": null,
"lpLockedPct": null,
"lpSource": "unknown",
"dexPaid": true,
"dexPaidAt": 1740046431000,
"buyTaxBps": null,
"sellTaxBps": null,
"transferTaxBps": null,
"mintAuthority": null,
"mintRevoked": true,
"freezeAuthority": null,
"freezeRevoked": true
}
},
{
"data": {
"chain": "evm:8453",
"address": "0x4ed4e862860bed51a9570b96d89af5e1b0efefed",
"holdersCount": 1192454,
"top10HoldersPct": 41.52,
"devHoldingsPct": 0.81,
"snipersHoldingsPct": 2.14,
"bundlersHoldingsPct": 3.37,
"insidersHoldingsPct": 1.45,
"insidersCount": 13,
"proTradersCount": 0,
"proTradersHoldingsPct": 0,
"tokenBurnedPct": 12.04,
"lpBurnedPct": 100,
"lpLockedPct": 0,
"lpSource": "measured",
"dexPaid": true,
"dexPaidAt": 1712345678000,
"buyTaxBps": 0,
"sellTaxBps": 0,
"transferTaxBps": 0,
"mintAuthority": null,
"mintRevoked": null,
"freezeAuthority": null,
"freezeRevoked": null
}
}
],
"meta": {
"asOf": 1786777912344
}
}
POST /v1/token/security · 10 per item credits
The batch twin of Token Security - screen a whole watchlist in a single call. The response array is in input order with per-item {error} slots, and every item carries the same union shape (authorities, concentration, launch quality, holder profile, liquidity safety, taxes, dexPaid). Mixed EVM and Solana in one call is fine.
Authority tri-state:
mintRevoked: true = renounced (safe), false = active, null = unknown. USDC keeps both authorities active (Circle can mint & freeze - expected for a regulated stablecoin, a red flag on a memecoin); BONK has both revoked.Holder profile, on EVM and Solana:
insidersCount / insidersHoldingsPct are the number of wallets linked to the token’s team or creator among the token’s main holders and the share of supply they hold; proTradersCount / proTradersHoldingsPct do the same for wallets identified as professional traders. 0 means none detected, null means unknown. See Token Security.Batch: up to 100 items per call, across chains.
curl -X POST 'https://api.serialized.xyz/v1/token/security' -H 'Authorization: YOUR_API_KEY' -H 'Content-Type: application/json' -d '{"items":[{"chain":"solana","address":"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"},{"chain":"evm:8453","address":"0x4ed4e862860bed51a9570b96d89af5e1b0efefed"}]}'
{
"data": [
{
"data": {
"chain": "solana",
"address": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
"holdersCount": 892341,
"top10HoldersPct": 24.83,
"devHoldingsPct": 0,
"snipersHoldingsPct": 0,
"bundlersHoldingsPct": 0,
"insidersHoldingsPct": 1.79,
"insidersCount": 9,
"proTradersCount": 17,
"proTradersHoldingsPct": 0.38,
"tokenBurnedPct": null,
"lpBurnedPct": null,
"lpLockedPct": null,
"lpSource": "unknown",
"dexPaid": true,
"dexPaidAt": 1740046431000,
"buyTaxBps": null,
"sellTaxBps": null,
"transferTaxBps": null,
"mintAuthority": null,
"mintRevoked": true,
"freezeAuthority": null,
"freezeRevoked": true
}
},
{
"data": {
"chain": "evm:8453",
"address": "0x4ed4e862860bed51a9570b96d89af5e1b0efefed",
"holdersCount": 1192454,
"top10HoldersPct": 41.52,
"devHoldingsPct": 0.81,
"snipersHoldingsPct": 2.14,
"bundlersHoldingsPct": 3.37,
"insidersHoldingsPct": 1.45,
"insidersCount": 13,
"proTradersCount": 0,
"proTradersHoldingsPct": 0,
"tokenBurnedPct": 12.04,
"lpBurnedPct": 100,
"lpLockedPct": 0,
"lpSource": "measured",
"dexPaid": true,
"dexPaidAt": 1712345678000,
"buyTaxBps": 0,
"sellTaxBps": 0,
"transferTaxBps": 0,
"mintAuthority": null,
"mintRevoked": null,
"freezeAuthority": null,
"freezeRevoked": null
}
}
],
"meta": {
"asOf": 1786777912344
}
}
Authorizations
Your raw API key (not needed on the demo server).
Body
application/json
Up to 100 of {chain, address}, across chains. Response array is in input order with per-item {error} slots. Billed per item.
Required array length:
1 - 100 elementsShow child attributes
Show child attributes
Example:
[{ "chain": "solana", "address": "DezXAZ…" }]
Response
200
Standard { data, meta } envelope.