Token Security & Risk Intelligence API Documentation

Independent Base token security checks from public JSON-RPC, contract bytecode, and DEX Screener. Each result separates verified facts, detected signals, and unavailable data, and does not assign a risk score or a safety approval. Payment is the exact USDC price on Base with x402.

POSThttps://brainiac.software/api/v1/token-security/token-risk-verdict$0.05 USDC

Token risk verdict

Read a Base token contract and return an evidence-based verdict. Facts, signals, and unavailable checks are separate. No risk score is produced, and absence of a signal is not a safety approval.

Body

FieldRequiredNotes
tokenAddressYesstring

Request exampleJSON

{
  "tokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
}

Response exampleJSON

{
  "retrievedAt": "2026-11-02T18:00:00.000Z",
  "tokenAddress": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
  "chainId": 8453,
  "approvesInteraction": false,
  "assessment": "signals_present",
  "findings": [
    {
      "kind": "fact",
      "code": "contract_code_present",
      "detail": "The address has runtime code at the latest block.",
      "evidence": "2456"
    },
    {
      "kind": "signal",
      "code": "selector_fe575a87",
      "detail": "Runtime bytecode contains the 4-byte selector for isBlacklisted(address). Presence in bytecode does not prove the function is reachable or privileged.",
      "evidence": "fe575a87"
    },
    {
      "kind": "unavailable",
      "code": "sell_not_simulated",
      "detail": "No buy or sell was submitted or simulated, so a successful sell was not observed.",
      "evidence": "no simulation"
    }
  ],
  "sources": [
    {
      "source": "Base JSON-RPC",
      "url": "https://mainnet.base.org",
      "retrievedAt": "2026-11-02T18:00:00.000Z"
    }
  ],
  "limitations": [
    "Absence of a signal is not evidence that the token is safe, and this response does not approve interacting with it."
  ]
}

cURL

curl -i -X POST "https://brainiac.software/api/v1/token-security/token-risk-verdict" \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
  --data-binary @- <<'JSON'
{
  "tokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
}
JSON
POSThttps://brainiac.software/api/v1/token-security/honeypot-risk-check$0.04 USDC

Honeypot risk check

Look for observable pause and blacklist indicators in Base bytecode and standard calls. This does not simulate a buy or sell.

Body

FieldRequiredNotes
tokenAddressYesstring

Request exampleJSON

{
  "tokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
}

Response exampleJSON

{
  "retrievedAt": "2026-11-02T18:00:00.000Z",
  "tokenAddress": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
  "chainId": 8453,
  "approvesInteraction": false,
  "assessment": "signals_present",
  "findings": [
    {
      "kind": "fact",
      "code": "paused_returned_false",
      "detail": "paused() returned false. This does not prove that transfers are unrestricted.",
      "evidence": "paused()=false"
    },
    {
      "kind": "signal",
      "code": "selector_0ecb93c0",
      "detail": "Runtime bytecode contains the 4-byte selector for addBlackList(address). Presence in bytecode does not prove the function is reachable or privileged.",
      "evidence": "0ecb93c0"
    },
    {
      "kind": "unavailable",
      "code": "sell_not_simulated",
      "detail": "No buy or sell was submitted or simulated, so a successful sell was not observed.",
      "evidence": "no simulation"
    }
  ],
  "sources": [
    {
      "source": "Base JSON-RPC",
      "url": "https://mainnet.base.org",
      "retrievedAt": "2026-11-02T18:00:00.000Z"
    }
  ],
  "limitations": [
    "Buy and sell success was not simulated. A missing restriction selector does not prove that selling works."
  ]
}

cURL

curl -i -X POST "https://brainiac.software/api/v1/token-security/honeypot-risk-check" \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
  --data-binary @- <<'JSON'
{
  "tokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
}
JSON
POSThttps://brainiac.software/api/v1/token-security/ownership-risk-check$0.04 USDC

Ownership risk check

Read owner(), EIP-1967 proxy slots, and bytecode selectors for mint, pause, and blacklist privileges on Base. Selector presence is not proof the owner can call them.

Body

FieldRequiredNotes
tokenAddressYesstring

Request exampleJSON

{
  "tokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
}

Response exampleJSON

{
  "retrievedAt": "2026-11-02T18:00:00.000Z",
  "tokenAddress": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
  "chainId": 8453,
  "approvesInteraction": false,
  "assessment": "signals_present",
  "findings": [
    {
      "kind": "fact",
      "code": "owner_returned",
      "detail": "owner() returned 0x0000000000000000000000000000000000000001.",
      "evidence": "0x0000000000000000000000000000000000000001"
    },
    {
      "kind": "signal",
      "code": "selector_40c10f19",
      "detail": "Runtime bytecode contains the 4-byte selector for mint(address,uint256). Presence in bytecode does not prove the function is reachable or privileged.",
      "evidence": "40c10f19"
    },
    {
      "kind": "unavailable",
      "code": "privilege_use_not_observed",
      "detail": "No privileged transaction was executed. The existence of a selector is not proof it can be called by the owner.",
      "evidence": "no privileged call"
    }
  ],
  "sources": [
    {
      "source": "Base JSON-RPC",
      "url": "https://mainnet.base.org",
      "retrievedAt": "2026-11-02T18:00:00.000Z"
    }
  ],
  "limitations": [
    "owner() returning an address does not list every key that can call a privileged function."
  ]
}

cURL

curl -i -X POST "https://brainiac.software/api/v1/token-security/ownership-risk-check" \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
  --data-binary @- <<'JSON'
{
  "tokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
}
JSON
POSThttps://brainiac.software/api/v1/token-security/liquidity-risk-assessment$0.04 USDC

Liquidity risk assessment

Assess Base pool liquidity reported by the public DEX Screener API, including concentration across returned pools. LP lock is not verified.

Body

FieldRequiredNotes
tokenAddressYesstring

Request exampleJSON

{
  "tokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
}

Response exampleJSON

{
  "retrievedAt": "2026-11-02T18:00:00.000Z",
  "tokenAddress": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
  "approvesInteraction": false,
  "assessment": "signals_present",
  "findings": [
    {
      "kind": "fact",
      "code": "reported_liquidity_usd",
      "detail": "The summed reported USD liquidity across 2 Base pools is 25000000.",
      "evidence": "25000000"
    },
    {
      "kind": "signal",
      "code": "liquidity_concentrated",
      "detail": "At least 90% of the summed reported USD liquidity is in one Base pool.",
      "evidence": "0.96"
    },
    {
      "kind": "unavailable",
      "code": "lp_lock_not_verified",
      "detail": "LP token lock, burn, and removal rights were not read from the pool contracts.",
      "evidence": "not read"
    }
  ],
  "pools": [
    {
      "dexId": "uniswap",
      "pairAddress": "0x0000000000000000000000000000000000000002",
      "quoteSymbol": "WETH",
      "liquidityUsd": 24000000,
      "volumeH24": 1000000,
      "url": "https://dexscreener.com/base/0x0000000000000000000000000000000000000002"
    }
  ],
  "sources": [
    {
      "source": "DEX Screener",
      "url": "https://api.dexscreener.com/latest/dex/tokens/0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
      "retrievedAt": "2026-11-02T18:00:00.000Z"
    }
  ],
  "limitations": [
    "LP token lock, burn, and ownership were not verified."
  ]
}

cURL

curl -i -X POST "https://brainiac.software/api/v1/token-security/liquidity-risk-assessment" \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
  --data-binary @- <<'JSON'
{
  "tokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
}
JSON
POSThttps://brainiac.software/api/v1/token-security/token-manipulation-signals$0.04 USDC

Token manipulation signals

Report buy, sell, price-change, and volume signals from public DEX Screener data for the largest Base pool. These are feed observations, not proof of manipulation.

Body

FieldRequiredNotes
tokenAddressYesstring

Request exampleJSON

{
  "tokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
}

Response exampleJSON

{
  "retrievedAt": "2026-11-02T18:00:00.000Z",
  "tokenAddress": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
  "approvesInteraction": false,
  "assessment": "signals_present",
  "findings": [
    {
      "kind": "fact",
      "code": "txns_h24",
      "detail": "DEX Screener reports 120 buys and 0 sells in the h24 window for the largest pool.",
      "evidence": "120/0"
    },
    {
      "kind": "signal",
      "code": "sells_absent_h24",
      "detail": "The h24 feed shows buys and zero sells. That is a trading-pattern signal, not proof that selling is blocked.",
      "evidence": "120/0"
    },
    {
      "kind": "unavailable",
      "code": "holders_not_measured",
      "detail": "Holder concentration was not measured from transfer history.",
      "evidence": "not scanned"
    }
  ],
  "sources": [
    {
      "source": "DEX Screener",
      "url": "https://api.dexscreener.com/latest/dex/tokens/0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
      "retrievedAt": "2026-11-02T18:00:00.000Z"
    }
  ],
  "limitations": [
    "Buy and sell counts are aggregate feed statistics. They do not prove that any particular wallet can sell."
  ]
}

cURL

curl -i -X POST "https://brainiac.software/api/v1/token-security/token-manipulation-signals" \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
  --data-binary @- <<'JSON'
{
  "tokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
}
JSON
POSThttps://brainiac.software/api/v1/token-security/token-due-diligence-report$0.12 USDC

Token due diligence report

Combine the Base contract checks and DEX Screener observations into one report for an agent. The report never approves interaction and does not turn missing evidence into a safety claim.

Body

FieldRequiredNotes
tokenAddressYesstring

Request exampleJSON

{
  "tokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
}

Response exampleJSON

{
  "retrievedAt": "2026-11-02T18:00:00.000Z",
  "tokenAddress": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
  "chainId": 8453,
  "approvesInteraction": false,
  "assessment": "signals_present",
  "token": {
    "hasCode": true,
    "name": "USD Coin",
    "symbol": "USDC",
    "decimals": 6,
    "totalSupply": "1000000000000"
  },
  "checks": {
    "honeypot": {
      "assessment": "signals_present",
      "findings": [
        {
          "kind": "signal",
          "code": "selector_fe575a87",
          "detail": "Runtime bytecode contains the 4-byte selector for isBlacklisted(address).",
          "evidence": "fe575a87"
        }
      ]
    },
    "ownership": {
      "assessment": "signals_present",
      "findings": [
        {
          "kind": "fact",
          "code": "owner_returned",
          "detail": "owner() returned an address.",
          "evidence": "0x0000000000000000000000000000000000000001"
        }
      ]
    },
    "liquidity": {
      "assessment": "insufficient_evidence",
      "findings": [
        {
          "kind": "unavailable",
          "code": "lp_lock_not_verified",
          "detail": "LP token lock was not verified.",
          "evidence": "not read"
        }
      ]
    },
    "manipulation": {
      "assessment": "insufficient_evidence",
      "findings": [
        {
          "kind": "unavailable",
          "code": "holders_not_measured",
          "detail": "Holder concentration was not measured.",
          "evidence": "not scanned"
        }
      ]
    }
  },
  "agent": {
    "decision": "not_approved",
    "observedRestrictions": [],
    "signals": [
      "Runtime bytecode contains the 4-byte selector for isBlacklisted(address)."
    ],
    "unavailable": [
      "No buy or sell was simulated.",
      "LP token lock was not verified.",
      "Holder concentration was not measured."
    ],
    "guidance": "Use the facts as observations and the signals as reasons to investigate. Do not interact with this token because a signal is absent."
  },
  "sources": [
    {
      "source": "Base JSON-RPC",
      "url": "https://mainnet.base.org",
      "retrievedAt": "2026-11-02T18:00:00.000Z"
    },
    {
      "source": "DEX Screener",
      "url": "https://api.dexscreener.com/latest/dex/tokens/0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
      "retrievedAt": "2026-11-02T18:00:00.000Z"
    }
  ],
  "limitations": [
    "The report does not approve interaction and does not treat missing evidence as safety."
  ]
}

cURL

curl -i -X POST "https://brainiac.software/api/v1/token-security/token-due-diligence-report" \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
  --data-binary @- <<'JSON'
{
  "tokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
}
JSON