---
title: "Scan Address"
method: POST
path: "/v0/evm/address/scan"
tags: ["EVM"]
---

# Scan Address

`POST /v0/evm/address/scan`

Get a risk recommendation with plain-language reasons for an address.

## Request body

- ValidateAddress
  - `metadata` ScanRequestMetadata, required
    - `domain` string — The full URL of the DApp or website that initiated the request, for cross-reference. Must use the https or http scheme and contain a valid hostname. Cannot contain JSON, braces, or other embedded data structures.
    - `non_dapp` boolean — Set to true when the request was not initiated by a dapp. Dapp requests should provide the `domain` field.
    - `account` RoutersChainAgnosticModelsRequestAccount
      - `account_id` string, required — Unique identifier for the account.
      - `account_creation_timestamp` string, date-time — Timestamp when the account was created.
      - `user_age` integer — Age of the user in years
      - `user_country_code` string — ISO country code of the user's location.
      - `account_addresses` string[] — List of all account addresses in different chains based on the CAIPs standard (https://github.com/ChainAgnostic/CAIPs). Ethereum mainnet example: eip155:1:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb
    - `connection` RoutersChainAgnosticModelsRequestConnection
      - `user_agent` string — User agent string from the client's browser or application.
      - `ip_address` string, ipvanyaddress, required — IP address of the customer making the request. Both IPv4 and IPv6 addresses are supported.
      - `origin` string, uri — The full URL of the website that the request was directed to.
      - `walletconnect_name` string — WalletConnect session name, when the request originates from a WalletConnect session.
      - `walletconnect_description` string — WalletConnect session description, when the request originates from a WalletConnect session.
  - `chain` 'arbitrum' | 'avalanche' | 'base' | 'base-sepolia' | 'lordchain' | 'lordchain-testnet' | 'metacade' | 'metacade-testnet' | 'bsc' | 'ethereum' | 'optimism' | 'polygon' | 'zksync' | 'zksync-sepolia' | 'zora' | 'linea' | 'blast' | 'scroll' | 'ethereum-sepolia' | 'degen' | 'avalanche-fuji' | 'gnosis' | 'worldchain' | 'soneium-minato' | 'ronin' | 'apechain' | 'berachain' | 'berachain-bartio' | 'ink' | 'ink-sepolia' | 'abstract' | 'abstract-testnet' | 'soneium' | 'unichain' | 'sei' | 'flow-evm' | 'hyperevm' | 'megaeth' | 'katana' | 'plume' | 'xlayer' | 'monad' | 'monad-testnet' | 'tempo' | 'tempo-testnet' | 'kite-ai' | 'kaia' | 'plasma' | 'mantle' | 'robinhood' | 'arc' | 'flare', required — The chain name
  - `address` string, required — The address to validate.

## Response `200`

Success

- AddressValidation
  - `result_type` 'Malicious' | 'Warning' | 'Benign' | 'Error', required — Overall validation outcome for the scan.
  - `features` union — A list of features explaining the scan result (each feature includes a type, feature_id, and description).
    - Feature[]
      - `feature_id` 'VERIFIED_CONTRACT' | 'UNVERIFIED_CONTRACT' | 'HIGH_TRADE_VOLUME' | 'MARKET_PLACE_SALES_HISTORY' | 'HIGH_REPUTATION_TOKEN' | 'ONCHAIN_ACTIVITY_VALIDATOR' | 'STATIC_CODE_SIGNATURE' | 'KNOWN_MALICIOUS' | 'IS_EOA' | 'IS_CONTRACT' | 'ERC20_CONTRACT' | 'TRUSTED_CONTRACT' | 'BENIGN_CREATOR' | 'METADATA' | 'AIRDROP_PATTERN' | 'IMPERSONATOR' | 'INORGANIC_VOLUME' | 'DYNAMIC_ANALYSIS' | 'CONCENTRATED_SUPPLY_DISTRIBUTION' | 'HONEYPOT' | 'INSUFFICIENT_LOCKED_LIQUIDITY' | 'UNSTABLE_TOKEN_PRICE' | 'RUGPULL' | 'WASH_TRADING' | 'CONSUMER_OVERRIDE' | 'INAPPROPRIATE_CONTENT' | 'HIGH_TRANSFER_FEE' | 'HIGH_BUY_FEE' | 'HIGH_SELL_FEE' | 'UNSELLABLE_TOKEN' | 'IS_MINTABLE' | 'REBASE_TOKEN' | 'LIQUID_STAKING_TOKEN' | 'MODIFIABLE_TAXES' | 'CAN_BLACKLIST' | 'CAN_WHITELIST' | 'HAS_TRADING_COOLDOWN' | 'EXTERNAL_FUNCTIONS' | 'HIDDEN_OWNER' | 'TRANSFER_PAUSEABLE' | 'OWNERSHIP_RENOUNCED' | 'OWNER_CAN_CHANGE_BALANCE' | 'PROXY_CONTRACT' | 'SIMILAR_MALICIOUS_CONTRACT' | 'IMPERSONATOR_SENSITIVE_ASSET' | 'IMPERSONATOR_HIGH_CONFIDENCE' | 'IMPERSONATOR_MEDIUM_CONFIDENCE' | 'IMPERSONATOR_LOW_CONFIDENCE' | 'IMPERSONATION_PROTECTED' | 'FAKE_VOLUME' | 'HIDDEN_SUPPLY_BY_KEY_HOLDER' | 'FAKE_TRADE_MAKER_COUNT' | 'TRANSFER_FROM_REVERTS' | 'OFFENSIVE_TOKEN_METADATA' | 'LISTED_ON_CENTRALIZED_EXCHANGE' | 'SANCTIONED_CREATOR' | 'SPAM_TEXT' | 'BONDING_CURVE_TOKEN' | 'HEAVILY_SNIPED' | 'SOLANA_TOKEN_2022' | 'POST_DUMP' | 'DEX_PAID' | 'LOW_REPUTATION_CREATOR' | 'SNIPE_AT_MINT' | 'TRANSFER_HOOK_ENABLED' | 'CONFIDENTIAL_TRANSFERS_ENABLED' | 'NON_TRANSERABLE' | 'TOKEN_BACKDOOR' | 'CREATED_VIA_LAUNCHPAD' | 'COMPROMISED_TOKEN' | 'LONG_FUND_TRAIL', required
      - `type` 'Benign' | 'Info' | 'Warning' | 'Malicious', required
      - `description` string, required — Description of the feature
    - string[]
  - `error` string — An error message returned when `result_type` is `Error`.

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/blockaid-official/apis/blockaid-api.md) · [All operations](https://skmtc.net/blockaid-official/apis/blockaid-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/blockaid-official/blockaid-api/versions/17c41f337b2e/schema)
