80trust / 100

Base Token Risk

by 1gateway in Onchain & crypto

x402 APIPassing, checked 5 h ago

Use when an agent must vet a Base ERC-20 before buying or integrating it. Input: address. Output: JSON risk signals with block+evidence: proxy+admin, owner (renounced/EOA/contract/undeclared), mint/pause/blacklist/fee selectors, Uniswap v2/v3/v4 (incl. hooked launch pools, hook permissions) + Aerodrome pools, buy/sell simulation, notChecked. Signals, not a safe verdict. Bad input/EOA: 400, not charged. Example: ?address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

GET https://1gateway.dev/v1/onchain/base/token-risk

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
177 ms typical, 177 ms slowest 5%
Last check
5 h ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X GET "https://1gateway.dev/v1/onchain/base/token-risk?address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2F1gateway.dev%2Fv1%2Fonchain%2Fbase%2Ftoken-risk
const res = await pay("https://1gateway.dev/v1/onchain/base/token-risk?address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913");
console.log(await res.json());

Example input

{
  "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
}

Example output

{
  "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "asOfBlock": 52415330,
  "cache": "miss",
  "chain": "base",
  "chainId": 8453,
  "checksRun": [
    "contract_code"
  ],
  "contract": {
    "codeSize": 1852,
    "owner": {
      "address": "0x3ABd6f64A422225E61E435baE41db12096106df7",
      "method": "owner()",
      "type": "eoa"
    },
    "proxy": {
      "admin": "0x4fc7850364958d97B4d3f5A08f79db2493f8cA44",
      "implementation": "0x2Ce6311ddAE708829bc0784C967b7d77D19FD779",
      "type": "zeppelinos"
    },
    "selectorsMatched": [
      {
        "category": "mint",
        "selector": "0x40c10f19",
        "signature": "mint(address,uint256)"
      }
    ]
  },
  "disclaimer": "Informational risk signals computed from public Base chain stat…",
  "errors": [],
  "liquidity": {
    "pools": [
      {
        "address": "0x88A43bbDF9D098eEC7bCEda4e2494615dfD9bB9C",
        "depthUsdApprox": 890353,
        "dex": "uniswap_v2",
        "quote": "WETH"
      }
    ],
    "totalDepthUsdApprox": 239890614,
    "v4Discovery": {
      "candidateIds": 8,
      "creationBlock": null,
      "initializeLogs": "predates_v4"
    },
    "wethUsdApprox": 2493.86
  },
  "notChecked": [
    {
      "id": "holder_distribution",
      "reason": "needs a Transfer-log indexer; only known addresses are reported…"
    }
  ],
  "riskLevel": "no_observed_risk",
  "rpc": {
    "kind": "public",
    "source": "base-rpc.publicnode.com"
  },
  "signals": [
    {
      "block": 52415330,
      "evidence": {
        "method": "owner()",
        "owner": "0x3ABd6f64A422225E61E435baE41db12096106df7",
        "ownerType": "eoa"
      },
      "id": "owner_is_eoa",
      "method": "eth_call owner()/getOwner() + eth_getCode(owner)",
      "severity": "info",
      "title": "Privileged owner is a single externally owned account (one key)"
    }
  ],
  "simulation": {
    "buyOk": true,
    "buyTaxPct": null,
    "dex": "uniswap_v3",
    "pool": "0x6c561B446416E1A00E8E93E221854d6eA4171372",
    "ran": true,
    "reason": null,
    "roundTripLossPct": 0.6,
    "sellOk": true,
    "sellTaxPct": null,
    "status": "ok",
    "transferOk": true
  },
  "status": "complete",
  "summary": {
    "high": 0,
    "info": 6,
    "low": 0,
    "medium": 0
  },
  "supplyHeld": {
    "deadPct": 0.0005,
    "ownerPct": 0,
    "poolsPct": 2.0299
  },
  "token": {
    "decimals": 6,
    "name": "USD Coin",
    "symbol": "USDC",
    "totalSupply": 4409545823.300746,
    "totalSupplyRaw": "4409545823300746"
  }
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
5 h agoPassed402177 ms$0.009