Skip to content
crypto · crypto · evm · ethereum · wallet · address · checksum · erc-55 · offline

EVM address inspection

Validate and normalize an Ethereum or EVM wallet address, distinguish valid, absent, or invalid ERC-55 checksum casing, and identify the zero address without a network request.

$0.002 USDCBase + Solanax402 v2POSTCustomer-evidenced
Pay $0.002 USDC and run in your browserView free result sample

Endpoint

https://apiacre.com/v1/crypto/address-inspect

Send the JSON body below. An unpaid request returns HTTP 402 with a PAYMENT-REQUIRED header; an x402-compatible buyer signs the requirement and retries with PAYMENT-SIGNATURE.

Pay $0.002 USDC and run in your browser

Official Coinbase agent path

Coinbase Agentic Wallet can satisfy this x402 request in one command. Running it may pay automatically, so --max-amount is fixed to $0.002 USDC in atomic units. Copying the command does not install, authenticate, sign, or pay; review the request and use a separate low-value wallet before running it.

npx --yes awal@latest x402 pay https://apiacre.com/v1/crypto/address-inspect \
  -X POST \
  -d '{"address":"0x0000000000000000000000000000000000000000"}' \
  --max-amount 2000 \
  --json

Coinbase pay-for-service documentation · Buyer setup and wallet safety

Alternative third-party AgentCash commands

Run check first without payment. Its fetch command may automatically pay up to the exact listed price.

npx --yes agentcash@latest check https://apiacre.com/v1/crypto/address-inspect
npx --yes agentcash@latest fetch https://apiacre.com/v1/crypto/address-inspect \
  --method POST \
  --header 'content-type: application/json' \
  --body '{"address":"0x0000000000000000000000000000000000000000"}' \
  --payment-protocol x402 \
  --payment-network base \
  --max-amount 0.002

AgentCash CLI documentation

Input example

{
  "address": "0x0000000000000000000000000000000000000000"
}

Response shape

View free static sample JSON

{
  "request_id": "018f1f54-7f38-7ba2-8dc3-5f90272d9f1a",
  "service": "crypto.address-inspect",
  "version": "1",
  "data": {
    "valid": true,
    "address": "0x0000000000000000000000000000000000000000",
    "normalizedAddress": "0x0000000000000000000000000000000000000000",
    "checksumAddress": "0x0000000000000000000000000000000000000000",
    "checksumStatus": "valid",
    "inputIsChecksum": true,
    "inputCase": "numeric",
    "isZero": true,
    "bytes": 20,
    "warnings": [
      "Zero address detected; do not assume it is an owned or recoverable destination."
    ],
    "verification": {
      "standard": "ERC-55",
      "chainIndependent": true,
      "networkRequestsMade": false,
      "ownershipChecked": false,
      "balanceChecked": false,
      "contractCodeChecked": false
    },
    "source": "https://eips.ethereum.org/EIPS/eip-55",
    "reason": null
  },
  "meta": {
    "duration_ms": 42,
    "cached": false,
    "sources": [],
    "warnings": [],
    "next_actions": [
      {
        "service": "crypto.base-account-status",
        "title": "Base account status",
        "reason": "Read one-block Base ETH and native USDC balances, nonce, and contract-code evidence after validating the address.",
        "method": "POST",
        "path": "/v1/crypto/base-account-status",
        "price": "$0.003",
        "input_template": {
          "address": "$request.address",
          "block_tag": "safe"
        },
        "use_output": "Use the resolved block, ETH and official USDC balances, nonce, and code evidence as a compact Base account status check.",
        "handoff_path": "/catalog/crypto.base-account-status",
        "checkout_path": "/try/crypto.base-account-status",
        "sample_path": "/samples/crypto.base-account-status",
        "maximum_atomic_usdc": "3000",
        "handoff_payment_required": false,
        "executes_automatically": false,
        "authorization_required": true
      },
      {
        "service": "crypto.base-account-snapshot",
        "title": "Base account snapshot",
        "reason": "Read a one-block Base snapshot with ETH, native USDC, nonce, and contract-code evidence when the buyer needs balances as well as address validation.",
        "method": "POST",
        "path": "/v1/crypto/base-account-snapshot",
        "price": "$0.01",
        "input_template": {
          "address": "$request.address",
          "block_tag": "safe",
          "token_contracts": []
        },
        "use_output": "Use result.data.balances for the native ETH and USDC snapshot; add only explicitly chosen ERC-20 contracts in a separately authorized request.",
        "handoff_path": "/catalog/crypto.base-account-snapshot",
        "checkout_path": "/try/crypto.base-account-snapshot",
        "sample_path": "/samples/crypto.base-account-snapshot",
        "maximum_atomic_usdc": "10000",
        "handoff_payment_required": false,
        "executes_automatically": false,
        "authorization_required": true
      },
      {
        "service": "crypto.base-usdc-transfers",
        "title": "Base USDC transfer history",
        "reason": "Retrieve recent official Base USDC inflows and outflows for the validated address across a bounded block range.",
        "method": "POST",
        "path": "/v1/crypto/base-usdc-transfers",
        "price": "$0.005",
        "input_template": {
          "address": "$request.address",
          "lookback_blocks": 2000,
          "direction": "any",
          "limit": 25,
          "block_tag": "safe"
        },
        "use_output": "Use result.data.transfers as newest-first public event evidence; it is bounded history and does not prove identity, authorization, purpose, or current balance.",
        "handoff_path": "/catalog/crypto.base-usdc-transfers",
        "checkout_path": "/try/crypto.base-usdc-transfers",
        "sample_path": "/samples/crypto.base-usdc-transfers",
        "maximum_atomic_usdc": "5000",
        "handoff_payment_required": false,
        "executes_automatically": false,
        "authorization_required": true
      }
    ]
  }
}

Complete recipes using this API

These buyer-controlled recipes connect this service to compatible API Acre results. Every step has its own exact price and requires separate authorization.

Continue this workflow

These optional follow-ups use this result in a larger workflow. Each call shows a fresh x402 challenge and requires separate buyer authorization.

Try the payment challenge

curl -i -X POST 'https://apiacre.com/v1/crypto/address-inspect' \
  -H 'content-type: application/json' \
  --data '{"address":"0x0000000000000000000000000000000000000000"}'