---
title: "Create Bank Onramp Account"
method: POST
path: "/onramp/bank/accounts"
tags: ["onramps"]
---

# Create Bank Onramp Account

`POST /onramp/bank/accounts`

## Request

- Base URL: `https://api.coinvoyage.io/v3`
- URL: `https://api.coinvoyage.io/v3/onramp/bank/accounts`
- Auth: API key in header `X-API-KEY`
- TypeScript: <https://skmtc.dev/coinvoyage/apis/coinvoyage-api-v3/docs/onramp/bank/accounts/post.ts> (a function with typed inputs; its response is checked against the schema)

Create reusable bank deposit instructions. Each incoming transfer is recorded as a separate deposit, and the required deposit message must be included with every transfer.

## Headers

- `X-API-KEY` string, required
- `Idempotency-Key` string, required

## Request body

- CreateBankOnrampAccountRequest
  - `source_currency` 'usd' | 'eur' | 'mxn' | 'brl' | 'gbp' | 'cop', required: Fiat currency used by Bridge bank accounts and durable bank-onramp sessions
  - `payment_rail` 'wire' | 'ach_push' | 'sepa' | 'spei' | 'pix' | 'faster_payments' | 'bre_b': Fiat payment rail used to fund a reusable bank-onramp account
  - `destination` OnrampDestination, required
    - `currency` CurrencyBase, required
      - `address` string, nullable
      - `chain_id` 1 | 10 | 56 | 137 | 4663 | 8453 | 42161 | 20000000000001 | 20000000000002 | 30000000000001 | 30000000000002, required
    - `wallet_address` string, required

## Response `200`

Idempotent replay

- BankOnrampAccount
  - `id` string, required
  - `status` 'pending' | 'activated' | 'deactivated', required: Lifecycle of reusable bank deposit instructions
  - `source_currency` 'usd' | 'eur' | 'mxn' | 'brl' | 'gbp' | 'cop', required: Fiat currency used by Bridge bank accounts and durable bank-onramp sessions
  - `destination` OnrampDestination, required
    - `currency` CurrencyBase, required
      - `address` string, nullable
      - `chain_id` 1 | 10 | 56 | 137 | 4663 | 8453 | 42161 | 20000000000001 | 20000000000002 | 30000000000001 | 30000000000002, required
    - `wallet_address` string, required
  - `deposit_instructions` union
    - object
      - `account_number` string, required
      - `bank_address` string
      - `bank_beneficiary_address` string
      - `bank_beneficiary_name` string
      - `bank_name` string
      - `currency` 'usd', required
      - `deposit_message` string, required: Required memo or reference to include with every bank transfer.
      - `payment_rails` string[], required
      - `routing_number` string, required
    - object
      - `account_holder_name` string
      - `bank_address` string
      - `bank_name` string
      - `bic` string, required
      - `currency` 'eur', required
      - `deposit_message` string, required: Required memo or reference to include with every bank transfer.
      - `iban` string, required
      - `payment_rails` string[], required
    - object
      - `account_holder_name` string
      - `clabe` string, required
      - `currency` 'mxn', required
      - `deposit_message` string, required: Required memo or reference to include with every bank transfer.
      - `payment_rails` string[], required
    - object
      - `account_holder_name` string
      - `br_code` string, required
      - `currency` 'brl', required
      - `deposit_message` string, required: Required memo or reference to include with every bank transfer.
      - `payment_rails` string[], required
    - object
      - `account_holder_name` string
      - `account_number` string, required
      - `bank_address` string
      - `bank_beneficiary_address` string
      - `bank_beneficiary_name` string
      - `bank_name` string
      - `currency` 'gbp', required
      - `deposit_message` string, required: Required memo or reference to include with every bank transfer.
      - `payment_rails` string[], required
      - `sort_code` string, required
    - object
      - `account_holder_name` string
      - `bre_b_key` string, required
      - `currency` 'cop', required
      - `deposit_message` string, required: Required memo or reference to include with every bank transfer.
      - `payment_rails` string[], required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `201`: Bank onramp account created
- `401`: Unauthorized
- `403`: Onramp currency or endorsement unavailable
- `404`: Approved organization verification not found
- `409`: Idempotency conflict
- `422`: Invalid request
- `502`: Onramp provider unavailable

## Changes

- **2026-10-13** `9b0a781499e3`: 2 warning, 1 info
  - added the new `20000000000002.00` enum value to the `destination/currency/chain_id` response property for the response status `200`
  - added the new `20000000000002.00` enum value to the `destination/currency/chain_id` response property for the response status `201`
  - added the new `20000000000002.00` enum value to the request property `destination/currency/chain_id`
- **2026-09-07** `def0abe6a713`: 2 info
  - added the new `bre_b` enum value to the request property `payment_rail`
  - added the new `faster_payments` enum value to the request property `payment_rail`
- **2026-08-26** `48d7266715ff`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/coinvoyage/apis/coinvoyage-api-v3/changes/onramp/bank/accounts/post.md)

---

[API](https://skmtc.dev/coinvoyage/apis/coinvoyage-api-v3.md) - [All operations](https://skmtc.dev/coinvoyage/apis/coinvoyage-api-v3/llms.txt) - [OpenAPI document](https://skmtc.dev/coinvoyage/apis/coinvoyage-api-v3/revisions/3535f46f4c27?raw)
