GuidesRecipesAPI ReferenceChangelog
Guides

Fund via Deposit Bank Account

How do I fund a fiat account via a deposit bank account?

This guide walks you through funding a customer's fiat account via their deposit bank account. Customers can receive funds via ACH push, wire transfer, RTP, or FedNow.

For details on deposit bank account types, fees, and sub-accounts, see Deposit Bank Accounts.

Prerequisites

Before you begin, ensure you have:

  • a customer already created and verified; and,
  • access to the Cybrid team partner channel (required for bank-level deposit bank accounts only).

Overview

Funding via a deposit bank account involves the following steps:

  1. Create a fiat account for the customer or bank
  2. Create a deposit_bank_account associated with the fiat account
  3. Provide counterparty details to the Cybrid team (bank-level accounts only)
  4. Wait for Cybrid team to configure the deposit bank account (bank-level accounts only)
  5. Send funds to the deposit bank account
  6. Wait for the funds to settle on the Cybrid Platform

Step 1: Create a fiat account

Create a USD fiat account via POST /api/accounts:

{
  "type": "fiat",
  "customer_guid": "customer_guid",
  "asset": "USD",
  "name": "customer_fiat_account"
}
{
  "type": "string",
  "guid": "string",
  "created_at": "2024-06-07T15:17:37.355Z",
  "updated_at": "2024-06-07T15:17:37.355Z",
  "asset": "string",
  "name": "string",
  "bank_guid": "string",
  "customer_guid": "string",
  "platform_balance": 0,
  "platform_available": 0,
  "state": "string",
  "labels": [
    "string"
  ]
}

You'll use the guid from the response when creating the deposit bank account.

Step 2: Create a deposit_bank_account

Create a routable deposit bank account via POST /api/deposit_bank_accounts:

{
  "type":"main",
  "account_guid": "account_guid",
  "customer_guid": "customer_guid"
}
{
  "guid": "string",
  "type": "string",
  "bank_guid": "string",
  "customer_guid": "string",
  "account_guid": "string",
  "created_at": "2024-06-07T15:17:37.355Z",
  "updated_at": "2024-06-07T15:17:37.355Z",
  "asset": "string",
  "state": "string",
  "unique_memo_id": "string",
  "counterparty_name": "string",
  "counterparty_address": {
    "street": "string",
    "street2": "string",
    "city": "string",
    "subdivision": "string",
    "postal_code": "string",
    "country_code": "string"
  },
  "account_details": [
    {
      "account_number": "string"
    }
  ],
  "routing_details": [
    {
      "routing_number_type": "string",
      "routing_number": "string"
    }
  ],
  "labels": [
    "string"
  ]
}

Step 3: Provide counterparty details to the Cybrid team (bank-level accounts only)

ℹ️

Customer-level accounts

If the deposit bank account was created from a customer-level fiat account, skip this step and Step 4. The counterparty_name and counterparty_address are automatically populated from the customer's KYC information.

The counterparty_name and counterparty_address returned in the response are placeholder data if the deposit bank account was created from a bank-level fiat account.

Provide the following deposit bank account counterparty details to the Cybrid team in your partner channel:

  • Deposit bank account guid
  • Counterparty name
  • Counterparty address:
    • Street
    • Street2
    • City
    • Subdivision (i.e. state/province)
    • Postal code/zip code
    • Country code
  • Counterparty email
  • Counterparty phone

Step 4: Wait for Cybrid team configuration (bank-level accounts only)

After providing the deposit bank account guid and counterparty details, the Cybrid team will confirm when the configuration is complete.

Once confirmed, you may then initiate transfers to this deposit bank account.

Step 5: Send funds to the deposit bank account

Retrieve the routing details for the deposit bank account using GET /api/deposit_bank_accounts/{deposit_bank_account_guid}.

❗️

Minimum deposit

Deposits less than $0.50 are not accepted by the platform and are not returned to the depositor. Do not send wires or ACH transfers to deposit bank accounts for less than $0.50.

Send funds via Wire, ACH Push, RTP, or FedNow using the routing details from the response.

Step 6: Wait for settlement

When the funds are received by the Cybrid Platform and reconciled, a new funding deposit transfer will be automatically created. This funding deposit transfer will progress through the typical sequence of states (i.e. pending, completed).

When a deposit is reconciled, the platform_balance in the fiat account reflects the deposit amount.

Monitor the transfer using GET /api/transfers/{transfer_guid} or register for webhooks.