Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.spherepay.co/llms.txt

Use this file to discover all available pages before exploring further.

A bank account in SpherePay is a registration of your customer’s existing fiat bank account. SpherePay does not open or manage bank accounts — it links an account your customer already holds to their SpherePay profile so it can be used as the source or destination for fiat transfers. You must register at least one bank account before creating any transfer that involves fiat currency.
SpherePay registers an existing bank account — it does not open a new account on your customer’s behalf. The account must already exist at the customer’s bank before registration.

Register a bank account

POST https://api.spherepay.co/v2/bank-account For the full request and response schema, see the Create Bank Account API reference.

Supported rails and currencies

CurrencySupported Rails
USDACH, Wire
EURSEPA
BRLPIX

Required fields by currency

The fields required to register a bank account depend on the currency. Use the tabs below to see the required fields and a request example for each.
Both ACH and Wire use the same account details. Include both in networks to register for both rails with a single request.
FieldRequired
customerIdYes
bankNameYes
accountNameYes
accountOwner.accountHolderNameYes
accountOwner.addressYes
currencyYes — "usd"
accountDetails.accountNumberYes
accountDetails.routingNumberYes
accountDetails.accountTypeYes — "checking" or "savings"
networksYes — ["ach"], ["wire"], or ["ach", "wire"]
{
  "customerId": "customer_1234567890",
  "bankName": "Chase",
  "accountName": "Jane Doe Checking",
  "accountOwner": {
    "accountHolderName": "Jane Doe",
    "address": {
      "line1": "233 South Wacker Drive",
      "city": "Chicago",
      "state": "IL",
      "postalCode": "60606",
      "country": "USA"
    }
  },
  "currency": "usd",
  "accountDetails": {
    "accountNumber": "1234567890",
    "routingNumber": "123456789",
    "accountType": "checking"
  },
  "networks": ["ach", "wire"]
}

Using the returned ID

The id returned in the response is your persistent reference to this bank account. Store it against the customer record and pass it as the source.id or destination.id when creating transfers.
{
  "id": "bank_account_abc123",
  "customerId": "customer_1234567890",
  "currency": "usd",
  "networks": ["ach", "wire"],
  ...
}
Last modified on May 12, 2026