Wallet addresses
When creating a checkout or offer, you provide a walletAddress where the purchased cryptocurrency will be sent.
Is walletAddress required?
Section titled “Is walletAddress required?”Yes, walletAddress is required. Omitting it will result in error ER325. Some partners have a custom configuration where wallet address handling works differently. This is configured by BTC Direct and your account manager will inform you if this applies to your integration.
Address validation
Section titled “Address validation”Each cryptocurrency has its own address format. The API validates the address against the selected baseCurrency.
Invalid addresses will result in error ER014.
The validation uses mainnet addresses in all environments, including the sandbox. Do not use testnet addresses.
Supported currencies
Section titled “Supported currencies”The list of supported currencies and their chains can be retrieved from the API. The chain field in the response
determines the expected wallet address format.
Common address formats:
| Chain | Format | Example prefix |
|---|---|---|
| Bitcoin | P2PKH, P2SH, Bech32, Bech32m | 1, 3, bc1 |
| Ethereum and EVM chains | EIP-55 checksummed, 0x-prefixed | 0x |
| Solana | Base58 | varies |
| XRP Ledger | Classic address | r |
| Cosmos-based (ATOM, INJ, SEI) | Bech32 | chain-specific prefix |
| Stellar | Ed25519 public key | G |
| Cardano | Shelley/Byron | addr1 |
| Algorand | Base32 | varies |
| TON | Raw or user-friendly | varies |
| Polkadot | SS58 | 1 |
| Kaspa | Bech32-like | kaspa: |
Wallet address tags
Section titled “Wallet address tags”Some cryptocurrencies require an additional walletAddressTag (destination tag or memo). Check the supportsTag field
in the currency-pairs response to determine if a tag is needed. Currencies that support tags include XRP, XLM, ATOM,
INJ, TON, HBAR, and CC.