Crypto Withdrawal Address Validations

We short-circuit withdrawals with an Invalid destination address error response that would otherwise fail later in the withdrawal cycle due to an invalid wallet address. The information below details the validation logic used.

Algorand - ALGO

  • USDC: based32 string with a length of 58 symbol

Arbitrum

  • Applies to native and non-native assets
  • Starts with (prefix) 0x + 40 symbols after
    • e.g.: 0x6034CB23d117eD0e250e0aC639e74B3838fa1278

Avalanche

  • Applies to native and non-native assets
  • Starts with (prefix) 0x + 40 symbols after
    • e.g.: 0x6034CB23d117eD0e250e0aC639e74B3838fa1278

Binance

  • Applies to native and non-native assets
  • Starts with (prefix) 0x + 40 symbols after
    • e.g.: 0x6034CB23d117eD0e250e0aC639e74B3838fa1278

Bitcoin - BTC

BTC Mainnet:

  • SegWit mainnet (P2WPKH address): starts with (prefix) bc1
    • e.g.: bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4
  • SegWit mainnet (P2WSH address): starts with (prefix) bc1
    • e.g.: bc1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3qccfmv3
  • Pubkey hash (P2PKH address): starts with (prefix) 1
    • e.g.: 17VZNX1SN5NtKa8UQFxwQbFeFc3iqRYhem
  • Script hash (P2SH address) SegWit Pay 2 Witness Public Key Hash (P2SH-P2WPKH): starts with (prefix) 3
    • e.g.: 3EktnHQD7RiAE6uzMj2ZifT9YgRrkSgzQX

BTC Testnet:

  • SegWit Testnet (P2WPKH address): starts with (prefix) tb1
    • e.g.: tb1qw508d6qejxtdg4y5r3zarvary0c5xw7kxpjzsx
  • SegWit Testnet (P2WSH address): starts with (prefix) tb1
    • e.g.: tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q0sl5k7
  • Testnet pubkey hash: starts with (prefix) m or n
    • e.g.: mipcBbFg9gMiCh81Kj8tqqdgoZub1ZJRfn
  • Testnet script hash: starts with (prefix) 2
    • e.g.: 2MzQwSSnBHWHqSAqtTVQ6v47XtaisrJa1Vc

Bitcoincash - BCH:

  • Mainnet: starts with bitcoincash or q
    • e.g.: bitcoincash:qz2vrdjmwshmshahjrp7gqrm70wljjj66sfztan9gz
    • e.g.:qpaxgtyj4gz7wf3m8y68umq26un5u6vaxvm7tse374
  • Testnet: starts with bchtest or q
    • e.g.: bchtest:qrywdg4f7qw4f8er27rst0mcm5pesg2pdgkefgzjn0
    • e.g.: qrywdg4f7qw4f8er27rst0mcm5pesg2pdgkefgzjn0
  • Prefix input is case-sensitive
  • No address length validation

Cardano - ADA

  • Mainnet: Starts with Ae2 or DdzFF or addr1
  • Testnet: Starts with addr_test1
  • Prefix input is case-sensitive
  • No address length validation

cosmosHub - ATOM

  • Starts with (prefix) cosmos
  • Prefix input is case-sensitive
  • No address length validation
    • e.g.: cosmos1p8mkmzc9y7tz5mcpuh7rkytprn35p3ugq0kj5w

DOGE - DOGE

  • Mainnet: starts with D or 9 or A
  • Testnet: starts with n or 2
  • Prefix input is case-sensitive
  • No address length validation

EOS - eos

  • Numbers (0-9) and letters (A-Z; a-z)
  • Total input length 12 characters
    • e.g. 14ron1nyyrl4

Ethereum

  • Applies to native and non-native assets
  • Starts with (prefix) 0x + 40 symbols after
    • e.g.: 0x6034CB23d117eD0e250e0aC639e74B3838fa1278

Fantom

  • Applies to native and non-native assets
  • Starts with (prefix) 0x + 40 symbols after
    • e.g.: 0x6034CB23d117eD0e250e0aC639e74B3838fa1278

FLOW - FLOW

  • USDC: starts with (prefix) 0x + 16 symbols after

Hedera - Hbar:

  • Starts with (prefix) 0.0. and at least 1 symbol after

Litecoin - LTC

  • Mainnet: starts with L or M or ltc
  • Testnet: starts with m or n or Q or tltc
  • Prefix input is case-sensitive
  • No address length validation

NEAR - NEAR

  • Numbers (0-9) and letters (A-Z; a-z)
  • Total input length 64 characters

Polkadot - DOT

  • Based58 string

Polygon

  • Applies to native and non-native assets
  • Starts with (prefix) 0x + 40 symbols after
    • e.g.: 0x6034CB23d117eD0e250e0aC639e74B3838fa1278

Ripple - xrp:

  • Starts with (prefix) r
  • Prefix input is case-sensitive
  • No address length validation
    • e.g.: ru6VK7YaKeid7aqFwFVfyY9KoTZKjXhcU

Solana - SOL

  • USDC: based58 string

Stellar network (XLM; USDC)

  • Starts with (prefix) G
  • Numbers (0-9) and letters (A-Z; a-z)
  • Total input length 56 characters
  • Prefix input is case-sensitive
    • e.g. GD6OKQPCJDO2OZHFFQ5G6342G3DD36DJATYC6NTFU7IJEBFEVHMWQQDH

Tezos - XTZ

  • Starts with (prefix) tz
  • Prefix input is case-sensitive
  • No address length validation
    • e.g.: tz1iLPdkGSLcZBXrhvaSQ1efVNmAqdeRnQ7n

Tron network (TRX; USDC)

  • Starts with (prefix) T
  • Numbers (0-9) and letters (A-Z; a-z)
  • Total input length 34 characters
  • Prefix input is case-sensitive
    • e.g. TKt1Jg4Bu7jdwXyAsCZq4sLCNTTpJRDPCh