{"uid":"cap_fX-ZYFypurOSBnuMVAjmV","slug":"duo-data-utilities-blockchain-address-chain-identification-validation-8d1bcf5f","name":"Duo Data Utilities – Blockchain Address Chain Identification & Validation","description":"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.","url":"https://api.duoleads.com/v1/chain/address?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":["address"],"properties":{"expect":{"enum":["evm","bitcoin","solana","cosmos","tron","xrp","cardano","polkadot","algorand","litecoin","dogecoin"],"type":"string","maxLength":64,"description":"Restrict the check to one chain id."},"address":{"type":"string","maxLength":128,"description":"Address to identify and validate."},"chain_id":{"type":"string","pattern":"^[+-]?\\d+$","maxLength":64,"description":"EVM chain id; enables EIP-1191 chain-salted checksum validation."}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["ok","route","version","data","meta"],"properties":{"ok":{"const":true},"data":{"type":"object","required":["valid","matches","checksum","ambiguous"],"properties":{"valid":{"type":"boolean"},"reason":{"type":"string"},"matches":{"type":"array","items":{"type":"object","required":["chain","format","valid","reason","detail"],"properties":{"chain":{"type":"string"},"valid":{"type":"boolean"},"detail":{"type":"object","properties":{"hrp":{"type":"string"},"bytes":{"type":"integer"},"network":{"type":"string"},"purpose":{"type":"string"},"encoding":{"type":"string"},"on_curve":{"type":"boolean"},"header_type":{"type":"integer"},"address_type":{"type":"string"},"version_byte":{"type":"integer"},"network_prefix":{"type":"integer"},"witness_version":{"type":"integer"}}},"format":{"type":["string","null"]},"reason":{"type":["string","null"]}}}},"checksum":{"type":["object","null"],"required":["input_form","checksummed","checksum_valid","eip1191_applied"],"properties":{"input_form":{"type":"string"},"checksummed":{"type":"string"},"checksum_valid":{"type":"boolean"},"eip1191_applied":{"type":"boolean"}}},"ambiguous":{"type":"boolean"}}},"meta":{"type":"object","required":["request_id","computed_at","price_usd","deterministic","disclaimer"],"properties":{"sources":{"type":"array","items":{"type":"object","required":["id","version","published"]}},"price_usd":{"type":"string"},"disclaimer":{"type":"string"},"request_id":{"type":"string"},"computed_at":{"type":"string","description":"RFC 3339 UTC with milliseconds"},"deterministic":{"type":"boolean"}}},"route":{"const":"/v1/chain/address"},"version":{"type":"string"}}}}}}},"responseSchema":{"type":"json","example":{"ok":true,"data":{"valid":true,"matches":[{"chain":"evm","valid":true,"detail":{},"format":"hex20","reason":"no_checksum"}],"checksum":{"input_form":"lowercase","checksummed":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","checksum_valid":true,"eip1191_applied":false},"ambiguous":false},"meta":{"price_usd":"0.05","disclaimer":"Factual output of a deterministic computation over public data. Provided as is, with no warranty of accuracy, completeness or availability. Not investment, financial, legal, tax, medical or any other professional advice, and not a recommendation. Verify before relying on it. Terms: https://api.duoleads.com/terms","request_id":"01K6B7Q4ZC8H3F2M9WXR5TYN0D","computed_at":"2026-09-28T12:00:00.000Z","deterministic":true},"route":"/v1/chain/address","version":"1.0.0"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.05","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.05/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_qCnTM7avQuZH4yB2jhH5T","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.05","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Identifies which blockchain network(s) a given crypto address belongs to, validates encoding correctness (checksum, format), and returns the checksummed form with detailed failure reasons.","exampleAgentPrompt":"Can you tell me which blockchain the address 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 belongs to and whether its checksum is valid?","exampleUseCases":[{"title":"Validate user-submitted wallet address","prompt":"A user just entered '1A1zP1eP5QGefi2DMPTfTL5SLmv7Divf Na' as their withdrawal address — can you check which chain it's for and whether it's a properly encoded Bitcoin address?"},{"title":"EIP-55 checksum correction before on-chain transaction","prompt":"Before I send this transaction, can you verify that 0xd8da6bf26964af9d7eed9e03e53415d37aa96045 is a valid EVM address and give me the properly checksummed version?"},{"title":"Identify ambiguous address across chains","prompt":"I have this address 'cosmos1qnk2n4nlkpw9xfqntladh74er2ze57dba9hm' — can you confirm it's a valid Cosmos address and tell me its human-readable part?"}],"resultDescription":"Returns a JSON object with: a boolean 'valid' flag, an array of matched chains each with format, validity, and detail, a checksum object showing the checksummed EVM form and whether EIP-55/EIP-1191 was applied, an ambiguous flag if multiple chains match, and metadata including request ID, timestamp, price, and determinism flag. On failure, includes the exact reason the address encoding is invalid.","failureModes":["Invalid or malformed address string returns valid=false with a specific reason field explaining the encoding error","Unsupported address format returns no matches in the matches array","Providing an expect hint for the wrong chain type results in a failed validation against that specific chain","EVM chain_id mismatch causes EIP-1191 checksum validation to fail with explanation","Addresses exceeding 128 characters are rejected by schema validation","Network or payment errors return HTTP 402 or 5xx responses"],"whenToPreferThis":"Use this endpoint when you need deterministic, multi-chain address identification and encoding validation without running a full node — especially useful when an address could belong to multiple chains (EVM vs Tron, Bitcoin vs Litecoin), when you need the canonical EIP-55 checksummed form of an Ethereum address, or when you want the exact reason an address encoding failed. Prefer this over generic regex checks for chains requiring on-curve validation (Solana) or bech32 HRP verification (Cosmos, Bitcoin).","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-02T00:46:18.362Z","isFirstParty":false,"canonicalSlug":"duo-data-utilities-blockchain-address-chain-identification-validation-8d1bcf5f"}