Deposit Bank Account Requirement

What changed for customer fiat accounts, and what do I need to do?

Every customer fiat account on the Cybrid platform must have its own main deposit bank account
before any funding transfer can complete. This requirement provides per-customer visibility into the
flow of funds.

❗️

Required for all partners

All partners must complete integration and migrate every customer fiat account to a main
deposit bank account. Reach out to your Cybrid contact for the migration timeline that applies
to your integration.

What's changing

A deposit bank account is a routable bank account linked one-to-one to a single customer fiat
account. USD accounts use Wire, ACH push, or RTP/FedNow; CAD accounts use EFT. A customer fiat
account without a main deposit bank account cannot deposit or withdraw — the transfer is rejected.

  • One per fiat account. Exactly one main deposit bank account is created for each customer
    platform fiat account.
  • US and Canadian banks. Deposit bank accounts are supported for US and CA banks.
  • Beneficiary details are automatic. Beneficial owner information is populated from the PII
    collected during KYC — no extra input required.

How to handle the change

Add one step to your customer onboarding flow: once a customer's fiat account reaches
state: created, provision a main deposit bank account for it, then wait for the deposit bank
account to reach state: created before initiating transfers.

1. Create the deposit bank account

Once the customer's fiat account has reached state: created, call POST /api/deposit_bank_accounts
for it.

POST /api/deposit_bank_accounts
Content-Type: application/json
Authorization: Bearer YOUR_TOKEN

{
  "type": "main",
  "customer_guid": "customer_guid",
  "account_guid": "customer_fiat_account_guid"
}

2. Wait for the deposit bank account to reach state: created

The deposit bank account is created asynchronously. Poll
GET /api/deposit_bank_accounts/{deposit_bank_account_guid} until state: created. This is
typically quick.

3. Fund and withdraw as normal

Once state: created, the customer can deposit and withdraw exactly as before.

ℹ️

If you already have live customers

This step matters most for onboarding new customers. If you already have existing customers moving
money on the platform, coordinate with your Cybrid contact on a migration plan for them. Add the
provisioning step above for any new customers going forward, and handle the error below in case any
of your customers attempt a transfer before their deposit bank account is in place.

Resolving the no_deposit_bank_account error

Any deposit or withdrawal for a customer fiat account that has no main deposit bank account is
rejected with:

{
  "status": 422,
  "error_message": "Fiat account missing required deposit bank account",
  "message_code": "no_deposit_bank_account"
}

A single code — no_deposit_bank_account — covers both deposits and withdrawals. To resolve:

  1. Create the main deposit bank account (see above).
  2. Poll GET /api/deposit_bank_accounts/{deposit_bank_account_guid} until state: created.
  3. Retry the transfer.

Build automatic recovery

On a no_deposit_bank_account response, provision the deposit bank account, wait for
state: created, and retry — so customers self-heal on their first transfer.

Next steps

Questions? Reach out through your shared Slack channel or your Cybrid contact — our team is happy to
help you plan the transition.


Did this page help you?