# 2s.io Crypto Address Validator

> 2s.io Crypto Address Validator is a paid API for AI agents from 2s.io, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-16).

Validates a cryptocurrency address with full cryptographic checksum verification and returns chain, validity, canonical form, format, and rejection reason.

## Facts

- Endpoint: GET https://2s.io/api/crypto/address-validate
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/2s-io-aff1f8d4
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_mLMQA6XKjENKJWW2J1JSc

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 2s-io-aff1f8d4
```

Example prompt: Can you check whether this Ethereum address is valid and properly checksummed: 0x742d35Cc6634C0532925a3b844Bc454e4438f44e? Use the eth chain.

## When to prefer this

Choose this endpoint when you need cryptographic checksum-level address validation (not just regex pattern matching) for one of the supported chains (BTC, ETH, SOL, LTC, TRX, XRP, BCH). Ideal for pre-flight checks before sending crypto, user input sanitization, or extracting the canonical checksummed address form. Covers multiple address formats per chain (e.g. BTC P2PKH, P2SH, Bech32, Taproot).

## Known failure modes

- Invalid chain parameter — unsupported chain identifier returns an error
- Address fails checksum — valid=false with reason explaining the checksum mismatch
- Malformed address string — valid=false with reason such as wrong length or illegal characters
- Missing required query params — 400-level error
- Non-checksummed ETH address — valid=false or warning flagged with reason noting missing EIP-55 checksum

## How this service works

Validate a cryptocurrency address with full checksum verification (not just regex). Returns {chain, address, valid, canonical, format, reason}. Chains: btc (P2PKH, P2SH, Bech32 SegWit v0, Taproot Bech32m), eth (full EIP-55 checksum; non-checksummed flagged), sol (Ed25519 32-byte Base58), ltc (Base58Check L.../M.../3... + ltc1 Bech32), trx (T-prefix Base58Check 0x41), xrp (r-prefix custom Base58), bch (legacy Base58Check + bitcoincash:q... CashAddr). Catches typos via cryptographic checksum; canonical field returns the checksummed/lowercased form.

## Output

Returns a JSON object with: chain (e.g. 'eth'), address (original input), valid (boolean), canonical (checksummed or normalized form of the address), format (e.g. 'EIP-55', 'Bech32', 'P2PKH'), and reason (human-readable explanation if invalid or flagged).

## Example request

```json
{
 "input": {
  "type": "http",
  "method": "GET",
  "queryParams": {
   "chain": "eth",
   "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
  }
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "queryParams"
   ],
   "properties": {
    "type": {
     "const": "http"
    },
    "method": {
     "const": "GET"
    },
    "queryParams": {
     "required": [
      "chain",
      "address"
     ],
     "properties": {
      "chain": {
       "type": "string",
       "description": "btc | eth | sol | ltc | trx | xrp | bch."
      },
      "address": {
       "type": "string",
       "description": "The address string to validate."
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/2s-io-aff1f8d4/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 2s.io](https://www.zero.xyz/host/2s.io/llms.txt)
