Beta Ramps API
Pool

Post Pool Bank Accounts By Bank Account Id Replace Autoexchange

POST
/pool/bank-accounts/{bank_account_id}/replace-autoexchange

Authorization

headerAuthorizationBearer <token>

Scope: pool-bank-accounts:write

Path Parameters

bank_account_id*string

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

The old autoexchange pool bank account was soft-deleted and this replacement created in the same transaction.

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/string/replace-autoexchange' \  -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",  "autoexchange": true,  "autoexchange_destination_wallet_id": "wal_0192f4e6-1a2b-7c3d-8e4f-5a6b7c8d9e01"}'
Example Response
{  "id": "bnk_0192f5b2-5e6f-7a7b-8c9d-0e1f2a3b4c45",  "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",  "compliance_status": "unchecked",  "is_active": true,  "autoexchange": true,  "autoexchange_destination_wallet_id": "wal_0192f4e6-1a2b-7c3d-8e4f-5a6b7c8d9e01",  "created_at": "2026-10-31T12:00:00Z",  "updated_at": "2026-10-31T12:00:00Z"}