Skip to main content

Validate Address

POST /withdrawal/validate-address/

Validates a cryptocurrency address for a specific blockchain or token. This endpoint allows you to verify if an address is correctly formatted and valid before initiating a withdrawal transaction.

Request Headers

HeaderDescription
AuthorizationBearer token for authentication: Bearer <access_token>
X-API-KeyAPI key for authentication (alternative to OAuth 2.0 token)

Request Parameters

ParameterTypeDescription
addressstringThe cryptocurrency address to validate
blockchainstringThe blockchain network the address belongs to. Options: ETH, BSC, TRX, SOL, ARB, BASE, BTC, LTC, DOGE, MATIC, AVAX, XRP, ADA
typestringOptional. The address type. Options: EVM, BTC, LTC, TRX, SOL, DOGE, MATIC, AVAX, XRP, ADA. Only required if blockchain is not provided
tokenstringOptional. The token to validate the address for
memostringOptional. Memo or tag required for some blockchain addresses (e.g., XRP, XLM)

Example Request

POST /withdrawal/validate-address/
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Content-Type: application/json

{
"address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"blockchain": "ETH",
"token": "USDT",
"memo": null
}

Response Parameters

ParameterTypeDescription
is_validbooleanWhether the address is valid for the specified blockchain
addressstringThe address that was validated
blockchainstringThe blockchain network the address was validated for (only included if provided in request)
typestringThe address type
tokenstringThe token the address was validated for (only included if provided in request)

Example Response

{
"is_valid": true,
"address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"blockchain": "ETH",
"type": "EVM",
"token": "USDT"
}

Error Codes

Status CodeError CodeDescription
400invalid_requestThe request was malformed or contained invalid parameters
400missing_required_fieldsEither blockchain or type field must be provided
401unauthorizedAuthentication failed or token is missing
403forbiddenInsufficient permissions to use this endpoint
422validation_errorThe address has an invalid format for the specified blockchain
429rate_limit_exceededToo many requests in a short period

Notes

  • You must provide either the blockchain or the type parameter
  • When blockchain is provided without type, the system will automatically determine the type from the blockchain
  • When type is provided without blockchain, the system will use a default blockchain for that type
  • For blockchains that require a memo/tag (like XRP or XLM), the memo field is also validated when provided
  • The validation can use either regex-based validation (local) or external API validation (when configured)
  • It's recommended to validate addresses before initiating any withdrawal to avoid problems with invalid addresses

Address Types and Blockchain Mapping

The following table shows the mapping between address types and blockchains:

Address TypeCompatible Blockchains
EVMETH, BSC, ARB, BASE, MATIC, AVAX
BTCBTC
LTCLTC
TRXTRX
SOLSOL
DOGEDOGE
XRPXRP
ADAADA

Example: Validating a Tron Address

POST /withdrawal/validate-address/
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Content-Type: application/json

{
"address": "TNPeeaaFB7K9cmo4uQpcU32zGK8G1NYqeL",
"blockchain": "TRX",
"token": "USDT"
}

Response:

{
"is_valid": true,
"address": "TNPeeaaFB7K9cmo4uQpcU32zGK8G1NYqeL",
"blockchain": "TRX",
"type": "TRX",
"token": "USDT"
}

Example: Validating an EVM Address by Type

POST /withdrawal/validate-address/
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Content-Type: application/json

{
"address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"type": "EVM"
}

Response:

{
"is_valid": true,
"address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"type": "EVM"
}