---
updatedAt: 2025-11-11T23:13:12.000Z
agentTools:
  projectIndex: https://developers.fortresstrust.com/llms.txt
---

# 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`