# SendCheck Crypto Address Verifier

> SendCheck Crypto Address Verifier is a paid API for AI agents from api.pennyforge.org, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-13).

Verifies an EVM wallet address before sending crypto: checks EIP-55 checksum, network activity, EOA vs contract status, native/USDC/USDT balances, and flags token confusion traps

## Facts

- Endpoint: POST https://api.pennyforge.org/check
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/sendcheck-crypto-address-verifier-a97ec54c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_hXvS8lNrxsuGQEHd6bN00

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability sendcheck-crypto-address-verifier-a97ec54c -d '<json body>'
```

Example prompt: Before I send 30 USDC on Base to 0x9504A5939AB5be2B2B1F8beA7D7ebeCcd96c485D, run it through SendCheck — confirm the checksum is valid, whether it's a contract or real wallet, and if there's any token mismatch risk.

## When to prefer this

Use this endpoint when an AI agent or user is about to initiate a crypto transfer and needs a pre-flight safety check — particularly useful for flagging wrong-network sends, invalid checksums, contract addresses mistaken for EOAs, and USDC/USDT token confusion. Prefer this over generic blockchain explorers when you need a structured, machine-readable verdict with actionable guidance rather than raw block data.

## Known failure modes

- Invalid address format returns checksum error with status 'invalid'
- Address not found on specified chain returns reachable: false with zero balances
- Unsupported chain value returns validation error
- Network RPC timeout may cause elevated latency or 5xx response
- Malformed 0x address (wrong length) rejected before chain lookup

## How this service works

Paste a wallet address and the chain you are about to send on. SendCheck checks the EIP-55 checksum, whether the address is actually active on that network, EOA or contract, native + USDC + USDT balances — and flags the USDT-instead-of-USDC trap. Every check is shareable: the link re-verifies live in the viewer's browser. Free, client-side, no account.

## Output

Returns a JSON object with a verdict (level: ok/caution/warning), headline summary, array of reason strings, checksum validity status, whether the address is reachable on the specified chain, EOA vs contract flag, native token balance, USDC and USDT balances in human-readable and raw units, outgoing transaction count, current block number, estimated gas, and a next-step recommendation. Also includes a shareable report string.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "chain": {
   "enum": [
    "base",
    "ethereum",
    "arbitrum",
    "optimism",
    "polygon"
   ],
   "type": "string",
   "description": "Chain to scan (default: base)"
  },
  "address": {
   "type": "string",
   "description": "EVM address to verify, 0x + 40 hex characters. Free format pre-check: GET /validate?address=…"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "meta": {
   "ms": 912,
   "service": "sendcheck",
   "version": "1.8.1"
  },
  "chain": {
   "name": "Base",
   "usdc": "30.23",
   "usdt": "0.00",
   "block": 50804109,
   "chain": 8453,
   "native": "0.0026",
   "reachable": true,
   "usdcUnits": "30230079",
   "usdtUnits": "0",
   "isContract": false,
   "outgoingTxs": 3
  },
  "report": "SendCheck pre-send verification …",
  "address": "0x9504A5939AB5be2B2B1F8beA7D7ebeCcd96c485D",
  "verdict": {
   "gas": "0.00000039 ETH",
   "next": "Verify the recipient out-of-band before sending.",
   "level": "caution",
   "reasons": [
    "…"
   ],
   "headline": "Live wallet with recent activity.",
   "tokenMismatch": null
  },
  "checksum": {
   "status": "valid",
   "message": "Valid EIP-55 checksum address."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/sendcheck-crypto-address-verifier-a97ec54c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.pennyforge.org](https://www.zero.xyz/host/api.pennyforge.org/llms.txt)
