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 an account number and routing number, as well as counter_party_name and counter_party_address
  • Type sub_account deposit bank accounts have a parent_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 a customer_guid and a parent_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"
  ]
}'