> ## Documentation Index
> Fetch the complete documentation index at: https://docs.busha.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Addresses, Banks, and Mobile Money

> Reference for banks, mobile money providers, and crypto addresses in supported countries.

## Banks

We provide all available banks from our currently supported countries with the list of banks API. You can fetch all banks with a simple GET request:

```bash theme={null}
$ curl https://api.busha.co/v1/banks
```

A **bank account** is held by a bank or financial institution, allowing users to deposit, withdraw, and transfer funds. Bank accounts are integrated to facilitate **fiat currency transactions**, enabling users to move money between their traditional bank and their crypto wallet.

## Bank Account Verification for Payouts

* **Linking a Bank Account:** Users can add and verify their **local bank account** as a destination for payout.

Verify Bank Accounts with the resolve bank account endpoint before initiating a payout:

```bash theme={null}
$ curl https://api.busha.co/v1/recipients/resolve-bank-account \
  --request POST \
  --header 'Content-Type: application/json' \
  --data '{
  "currency_id": "NGN",
  "country_id": "NG",
  "channel": "mobile_money",
  "bank_code": "000013",
  "account_number": "0123456789"
}'
```

## Addresses

Addresses functions like a bank account number but is specific to cryptocurrencies. Each blockchain network (Bitcoin, Ethereum, Solana, etc.) has its own format for crypto addresses.

For example:

* **Bitcoin (BTC) Address:** `bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf82t9`
* **Ethereum (ETH) Address:** `0x89205A3A3b2A69De6Dbf7f01ED13B2108B2c43e7`

### Generating Wallet Addresses:

* When a user creates an account on Busha, a unique crypto address is assigned to their wallet for each supported cryptocurrency.
* These addresses are generated using blockchain standards like **BIP-44** (for Bitcoin and similar assets) or **ERC-20** (for Ethereum-based tokens).

### Receiving Digital Tokens:

* Users can share their crypto address with others to receive payments or token transfers.
* The sender initiates a transaction by entering the recipient's **crypto address** in their wallet and confirming the transfer.
* The blockchain processes the transaction and updates the balance once confirmed.

### Verifying an Address for Payout:

To specify a cryptocurrency destination address when purchasing crypto via the Busha API, validate the address using a separate API request prior to the purchase transaction. This ensures the address is valid for the selected cryptocurrency and network.

```bash theme={null}
$ curl https://api.busha.co/v1/validate \
  --request POST \
  --header 'Accept: */*' \
  --header 'Content-Type: application/json' \
  --data '{
  "type": "address",
  "address": "tb1qj4263506wyu8khr22dwce0agk8lhyjgy269rxr",
  "currency": "BTC",
  "network": "BTC",
  "memo": "memo"
}'
```
