Recipients are pre-defined payment accounts (such as bank accounts, mobile money wallets, or crypto addresses) that act as destinations for your payouts via the Busha API. By creating and managing recipients, you streamline your off-ramp processes, ensuring funds are sent to verified and correct destinations quickly and efficiently.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.
Prerequisites
Before you begin, ensure you have:- A Busha Business Account and Secret API Key (from the Quick Start Tutorial)
- An understanding of the API Environments (Sandbox vs. Production) and their respective base URLs (from the Make Your First Request Guide).
Recipient Types
Busha operates a multi-currency account system and accomodate recipients for each currency type. Currently, Busha supports the creation of recipients for:- Nigerian bank accounts
- US bank accounts
- UK bank accounts
- M-Pesa mobile money (Kenya)
- MTN Mobile Money
- Cryptocurrency addresses
| Type | Category | Description | Required Fields |
|---|---|---|---|
ngn_bank | bank | Nigerian bank account | bank_name, bank_code,
account_number, account_name |
usd_bank | bank | US bank account | entity_type, transfer_type,
account_name, bank_name + routing fields |
gbp_bank | bank | UK bank account | entity_type, account_name,
bank_name, sort_code,
account_number |
mpesa_mobile_money | mobile_money | M-Pesa (Kenya) | phone_number, account_name |
mtn_mobile_money | mobile_money | MTN Mobile Money | phone_number, account_name |
crypto | crypto | Cryptocurrency wallet | network, crypto_address,
account_name, optional memo |
ngn_bank, will be different from that of a US bank account usd_bank.
In the following sections, we will create a recipient for each type and outline the required fields for each.
Nigerian Bank Account
Nigerian bank account recipients require a
bank_code field. You can retrieve your bank’s code by sending a GET request to the /banks endpoint”:- Open your terminal or command prompt.
- Construct a
POSTrequest to the/v1/recipientsendpoint. - In the request body, update the following fields with your recipient’s details:
bank_namebank_codeaccount_numberaccount_name
- Replace placeholders like
YOUR_BASE_URLandYOUR_SECRET_TOKENwith your actual details.
id.
This
id is crucial and will be reused in several cases, especially when
making a payout into that specific payment account, as demonstrated in the
How to Make Payouts Guide.US Bank Account (ACH)
The request body required to create a US bank account (usd_bank) recipient with a transfer type ach is:
- Open your terminal or command prompt.
- Construct a
POSTrequest to the/v1/recipientsendpoint. - In the request body, update the following fields with your recipient’s details:
entity_type: This can bepersonalorbusinessdepending on the recipient’s bank entity type.account_numberbank_namerouting_numberaccount_name
- Replace placeholders like
YOUR_BASE_URLandYOUR_SECRET_TOKENwith your actual details.
id.
This
id is crucial and will be reused in several cases, especially when
making a payout into that specific payment account, as demonstrated in the
How to Make Payouts Guide.US Bank Account (Wire)
The request body required to create a US bank account (usd_bank) recipient with a transfer type wire is:
- Open your terminal or command prompt.
- Construct a
POSTrequest to the/v1/recipientsendpoint. - In the request body, update the following fields with your recipient’s details:
entity_type: This can bepersonalorbusinessdepending on the recipient’s bank entity type.account_numberbank_namerouting_numberaccount_nameswift_code
- Replace placeholders like
YOUR_BASE_URLandYOUR_SECRET_TOKENwith your actual details.
id.
This
id is crucial and will be reused in several cases, especially when
making a payout into that specific payment account, as demonstrated in the
How to Make Payouts Guide.US Bank Account (SWIFT)
The request body required to create a US bank account (usd_bank) recipient with a transfer type of swift is:
- Open your terminal or command prompt.
- Construct a
POSTrequest to the/v1/recipientsendpoint. - In the request body, update the following fields with your recipient’s details:
entity_type: This can bepersonalorbusinessdepending on the recipient’s bank entity type.account_nameibanswift_codebank_namerecipient_addressintermediary_bank_nameintermediary_bank_addressintermediary_swift_code
- Replace placeholders like
YOUR_BASE_URLandYOUR_SECRET_TOKENwith your actual details.
id.
This
id is crucial and will be reused in several cases, especially when
making a payout into that specific payment account, as demonstrated in the
How to Make Payouts Guide.M-Pesa Mobile Money
The request body required to create an M-Pesa mobile money (mpesa_mobile_money) recipient is:
- Open your terminal or command prompt.
- Construct a
POSTrequest to the/v1/recipientsendpoint. - In the request body, update the following fields with your recipient’s details:
account_namephone_number
- Replace placeholders like
YOUR_BASE_URLandYOUR_SECRET_TOKENwith your actual details.
id.
This
id is crucial and will be reused in several cases, especially when
making a payout into that specific payment account, as demonstrated in the
How to Make Payouts Guide.Bitcoin
The request body required to create a cryptocurrency recipient on the Bitcoin network:- Open your terminal or command prompt.
- Construct a
POSTrequest to the/v1/recipientsendpoint. - In the request body, update the following fields with your recipient’s details:
account_name: The name to identify the Bitcoin address stored.address
- Replace placeholders like
YOUR_BASE_URLandYOUR_SECRET_TOKENwith your actual details.
id.
This
id is crucial and will be reused in several cases, especially when
making a payout into that specific payment account, as demonstrated in the
How to Make Payouts Guide.USDT (ETH)
The request body required to create a cryptocurrency recipient (USDT) on the Ethereum network:- Open your terminal or command prompt.
- Construct a
POSTrequest to the/v1/recipientsendpoint. - In the request body, update the following fields with your recipient’s details:
account_name: The name to identify the USDT address stored.address
- Replace placeholders like
YOUR_BASE_URLandYOUR_SECRET_TOKENwith your actual details.
id.
This
id is crucial and will be reused in several cases, especially when
making a payout into that specific payment account, as demonstrated in the
How to Make Payouts Guide.STELLAR LUMENS
The request body required to create a cryptocurrency recipient on the XLM network:- Open your terminal or command prompt.
- Construct a
POSTrequest to the/v1/recipientsendpoint. - In the request body, update the following fields with your recipient’s details:
account_name: The identifier for the recipient details.addressmemo
- Replace placeholders like
YOUR_BASE_URLandYOUR_SECRET_TOKENwith your actual details.
id.
This
id is crucial and will be reused in several cases, especially when
making a payout into that specific payment account, as demonstrated in the
How to Make Payouts Guide.Retrieve and List Recipients
After creating recipients, you’ll often need to retrieve their details or get a list of all recipients associated with your profile. This allows you to manage your payout destinations and ensure you’re using the correctrecipient_id for transactions.
Retrieve a Specific Recipient
You can fetch the details of a single recipient if you know its unique id.
To retrieve a specific recipient:
- Open your terminal or command prompt.
- Construct a
GETrequest to the/v1/recipients/{id}endpoint, replacing{id}with the actual recipient ID. - Ensure your
AuthorizationandYOUR_SECRET_TOKENheaders are included. - Replace placeholders like
YOUR_BASE_URLandYOUR_SECRET_TOKEN.
GET request to the /v1/recipients endpoint without specifying an ID.
To list all recipients:
- Open your terminal or command prompt.
- Construct a
GETrequest to the/v1/recipientsendpoint. - Ensure your
Authorizationheader is included. - Replace placeholders like
YOUR_BASE_URLandYOUR_SECRET_TOKEN.
What’s Next?
Now that you know how to create, retrieve, and list recipients, you can use them in your transaction flows:- How to Process Payouts to Recipients
- The Recipient Object
- Recipients API Reference: For full details on all available fields and endpoints