Registering Your Bank Account
To complete wire transfers in USD from your Bitso account, you must first register the bank account in Bitso's systems, which creates and links an internal wire account. Only registered bank accounts can receive payouts (withdrawals). You can register multiple bank accounts, which can be your or a third party's personal or company account.
When registering a bank account for bank wire transfer payouts, the service only supports bank accounts located in the U.S., continental U.S. and its territories. Then, in addition to the account number, you need to identify your account with an ABA number, also named routing number. SWIFT codes or IBANs are not valid.
To register your bank account, make the following HTTP request using the required body parameters:
POST https://api-stage.bitso.com/v3/payments/usd/bridge/external-accounts
Body Parameters
| Parameter Name | Description | Type | Required / Optional |
|---|---|---|---|
account_number | ID of the bank account you want to register. | String | Required |
account_owner_name | The full name of the person or company who owns the account you want to register. Ensure the name matches exactly the name of the account holder. Otherwise, the transfer might be rejected. | String | Required |
address | Contains the account owner’s address. See the table below for its description. | Object | Required |
bank_name | The name of the bank that handles the account you want to register. | String | Required |
routing_number | An ABA number, also named bank routing number, a nine-digit code that identifies banking institutions in the U.S. Ensure you enter the one of the bank that handles your account. Small banks generally possess just one routing number, while large multinational banks can have several different ones, usually based on the state in which you hold the account. | String | Required |
type | The method used to transfer the funds. Valid values: wire | String | Required |
The address object includes the following parameters:
| Parameter Name | Description | Type | Required / Optional |
|---|---|---|---|
city | Specifies the city portion of the address. | String | Required |
country | Identifies the country using an ISO 3166-1 alpha-3 code. | String | Required |
postal_code | Specifies the ZIP code of the address. | String | Required |
state | Specifies the state portion of the address using an ISO 3166 two-letter code, which is the postal abbreviation of the state. | String | Required |
street_line_1 | First line of the street address. | String | Required |
street_line_2 | Second line of the street address. | String | Optional |
The following JSON object exemplifies the request body for account registration:
{
"bank_name":"Bank of America",
"account_owner_name":"Crypto Technology",
"account_number":"1283712372123255",
"routing_number":"026009593",
"type":"wire",
"address":{
"street_line_1":"Boulevard Avenue",
"street_line_2":"Suite 373",
"city":"La Jolla",
"state":"CA",
"postal_code":"92037",
"country":"USA"
}
}A successful account registration creates an internal wire account and links it to your Bitso and bank accounts. The call returns the internal wire account data, as shown below:
{
"success": true,
"payload": {
"id": "d8d7e471-efa2-4c1b-80b2-bdf05fbb949e",
"bank_name": "Bank of America",
"last_4": "3255",
"account_owner_name": "Crypto Technology"
}
}
Use the correct account ID.When executing a withdrawal or retrieving information about the wire account, use the identifier (UUID) specified in the
idvariable to define your account. This is the identifier of the internal wire account created and linked to your bank account.
The variable last_4 stores the last four digits of your bank account number.
Fixing Possible Terms-and-Conditions Error Message
Because in the testing environment is possible to omit the KYC procedure, you might get the following error message when registering an account:
{
"code": "bridge.terms_and_conditions_not_accepted",
"defaultMessage": "Terms and Conditions not accepted",
"arguments": []
}Fix it by making the following HTTP request using the indicated body parameter, which sets the flag needed for wiring funds:
POST https://api-stage.bitso.com/v3/settings/flags
{
"bridge_terms_and_conditions_accepted": true
}It returns your settings, as exemplified below. Ensure the Terms and Conditions flag is set to true:
{
"success": true,
"payload": {
"risk_warning_crypto_accepted": true,
"risk_warning_trading_accepted": false,
"user_intention_trader": false,
"user_intention_sender": false,
"user_intention_holder": false,
"user_intention_buyer": false,
"stop_loss_warning_accepted": false,
"stop_limit_warning_accepted": false,
"user_wallet_shift": false,
"shift_conversion_disclaimer_accepted": false,
"shift_terms_and_conditions_accepted": false,
"shift_new_product_notification_read": false,
"loyalty_referral_program_read": false,
"hide_circle_first_deposit_modal": false,
"domestic_wires_br_terms_and_conditions": false,
"bridge_terms_and_conditions_accepted": true,
"has_balance_debt": false
}
}Listing Your Registered Accounts
You can list the internal wire accounts linked to your bank accounts by making the following HTTP call, which returns a list of all the accounts you have registered. Currently, no endpoint exists to retrieve the information of a specific account:
GET https://api-stage.bitso.com/v3/payments/usd/bridge/external-accounts
The following response object exemplifies the output obtained:
{
"success": true,
"payload": [
{
"id": "e5d07266-e457-4038-9537-b4b4c9779b85",
"bank_name": "Chase Bank",
"last_4": "7922",
"account_owner_name": "Jane Doe"
},
{
"id": "d8d7e471-efa2-4c1b-80b2-bdf05fbb949e",
"bank_name": "Bank of America",
"last_4": "3255",
"account_owner_name": "Crypto Technology"
}
]
}Updated 12 days ago
