Fern Developer Docs
  • Overview
    • Fern overview
    • Earning revenue with Fern
    • Developer dashboard
    • Help & support
  • Coverage
    • Customer types
    • Restricted customer geographies
  • Fiat currency support
  • Cryptocurrency support
  • Guides
    • Core API concepts
    • Create and verify customers
      • Requirements for Individuals
      • Requirements for Businesses
      • Customer statuses
      • Country codes
    • Create Fern wallets
    • First-party onramps
    • First-party offramps
    • Webhooks
      • Events
      • Sample Payloads
      • Verification
      • Retries
  • API reference
    • Customers
    • Payment accounts
    • Quotes
    • Transactions
      • Additional details
  • Advanced
    • Slippage and price impact
    • Rate limits
Powered by GitBook
On this page
  • Fern wallets
  • Overview
  • Step-by-step guide
Export as PDF
  1. Guides

Create Fern wallets

Last updated 2 days ago

Fern wallets

Fern enables you to create wallets for your customers on all Fern . Currently, on EVM chains, Fern creates wallets as Safe multisig wallets with a 1-of-1 multisig signing threshold and a Fireblocks MPC EOA configured as the signer. These wallets can hold any valid token on any supported chain, although not all tokens may be supported for currency conversion. To determine which currencies are supported for conversion, you can use the .

Fern wallets are primarily used to hold cryptocurrencies either for onramping or offramping, and less so for peer-to-peer payments. If p2p payments and sends are required for your use case, please reach out to .

Overview

To create Fern wallets for your customers, customers need to be created via the . 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 . 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 . 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.

Sample request body:

{
  "paymentAccountType": "FERN_CRYPTO_WALLET",
  "customerId": "4d0b92ee-b48f-471f-8825-61761c0c6eb7",
  "fernCryptoWallet": {
    "cryptoWalletType": "EVM"
  }
}

Sample request 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 .

supported chains
Quotes API
support@fernhq.com
Customers API
Customers API
Payment accounts API