deterministic
no-api-key
chain
blockchain
addresses
validation

Crypto address validator: detect the blockchain and verify the checksum (EVM, Bitcoin, Solana and more)

Crypto address validator: identify which blockchain an address belongs to and validate its encoding: EVM EIP-55 checksum, Bitcoin base58check and bech32/bech32m with witness version, Solana base58 and on-curve check, Cosmos bech32 with its HRP, Tron, XRP, Litecoin, Dogecoin, Cardano, Polkadot SS58 and Algorand. Returns every chain the address is valid for (ambiguous when several match), the checksummed form for EVM addresses, and the reason a check failed, including unrecognised_format.

Output (data): valid, matches [{chain, format (string|null), valid, reason (string|null), detail (members depend on the format: hrp, witness_version, encoding for bech32 (cosmos adds bytes); version_byte, purpose for base58check; on_curve for Solana; address_type, header_type, network for Cardano; network_prefix for SS58)}], checksum ({input_form, checksummed, checksum_valid, eip1191_applied} for EVM, else null), ambiguous, reason (present only when the whole input failed: expect_mismatch when expect= was given and no match has that chain, unrecognised_format when no detector recognises the input and no match is listed).

Deterministic: identical input returns identical output, so the response is served with Cache-Control: private, max-age=31536000, immutable (the paying client may cache it indefinitely; shared caches must not, because the response is paid).

Price: $0.05 USDC per call (x402, Base). Route contract version 1.0.0. Docs: https://api.duoleads.com/docs#chain-address

get/v1/chain/address

Request

  • Base URL: https://api.duoleads.com
  • URL: https://api.duoleads.com/v1/chain/address
  • Auth: none declared

Query parameters

addressstring required

Address to identify and validate. Accepted: at most 128 characters.

expect'evm' | 'bitcoin' | 'solana' | 'cosmos' | 'tron' | 'xrp' | 'cardano' | 'polkadot' | 'algorand' | 'litecoin' | 'dogecoin'

Restrict the check to one chain id. Accepted: evm, bitcoin, solana, cosmos, tron, xrp, cardano, polkadot, algorand, litecoin, dogecoin.

chain_idinteger

EVM chain id; enables EIP-1191 chain-salted checksum validation. Accepted: a positive integer chain id.

Response

Paid and settled. data is route-specific; a route that judges its input returns 200 with data.valid: false for a bad value.

okunknown required
route'/v1/chain/address' required
version'1.0.0' required

Changes

No recorded changes to this operation across all 1 revision of this API.