Beta Ramps API
Pool

Post Pool Bank Accounts

POST
/pool/bank-accounts

Authorization

headerAuthorizationBearer <token>

Scope: pool-bank-accounts:write

Header Parameters

Idempotency-Key*string

Unique key making the create idempotent across retries (16-64 chars of A-Z a-z 0-9 _ -).

Match^[a-zA-Z0-9_-]{16,64}$

Request Body

application/json
  1. body

Create an account-level pool bank account (pool_balance). asset and network are required. There is no bank_type field — the type is forced server-side. External-rail identifiers (IBAN, BIC/SWIFT, wire/FFC messages) are not collected on pool bank accounts.

asset*string

Settlement asset / currency, e.g. USD.

network*string

Payment rail, e.g. ach, wire, pix.

bank_name?string
account?string

Account number.

routing_number?string

Routing number (e.g. US ABA).

bank_short_description?string

Optional human-readable label.

bank_code?string
branch?string
bank_address?string
bank_city?string
bank_state?string
bank_postal_code?string
instant_payment?string
instant_payment_type?string
country?string
deposit_reference?string
autoexchange?boolean

When true, funds received on this account are auto-exchanged and settled to autoexchange_destination_wallet_id.

Defaultfalse
autoexchange_destination_wallet_id?|

Wallet (wal_…) that receives auto-exchanged funds. Required when autoexchange is true.

Response Body

Idempotent replay: the Idempotency-Key matched an existing pool bank account, returned unchanged.

application/json
  1. response

An account-level pool bank account (pool_balance). Has no subaccount. Returned by pool create, pool replace-autoexchange, pool get-by-id, and as each element of the pool list.

id*string

Bank account ID (bnk_…).

account_id*string

Owning account ID (acc_…).

asset*string
bank_type*"pool_balance"
Value in"pool_balance"
bank_name?string
account?string
routing_number?string
bank_short_description?string
bank_code?string
branch?string
network*string
instant_payment?string
instant_payment_type?string
country?string
deposit_reference?string
compliance_status*string

unchecked on creation.

is_active*boolean
autoexchange*boolean
autoexchange_destination_wallet_id?string

Destination wallet for auto-exchange, when configured.

created_at*string
Formatdate-time
updated_at*string
Formatdate-time
Example Request
curl -X POST 'https://api.betaramps.com/pool/bank-accounts' \  -H 'Idempotency-Key: string' \  -H 'Content-Type: application/json' \  -d '{  "asset": "USD",  "network": "ach",  "bank_name": "JPMorgan Chase",  "account": "000123456789",  "routing_number": "021000021",  "bank_code": "CHASUS33",  "branch": "0002",  "country": "US",  "deposit_reference": "Pool settlement"}'
Example Response
{  "id": "bnk_0192f5b0-4d5e-7f6a-9b7c-8d9e0a1b2c34",  "account_id": "acc_0192f4e0-1a2b-7c3d-8e4f-5a6b7c8d9e01",  "asset": "USD",  "bank_type": "pool_balance",  "bank_name": "JPMorgan Chase",  "account": "000123456789",  "routing_number": "021000021",  "bank_code": "CHASUS33",  "branch": "0002",  "network": "ach",  "country": "US",  "deposit_reference": "Pool settlement",  "compliance_status": "unchecked",  "is_active": true,  "autoexchange": false,  "created_at": "2026-10-31T12:00:00Z",  "updated_at": "2026-10-31T12:00:00Z"}