Deposit Bank Accounts
What are deposit bank accounts for and how do I use them?
Overview
A deposit bank account enables 3rd party Wire Transfers on/off platform or ACH pushes. The account contains full routing details and beneficial owner information.
Deposit bank accounts are linked to a bank or customers fiat account. Funds deposited or withdrawn from a deposit bank account are reflected in the platform_balance
and platform_available
values of the linked fiat account. Deposit bank accounts do not hold funds directly.
Deposit bank accounts can only be created for US banks.
Only one deposit bank account can be created per platform fiat account.
Deposit bank accounts can be created for either a bank or a customer. If a bank/customer has multiple fiat accounts, a unique deposit bank account can be created for each individual fiat account.
Transfers into a deposit bank account are never initiated by the Cybrid Platform.
Deposit Bank Account Types
There are two types of deposit bank accounts. A main
account, and a sub_account
.
Main
Main accounts have a unique account_number
, and can accept deposits as well as initiate withdrawals. Because there is a unique account number, a main account has an opening fee and a monthly maintenance fee:
- $1.00 to create
- $0.50 per month
When processing a withdrawal transfer from a main account the receiver will see the Main account's holder information (i.e., legal name and address) on the transfer if the send_as_deposit_bank_account_guid
is set.
To create a Main account set the type to main
.
Sub Account
Sub accounts are used if you want to allow your customers to receive wires directly into their fiat account without having to generate a unique deposit bank account for them (i.e., a main account). There are no fees for a Sub account.
Only Customer's can have
sub_account
type deposit bank accounts.
A Sub account inherits the account_number
and routing_number
from the main
account. When depositing (Wire) to a sub account a customer must include the unique_memo_id
and the platform will automatically reconcile the deposit into the customer's fiat account instead of the bank's fiat account.
To create a Sub account set the type to sub_account
.
Deposit Bank Account Model
Details
- Type
main
deposit bank accounts have anaccount number
androuting number
, as well ascounter_party_name
andcounter_party_address
- Type
sub_account
deposit bank accounts have aparent_deposit_bank_account_guid
Click on the tabs below to view the particular resource type:
{
"created_at": "2024-08-09T13:44:56.673980Z",
"updated_at": "2024-08-09T13:44:57.134512Z",
"guid": "f268cc9646314a16242aeed343b8db13",
"type": "main",
"bank_guid": "bbf782d8c14d6f4381b24728fe076b2d",
"customer_guid": null,
"account_guid": "c304c1ab69a659684d1214ebbc67218c",
"asset": "USD",
"state": "created",
"unique_memo_id": "W42R6A07KP",
"counterparty_name": "TEST USER",
"counterparty_address": {
"street": "1 Main St.",
"street2": null,
"city": "Ottawa",
"subdivision": "ON",
"postal_code": "H0H0H0",
"country_code": "CA"
},
"account_details": [
{
"account_number": "111222333"
}
],
"routing_details": [
{
"routing_number": "021000021",
"routing_number_type": "ABA"
}
],
"labels": [
"string"
]
}
{
"created_at": "2024-08-09T13:42:01.975939Z",
"updated_at": "2024-08-09T13:42:03.102929Z",
"guid": "783252198115d55f8fc62147906fdde0",
"type": "main",
"bank_guid": "bbf782d8c14d6f4381b24728fe076b2d",
"customer_guid": "7d430ce826e07dc91001c081213263c0",
"account_guid": "e87076ee4b55da3cdd212820f8c03d71",
"asset": "USD",
"state": "created",
"unique_memo_id": "IENLUA6BF2",
"counterparty_name": "TEST USER",
"counterparty_address": {
"street": "1 Main St.",
"street2": null,
"city": "Ottawa",
"subdivision": "ON",
"postal_code": "H0H0H0",
"country_code": "CA"
},
"account_details": [
{
"account_number": "111222333"
}
],
"routing_details": [
{
"routing_number": "021000021",
"routing_number_type": "ABA"
}
],
"labels": [
"string"
]
}
{
"created_at": "2024-08-16T14:33:01.438727Z",
"updated_at": "2024-08-16T14:33:01.953969Z",
"guid": "eedcd0bfbb73de1790a8f99594e56e61",
"type": "sub_account",
"bank_guid": "65bdd5c1f5229b06abb7855f5c0e2e3f",
"customer_guid": "f9b51bc5334e23c524cdacf091a409a9",
"account_guid": "f36b8651fed7e30748a1eea7ac2d237a",
"asset": "USD",
"state": "created",
"unique_memo_id": "EKWNI1BFV2",
"counterparty_name": "TEST USER",
"counterparty_address": {
"street": "1 Main St.",
"street2": null,
"city": "Ottawa",
"subdivision": "ON",
"postal_code": "H0H0H0",
"country_code": "CA"
},
"account_details": [
{
"account_number": "111222333"
}
],
"routing_details": [
{
"routing_number": "021000021",
"routing_number_type": "ABA"
}
],
"parent_deposit_bank_account_guid": "974c88848cefe36a5632a500db77a0a1",
"labels": [
"string"
]
}
Beneficiary Information
For type main
deposit bank accounts, the accounts use the PII data collected during KYC for the beneficiary information on the account, which is displayed in counter_party_name
and counter_party_address
.
When Bank level deposit bank accounts are created, they are not automatically populated with PII. Partners have to create the deposit bank account, then provide our support team the beneficiary data.
PII must be manually provided for bank level deposit bank accounts.
For type sub_account
deposit bank accounts, the beneficiary information is the information associated with the parent main
account.
Send as a Deposit Bank Account
Creating a Deposit Bank Account
To create a Deposit Bank Account you will use the /deposit_bank_accounts API.
Pre-requisites
- Customer/Bank
- KYC/KYB (required to attach counterparty details)
- Platform fiat account (the deposit bank account will be linked to this)
Details
- Bank level deposit bank accounts can be created by omitting the
customer_guid
- Type
sub_account
deposit bank accounts require acustomer_guid
and aparent_deposit_bank_account_guid
. The Sub account will be linked to the routing/account number of the parent deposit bank account that is passed. - The
account_guid
is the associated platform fiat account. For example, the banks platform fiat account for a main deposit bank account at the bank level, or a customers platform fiat account for main or sub accounts at the customer level.
Click on the tabs below to view the particular resource type:
curl -X 'POST' \
'https://bank.{environment}.cybrid.app/api/deposit_bank_accounts' \
-H 'accept: application/json' \
-H 'Authorization: Bearer {bank_token}' \
-H 'Content-Type: application/json' \
-d '{
"type": "main",
"account_guid": "stringstringstringstringstringst",
"labels": [
"string"
]
}'
curl -X 'POST' \
'https://bank.{environment}.cybrid.app/api/deposit_bank_accounts' \
-H 'accept: application/json' \
-H 'Authorization: Bearer {bank_token}' \
-H 'Content-Type: application/json' \
-d '{
"type": "main",
"account_guid": "stringstringstringstringstringst",
"customer_guid": "stringstringstringstringstringst",
"labels": [
"string"
]
}'
curl -X 'POST' \
'https://bank.{environment}.cybrid.app/api/deposit_bank_accounts' \
-H 'accept: application/json' \
-H 'Authorization: Bearer {bank_token}' \
-H 'Content-Type: application/json' \
-d '{
"type": "sub_account",
"account_guid": "stringstringstringstringstringst",
"customer_guid": "stringstringstringstringstringst",
"parent_deposit_bank_account_guid": "stringstringstringstringstringst",
"labels": [
"string"
]
}'
Updated 5 days ago