# Security checks

> Contract checks (ownership, mint, pause, blacklist, proxy, limits), realized and simulated buy/sell tax, honeypot verdict and, for v4 tokens, the pool hook's…

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

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

Contract checks (ownership, mint, pause, blacklist, proxy, limits), realized and simulated buy/sell tax, honeypot verdict and, for v4 tokens, the pool hook's permissions and risk. `amount_usd` sets the simulated trade size (default 100).

Limits: what this endpoint can miss

A `low` risk means no trap was found by these checks, not that the token is safe. The honeypot simulation runs only for tokens with a Uniswap v2 WETH pair (`meta.simulation` says when it didn't), from a fresh wallet at the current block, so traps that whitelist new wallets, switch on later or depend on size can pass. Realized taxes need recent trades (`tax.confidence`, `tax.realized.samples`); `tax.source: "none"` means unknown, not zero. Results are cached 15 seconds. See [Security score: confidence and limitations](https://docs.crius.sh/concepts/security-score-limits/).

> Realized tax (30 d), eth\_simulateV1 buy → transfer → sell for V2-routed tokens, owner / proxy / capabilities / limits, hook risk, LP status, flags, score.

## Path parameters

`chain`stringrequired

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

`address`stringrequired

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

## Query parameters

`amount_usd`number Default `100`

Simulated trade size in USD.

`fresh`integer

`1` runs a new simulation now (Starter plan and up, 20 credits).

## Key response fields

-   `risk` (`low` / `medium` / `high`) and `score` (0–100), plus `flags`
-   `honeypot.is_honeypot`, `honeypot.selective` (only some wallets can sell), `honeypot.reason`
-   `tax.buy_pct`, `tax.sell_pct` and their `source`; `tax.realized` (from real trades, with sample counts and the highest sell tax seen) and `tax.simulated`
-   `tax_history`: every tax change with the block it took effect
-   `contract`: ownership, mintable, pausable, blacklist, proxy / upgradeable, can change tax or limits
-   `hook`: the v4 pool hook's name, permissions, capabilities, risk level and flags (with evidence), code, observed outcomes and code-family history. The score loses 60, 30 or 10 points for a critical, high or medium hook
-   `liquidity.summary`: locked, burned and unlocked shares of LP

## Guides that use this endpoint

[**Build a Robinhood Chain token screener**Build a Robinhood Chain token screener with the Crius API: clean token lists, batch profiles, a risk check per token, credits per refresh and working code.](https://docs.crius.sh/guides/build-a-token-screener/)[**Find new tokens on Robinhood Chain as they launch**List new Robinhood Chain tokens seconds after they are created, filter by launchpad, liquidity and creation time, with real responses from the Crius API.](https://docs.crius.sh/guides/find-new-tokens/)[**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/)[**Build a Telegram token scanner bot for Robinhood Chain**Build a Telegram bot that scans Robinhood Chain tokens: price, liquidity, holders, taxes and a security score from two Crius API calls, with real examples.](https://docs.crius.sh/guides/build-a-telegram-token-scanner/)[**How to check a Robinhood Chain token's buy and sell tax**Get the real buy and sell tax of any Robinhood Chain token in one call, measured from recent trades and checked by simulation. Real examples with a 5% sell tax and a 7% buy tax.](https://docs.crius.sh/guides/check-token-taxes/)[**Get new Robinhood Chain tokens and graduations in real time**Get new Robinhood Chain launchpad tokens, graduations and pools the moment they happen, with the Crius WebSocket and a Node.js client that checks each token.](https://docs.crius.sh/guides/stream-new-tokens/)[**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/)[**Build Robinhood Chain price alerts with the WebSocket stream**Build Robinhood Chain price alerts on the Crius WebSocket price channel, with a runnable Node.js alert bot that checks liquidity and token security first.](https://docs.crius.sh/guides/build-price-alerts/)[**How to detect a honeypot token on Robinhood Chain**Check whether a Robinhood Chain token can be sold before you buy it. One API call simulates a buy and a sell and checks real trades; a real honeypot example shows the evidence.](https://docs.crius.sh/guides/detect-honeypot/)[**Find Robinhood Chain tokens above a market cap**Rank Robinhood Chain tokens by market cap, filter by a minimum or a range, and drop fake market caps from dust pools and insider launches. Real responses.](https://docs.crius.sh/guides/find-tokens-by-market-cap/)[**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/)[**Check the risk of a Uniswap v4 hook**Find out what a Robinhood Chain token's Uniswap v4 hook can do and what happened in its pools (taxes, honeypots, rugs). Real examples, including critical hooks.](https://docs.crius.sh/guides/check-uniswap-v4-hook-risk/)[**Use the Crius API from AI agents (OpenAPI, llms.txt, MCP)**Give an AI agent Robinhood Chain data: Crius docs as llms.txt and Markdown, tool definitions from the OpenAPI document, an MCP server, and accuracy tips.](https://docs.crius.sh/guides/use-crius-with-ai-agents/)[**Detect bundled launches, snipers and insiders**Find out who bought a Robinhood Chain token's launch, how much of the supply snipers and bundles took and whether they still hold it, with a real insider launch that fell 97%.](https://docs.crius.sh/guides/detect-bundles-and-snipers/)[**What is the best Robinhood Chain data API? How to choose one**How to choose a Robinhood Chain data API: nine criteria, from launchpads and realized taxes to WebSockets and free plans, and a sourced provider comparison.](https://docs.crius.sh/guides/choose-a-robinhood-chain-data-api/)[**How to create a token on Robinhood Chain (launchpads compared)**The ways to create a token on Robinhood Chain: Pons, Flap.sh, Bankr, Long.xyz, Flywheel, King of the Markets or your own ERC-20, compared with real launch data.](https://docs.crius.sh/guides/create-a-token-on-robinhood-chain/)[**Robinhood Chain API for AI agents**Give an AI agent Robinhood Chain data with the Crius API: which endpoints to expose as tools, the OpenAPI document, structured errors and citing the block.](https://docs.crius.sh/use-cases/ai-agents/)[**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/)[**Robinhood Chain API for Telegram and Discord bots**Build a Robinhood Chain token scanner, buy bot or launch-alert channel for Telegram or Discord with the Crius API, with real replies and credit costs.](https://docs.crius.sh/use-cases/telegram-and-discord-bots/)[**Robinhood Chain API for token screeners**Build a Robinhood Chain token screener with the Crius API: new, trending and graduating lists, batch profiles, candles and risk badges, with credit costs.](https://docs.crius.sh/use-cases/token-screeners/)[**Robinhood Chain API for trading bots**What a Robinhood Chain trading bot needs from the Crius API: new launches, live prices, pools and safety checks before every buy, with credit costs.](https://docs.crius.sh/use-cases/trading-bots/)[**Robinhood Chain API for wallets and portfolio apps**What a Robinhood Chain wallet or portfolio app needs from the Crius API: holdings, USD values, PnL, trade history and warnings about spam tokens.](https://docs.crius.sh/use-cases/wallets-and-portfolio-apps/)

## 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}/liquidityLiquidity & locksFree · 5 cr](https://docs.crius.sh/reference/security/liquidity-locks/)

Request No key needed

  

**cURL**

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

**JavaScript**

```js
const res = await fetch("https://api.crius.sh/v1/robinhood/token/0x7b8892cea949bc60d494681d1bc3ea96071ab0b8/security", {
  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/security",
    headers={"x-api-key": os.environ["CRIUS_API_KEY"]},
)
body = r.json()
print(body["data"])
```

Response 200 · captured Oct 28, 2026

```json
{
  "data": {
    "contract": {
      "blacklist": false,
      "can_change_limits": false,
      "can_change_tax": false,
      "cooldown": false,
      "implementation": null,
      "is_proxy": false,
      "mintable": false,
      "owner": null,
      "ownership": "none",
      "pausable": false,
      "proxy_kind": null,
      "self_destruct": false,
      "trading_switch": false,
      "upgradeable": false,
      "verified": null
    },
    "flags": [
      "unverified"
    ],
    "honeypot": {
      "is_honeypot": false,
      "reason": null,
      "selective": false
    },
    "hook": {
      "address": "0xe5e702641ea86f4ae6cc3cdaed2b886f976be044",
      "capabilities": {
        "can_block_swaps": false,
        "can_gate_liquidity": false,
        "can_modify_liquidity_amounts": false,
        "can_modify_swap_amounts": true
      },
      "code": {
        "admin_functions": [],
        "checked_ts": 1793207140434,
        "code_hash": "0xc21b1e6c1b45403e81a581f22ed6d9c747997af1cfdac1b1dc9f4b1d346a10db",
        "family": "0xabda3266e50c",
        "kind": "contract",
        "logic": null,
        "owner": "0x263ed295dafae1d9aadd6e56c4b6f9f38ee019dd",
        "ownership": "active",
        "size": 15167
      },
      "family": {
        "honeypot_pct": 0,
        "hooks": 22,
        "id": "0xabda3266e50c",
        "liquidity_pulled_pct": 0.684086,
        "pools_traded": 10525,
        "taxed_pct": 51.9715,
        "verified_hooks": 1
      },
      "flags": [],
      "name": "PonsV2MemeHook",
      "observed": {
        "dynamic_tax_pools": 13,
        "first_trade_ts": 1785866942000,
        "honeypot_pools": 0,
        "last_trade_ts": 1793223683000,
        "liquidity_pulled_pct": 0.66813,
        "liquidity_pulled_pools": 70,
        "max_buy_tax_pct": 10.99,
        "max_sell_tax_pct": 0.7,
        "median_pool_life_min": 53423.5,
        "pools": 10478,
        "pools_traded": 10477,
        "tax_measured_pools": 10392,
        "taxed_10pct_pools": 35,
        "taxed_pools": 5463,
        "volume_usd": 5384607135
      },
      "pattern": {
        "description": "hooks that change swap amounts only",
        "honeypot_pct": 0.0696347,
        "id": "swap_delta_only",
        "liquidity_pulled_pct": 7.93603,
        "pools_traded": 43082,
        "taxed_pct": 15.7537
      },
      "permissions": [
        "beforeInitialize",
        "afterSwap",
        "afterSwapReturnDelta"
      ],
      "risk": [
        "can_modify_swap_amounts"
      ],
      "risk_level": "low"
    },
    "known_asset": false,
    "launch": {
      "flags": [],
      "lp_top_wallet": {
        "address": "0x2d424d69b1ead72b30de4c7fe4c53e4853e1419d",
        "liquidity_usd": 3.0953,
        "pct": 0.0551662
      },
      "sniper_supply_pct": 6.09195,
      "sniper_top_wallet_pct": 6.09195,
      "sniper_wallets": 1,
      "sniper_window_blocks": 10,
      "uniform_holders": null,
      "wallet_farm": null
    },
    "limits": {},
    "liquidity": {
      "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"
      }
    },
    "primary_dex": "uniswap_v4",
    "risk": "low",
    "score": 95,
    "tax": {
      "buy_pct": 2.99,
      "confidence": "high",
      "realized": {
        "buy_pct": 2.99,
        "by_wallet_class": {
          "dev_sell_pct": null,
          "others_sell_pct": 0
        },
        "last_sample_ts": 1793196204000,
        "max_sell_pct_seen": 96.64,
        "samples": {
          "buys": 2539,
          "sells": 1873
        },
        "sell_pct": 0,
        "window": "30d"
      },
      "sell_pct": 0,
      "simulated": null,
      "source": "realized",
      "transfer_pct": null
    },
    "tax_history": [
      {
        "from_block": 88385895,
        "pct": 0,
        "side": "buy"
      },
      {
        "from_block": 88387118,
        "pct": 0,
        "side": "sell"
      },
      {
        "from_block": 88461329,
        "pct": 3,
        "side": "buy"
      }
    ],
    "tax_history_total": 29,
    "tax_mode": "dynamic",
    "token": "0x7b8892cea949bc60d494681d1bc3ea96071ab0b8"
  },
  "meta": {
    "block": 100406827,
    "block_age_ms": 1163,
    "block_ts": 1793225080000,
    "chain": "robinhood",
    "finalized_block": 100397649,
    "lag_ms": 64,
    "safe_block": 100401329,
    "simulation": "no V2 WETH pair: realized tax only"
  }
}
```

[Report an issue](mailto:support@crius.sh?subject=Docs%20issue%3A%20GET%20%2Fv1%2F%7Bchain%7D%2Ftoken%2F%7Baddress%7D%2Fsecurity&body=Page%3A%20https%3A%2F%2Fdocs.crius.sh%2Freference%2Fsecurity%2Fsecurity-checks%2F%0A%0AWhat's%20wrong%20or%20missing%3F%0A%0A)
