Skip to main content
Bank accounts in Cleo Pay represent your business’s funding sources for outbound ACH payments. Before you can send a payment, you must link at least one bank account and verify that you own it. Cleo Pay supports two ways to connect an account: manually via the API (by supplying account and routing numbers), or through Plaid via the dashboard. The API only creates manual connections.

Connection types

Account types

Bank accounts can be either checking or savings. Most business payment accounts are checking.

Verification lifecycle

When you create a bank account via the API, it enters the pending_verification status immediately. You must complete micro-deposit verification before the account can fund any payments. The standard path is: pending_verificationverified If verification attempts are exhausted: pending_verificationunverified

Micro-deposit verification flow

Micro-deposits are two small credits (each typically under $0.10) sent to your bank account to confirm ownership.
  1. Link the account — call POST /v1/bank-accounts with the full account and routing numbers. The account status becomes pending_verification and microDepositsInitiatedAt is set.
  2. Wait for deposits — check your bank statement. The two deposits typically arrive within 1–2 business days.
  3. Submit the amounts — call POST /v1/bank-accounts/{id}/verify-micro-deposits with both deposit amounts as decimal dollar strings.
  4. Confirmed — on success, status changes to verified and microDepositsCompletedAt is set.

Verification request format

Amounts are submitted as decimal dollar strings — not cents:
You have a maximum of 3 verification attempts (verificationAttempts field). After 3 failed attempts, the account moves to unverified and can no longer be verified. You will need to create a new bank account entry and restart the process.

Security: write-only account numbers

Full account and routing numbers are write-only. You submit them when creating a bank account, but they are never returned in any API response. Responses include only the last 4 digits of each:
Store full account numbers securely before submitting them to the API. Cleo Pay does not provide a way to retrieve them after creation.

Default bank account

The isDefault flag marks one bank account as the default funding source. When you create a payment without specifying a bankAccountId, Cleo Pay uses the default account automatically. You can have only one default account at a time. Marking a new account as default will un-mark the previous default.

Bank account fields reference

Example bank account object

Next steps

  • Quickstart — see the full bank account linking and verification flow in context.
  • Payments — use your verified bank account to fund ACH payments.