Skip to main content

Overview

To create Fern wallets for your customers, customers need to be created via the Customers API. Your end customer does not need to be ACTIVE (approved) in order to have an active Fern wallet. As soon as the customer has been created and you have the customer’s ID, you can use this to create a Fern wallet on the relevant chain(s).

Step-by-step guide

1

Create your customer

Create a customer using the Customers API. Specify customer type, name, and email address. A successful request will return a response that includes the customerId.
2

Create Fern wallet for the customer

Fern wallets can be created using the Payment accounts API. Specify paymentAccountType as FERN_CRYPTO_WALLET and include the customerId in the request. Because you are creating a Fern crypto wallet, you also need to send the fernCryptoWallet object with cryptoWalletType. Today, Fern only supports EVM wallets for creation, so the correct cryptoWalletType will be EVM. This will create a Fern crypto wallet that has the same address on all supported EVM chains.

Request Structure

Endpoint: POST /v1/payment-accountsRequired Fields:
  • paymentAccountType: Must be "FERN_CRYPTO_WALLET"
  • customerId: UUID of the customer
  • fernCryptoWallet.cryptoWalletType: Currently only "EVM" supported
Optional Fields:
  • nickname: Friendly name for the wallet
  • organizationId: Defaults to authenticated organization
Sample request body:
{
  "paymentAccountType": "FERN_CRYPTO_WALLET",
  "customerId": "4d0b92ee-b48f-471f-8825-61761c0c6eb7",
  "fernCryptoWallet": {
    "cryptoWalletType": "EVM"
  }
}

Response Structure

Success Response (201 Created):Key Response Fields:
  • paymentAccountId: Unique identifier for API operations
  • paymentAccountStatus: Always "ACTIVE" for Fern wallets
  • fernCryptoWallet.address: Blockchain address (same on all EVM chains)
  • fernCryptoWallet.cryptoWalletType: Wallet type ("EVM")
  • isThirdParty: Always false (Fern managed)
Sample response:
{
  "paymentAccountType": "FERN_CRYPTO_WALLET",
  "paymentAccountId": "238e98ce-2305-57e0-83f1-c3286e7db76c",
  "createdAt": "2025-05-07T13:55:06.697Z",
  "fernCryptoWallet": {
    "cryptoWalletType": "EVM",
    "address": "0xb9a71467bc058c744b07285ec12533ac88095270"
  },
  "isThirdParty": false
}
3

Fern crypto wallet is now live

This wallet can now be used as the destination for onramps, or a source for offramps. If you plan to use this wallet to interact with other Fern APIs, keep track of the returned paymentAccountId .