Skip to main content
POST
/
payment-accounts
Create payment account
curl --request POST \
  --url https://api.fernhq.com/payment-accounts \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "paymentAccountType": "EXTERNAL_BANK_ACCOUNT",
  "customerId": "072a8b7b-38c7-429a-a6cf-35dae7f2fb77",
  "nickname": "Savings Account",
  "organizationId": "24ab9fdd-5042-4d96-a616-4bef2877dd01",
  "externalBankAccount": {
    "bankName": "Chase Bank",
    "bankAccountCurrency": "USD",
    "bankAddress": {
      "country": "US",
      "addressLine1": "350 5th Avenue",
      "city": "New York",
      "state": "New York",
      "postalCode": "10016",
      "locale": "en-US",
      "addressLine2": "Floor 21",
      "stateCode": "NY"
    },
    "bankAccountType": "CHECKING",
    "bankAccountPaymentMethod": "ACH",
    "bankAccountOwner": {
      "email": "[email protected]",
      "address": {
        "country": "US",
        "addressLine1": "350 5th Avenue",
        "city": "New York",
        "state": "New York",
        "postalCode": "10016",
        "locale": "en-US",
        "addressLine2": "Floor 21",
        "stateCode": "NY"
      },
      "type": "INDIVIDUAL",
      "firstName": "John",
      "lastName": "Doe",
      "businessName": "Fern LLC"
    },
    "accountNumber": "00123456789",
    "routingNumber": "11110000",
    "sortCode": "123456",
    "iban": "GB29NWBK60161331926819",
    "bicSwift": "SMCOGB2LXXX",
    "transitNumber": "12345",
    "institutionNumber": "111",
    "bsbNumber": "123-456",
    "ifscCode": "IFSC0001234",
    "clabeNumber": "123456789012345678",
    "bankCode": "123456",
    "branchCode": "12345",
    "cnapsCode": "123456789",
    "nubanNumber": "123456789012",
    "pixCode": "123456789",
    "clearingCode": "123456",
    "taxNumber": "123456789"
  },
  "fernAutoFiatAccount": {
    "bankAccountCurrency": "USD",
    "destinationPaymentAccountId": "03b7030f-6da1-4d76-9352-cdebd82112c8",
    "destinationCurrency": "USDC",
    "destinationPaymentMethod": "BASE",
    "developerFeePercent": "0.1"
  },
  "externalCryptoWallet": {
    "cryptoWalletType": "EVM",
    "chain": "BASE",
    "address": "0x1234567890123456789012345678901234567890"
  },
  "fernCryptoWallet": {
    "cryptoWalletType": "EVM"
  },
  "isThirdParty": false
}
'
{
"paymentAccountId": "11111111-2222-3333-4444-555555555555",
"paymentAccountType": "EXTERNAL_BANK_ACCOUNT",
"nickname": "Operating Account",
"createdAt": "2025-10-30T12:00:00Z",
"customerId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"paymentAccountStatus": "ACTIVE",
"externalBankAccount": {
"bankAccountType": "CHECKING",
"bankAccountOwnerName": "Acme Corp",
"bankAccountOwnerEmail": "[email protected]",
"bankName": "Chase Bank",
"bankAccountCurrency": {
"label": "USD"
},
"bankAccountMask": "***6789",
"bankAccountPaymentMethod": "ACH"
},
"isThirdParty": false
}

Authorizations

Authorization
string
header
required

To authenticate server-side requests

Body

application/json

Schema for creating a new payment account

paymentAccountType
enum<string>
required

Type of payment account to create

Available options:
FERN_CRYPTO_WALLET,
EXTERNAL_CRYPTO_WALLET,
EXTERNAL_BANK_ACCOUNT,
FERN_AUTO_FIAT_ACCOUNT,
FERN_FIAT_ACCOUNT
Example:

"EXTERNAL_BANK_ACCOUNT"

customerId
string<uuid>
required

Customer to create payment account

Example:

"072a8b7b-38c7-429a-a6cf-35dae7f2fb77"

nickname
string

Nickname for customer to use for the payment account

Example:

"Savings Account"

organizationId
string<uuid>

Organization to create payment account

Example:

"24ab9fdd-5042-4d96-a616-4bef2877dd01"

externalBankAccount
External Bank Account Request Schema · object

Request schema for external bank accounts

fernAutoFiatAccount
Fern Auto Fiat Account Request Schema · object

Request schema for Fern auto fiat accounts

externalCryptoWallet
External Crypto Wallet Response Schema · object

Response schema for external crypto wallets

fernCryptoWallet
Fern Crypto Wallet Request Schema · object

Request schema for Fern crypto wallets

isThirdParty
boolean
default:false

Whether the payment account is a third-party account. Defaults to false.

Example:

false

Response

Create Payment Account Response

Response schema for creating a payment account

paymentAccountId
string<uuid>
required

The id of the payment account

Example:

"03b7030f-6da1-4d76-9352-cdebd82112c8"

paymentAccountType
enum<string>
required

Type of payment account to create

Available options:
FERN_CRYPTO_WALLET,
EXTERNAL_CRYPTO_WALLET,
EXTERNAL_BANK_ACCOUNT,
FERN_AUTO_FIAT_ACCOUNT,
FERN_FIAT_ACCOUNT
Example:

"EXTERNAL_BANK_ACCOUNT"

paymentAccountStatus
enum<string>
required

The status of the payment account

Available options:
PENDING,
ACTIVE,
DEACTIVATED
Examples:

"ACTIVE"

"PENDING"

"DEACTIVATED"

nickname
string

Nickname for customer to use for the payment account

Example:

"Savings Account"

createdAt
string<date-time>

ISO timestamp when this transaction was created

customerId
string<uuid>

The id of the customer this payment account belongs to

Example:

"03b7030f-6da1-4d76-9352-cdebd82112c8"

externalBankAccount
External Bank Account Response Schema · object

Response schema for external bank accounts

fernAutoFiatAccount
Fern Auto Fiat Account Response Schema · object

Response schema for Fern auto fiat accounts

fernFiatAccount
Fern Fiat Account Response Schema · object

Response schema for Fern fiat accounts

externalCryptoWallet
External Crypto Wallet Response Schema · object

Response schema for external crypto wallets

fernCryptoWallet
Fern Crypto Wallet Response Schema · object

Response schema for Fern crypto wallets

isThirdParty
boolean
default:false

Whether the payment account is a third-party account. Defaults to false.

Example:

false

A link to a hosted form to create a bank account

Example:

"https://forms.fernhq.com/bank_account/abc"