Checks whether an ERC-20 token is safe to buy, hold or sell: honeypot, rug pull and sca…
Checks whether an ERC-20 token is safe to buy, hold or sell: honeypot, rug pull and scam risk. Input: chain and token address. Output: a verdict (OK, CAUTION, AVOID or UNVERIFIED), a short summary and each risk with its evidence. Not just code flags: it simul…
by tokensafetycheck.xyz · discovered, not yet claimed by its owner · updated 2026-10-03
Mirrored from Coinbase's public x402 Bazaar. The description is the provider's own text and has not been reviewed here; the payment requirements are copied as published.
What it does
Checks whether an ERC-20 token is safe to buy, hold or sell: honeypot, rug pull and scam risk. Input: chain and token address. Output: a verdict (OK, CAUTION, AVOID or UNVERIFIED), a short summary and each risk with its evidence. Not just code flags: it simulates a buy and a sale through OpenSea's swap, sales from real holders' wallets, sales up to a year after buying, and a holder's sale after each owner power (tax, blacklist, mint) is used. Shows who can pull the liquidity. 18 EVM chains.
Tags: token-safety · honeypot · rug-pull · token-risk · scam-detection · bazaar
Call contract
- Method
- POST
- Input
- json
- Output
- json
- Last paid call
- 2026-10-03
{
"address": "0x10c56f005a379f8eafc88ff5c3f40d30f0031ac9",
"chain": "base"
}{
"costs": {
"buy": {
"fees_and_taxes_pct": 1.29,
"hook_fee_pct": null,
"pool_fee_pct": 0.3,
"price_impact_pct": 0.18,
"token_tax_pct": 0.99
},
"round_trip_usd": 97.44,
"sell": {
"fees_and_taxes_pct": 1.29,
"hook_fee_pct": null,
"pool_fee_pct": 0.3,
"price_impact_pct": 0.16,
"token_tax_pct": 0.99
},
"tested_usd": 100,
"transfer_tax_pct": 0
},
"owner": {
"address": "0xe220329659d41b2a9f26e83816b424bdacf62567",
"control": "wallet",
"proven_powers": [
{
"effect": "after addBlacklistAddress(0x93e7...075b), the holder's sale reverts: TransferToBlacklistedAddress() (0x93e7...075b is the pool the holder sells into)",
"function": "addBlacklistAddress(address)",
"power": "block_sale"
},
{
"effect": "after setProjectTaxRates(9900, 9900), the holder's sale returns 1.0% of what it returns otherwise",
"function": "setProjectTaxRates(uint16,uint16)",
"power": "raise_tax"
}
]
},
"risk_level": "high",
"risks": [
{
"code": "OWNER_CAN_BLOCK_SALE",
"detail": "after addBlacklistAddress(0x93e7...075b), the holder's sale reverts: TransferToBlacklistedAddress() (0x93e7...075b is the pool the holder sells into).",
"evidence": "proven",
"level": "high",
"message": "A single wallet 0xe220...2567 can at any time block holders from selling (addBlacklistAddress(address))"
},
{
"code": "OWNER_CAN_RAISE_TAX",
"detail": "after setProjectTaxRates(9900, 9900), the holder's sale returns 1.0% of what it returns otherwise.",
"evidence": "proven",
"level": "high",
"message": "A single wallet 0xe220...2567 can at any time cut what holders get for a sale to 1% (setProjectTaxRates(uint16,uint16))"
}
],
"sell": {
"can_sell": true,
"is_honeypot": false,
"real_holders": {
"blocked": 0,
"highest_tax_pct": 0.99,
"sold": 14,
"tested": 14
},
"recommended_slippage_pct": 0.5,
"sells_later": {
"after_1d": true,
"after_1h": true,
"after_1y": true,
"after_30d": true,
"after_7d": true,
"next_block": true
},
"via_opensea": {
"gas_usd": 0.01,
"provider": "ZERO_EX",
"received_usd": 98.15,
"result": "sold",
"tested_usd": 100
}
},
"summary": "Sells in simulation. No trap found. Risks: A single wallet 0xe220...2567 can at any time block holders from selling (addBlacklistAddress(address)) [high]; A single wallet 0xe220...2567 can at any time cut what holders get for a sale to 1% (setProjectTaxRates(uint16,uint16)) [high] (+2 more, see risks). Checked as it is now; of its 176 days, the events of the last 30 were read.",
"traps": [],
"verdict": "CAUTION"
}Use with an agent
- Discover. Agents find this listing with
GET https://bazaar.saylorinnovations.com/discovery/search?query=…, the MCP toolsearch_resources, or/discovery/resources. - Inspect. Fetch
/resources/38091.jsonfor the price and payment options. - Pay. Call
GET https://tokensafetycheck.xyz/api/token-safety-check. The provider answers402with its payment requirements. An x402 client signs one of the options below and retries withPAYMENT-SIGNATURE. - Execute. The provider returns
200with the data. Agent Bazaar is not in the request path and never sees your payment.
For humans
You don't need an account or an API key; you need a wallet holding a small amount of USDC on Base, and an x402-capable client (see the examples below). Call the endpoint unpaid first to see exactly what it asks for.
Pricing & payment
- Price
- $0.05 / request
- Protocol
- x402 v2
- Auth
- No account or API key. Pay per request.
- Networks
- Base
- Demand
- 2 calls · 2 unique payers in 30d (public x402 Bazaar data)
x402 payment requirements
| Scheme | Network | Asset | Amount | Pay to | Timeout |
|---|---|---|---|---|---|
| exact | Base eip155:8453 | USDC | $0.05 | 0xe541cbc95899c2950ac7702b0a9acf33f1ed855d | 300s |
accepts[] (raw JSON)
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0xe541cbc95899c2950ac7702b0a9acf33f1ed855d",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "50000",
"amountUsd": 0.05,
"maxTimeoutSeconds": 300
}
]Schemas
Output schema (JSON Schema)
{
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}Example shape — generated from the schema, not a captured live response
{
"example": {},
"type": "string"
}Examples
curl "https://tokensafetycheck.xyz/api/token-safety-check"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paidconst res = await fetch("https://tokensafetycheck.xyz/api/token-safety-check");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}import httpx
res = httpx.get("https://tokensafetycheck.xyz/api/token-safety-check")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerDetails
- Provider
- tokensafetycheck.xyz
- Endpoint
- https://tokensafetycheck.xyz/api/token-safety-check
- Machine-readable
/resources/38091.json