Currency Account

A Currency Account allows users to deposit a specific currency into their Multi-Currency Account. It functions as a virtual bank account designed solely to facilitate fund deposits into the Multi-Currency Account and does not hold any funds itself, as all funds are held in the Multi-Currency Account.

To deposit fiat currency into a Multi-Currency Account, users must first apply for and open a Currency Account for the desired currency. This can be done via the Apply for a currency account endpoint.

Let's open a USD Currency Account with a bank located in the USA and an account purpose as "03" (Top-Up).

  • Learn more about the supported pay-in currencies and regions here.
  • Learn more about account purposes here.

Request:

curl --request POST \
     --url https://sandbox.hifibridge.com/v2/users/faf56e30-6806-46a9-ab46-f8413f191a01/multi-currency-account/currency-accounts \
     --header 'accept: application/json' \
     --header 'authorization: Bearer zpka_xxxxx' \
     --header 'content-type: application/json' \
     --data '
{
  "purpose": "03",
  "currency": "USD",
  "bankLocation": "USA"
}
'

Response:

{
    "id": "94420638-9445-4cc9-a40f-3d933380d8cf",
    "userId": "faf56e30-6806-46a9-ab46-f8413f191a01",
    "createdAt": "2025-02-17T21:32:56.668465+00:00",
    "updatedAt": "2025-02-17T21:33:07.197+00:00",
    "status": "CREATED",
    "accountHolderName": "",
    "accountType": "",
    "accountPurpose": "03",
    "currency": "USD",
    "bankName": "",
    "bankCode": "",
    "branchNumber": "",
    "accountNumber": "",
    "routingNumber": "",
    "swiftCode": "",
    "sortCode": "",
    "iban": "",
    "bankCountry": "USA",
    "bankCity": "",
    "bankAddress": "",
    "bankPostalCode": "",
  	"failedReason": ""
}

The Currency Account application will initially have a status of CREATED, indicating that the account application is created and is waiting to be processed. You can either poll the Retrieve a Currency Account endpoint or wait for the Currency Account webhook event to receive the latest application status updates. Learn more about Currency Account application statuses here.

Once the application status changes to AVAILABLE, the Currency Account object will be populated with all the deposit information.

{
    "id": "80f08151-01ec-479b-9304-5d2820a21abd",
    "userId": "0e965562-047c-43ae-9481-fd894f7e6706",
    "createdAt": "2025-02-07T05:25:46.852516+00:00",
    "updatedAt": "2025-02-07T05:35:03.267+00:00",
    "status": "AVAILABLE",
    "accountHolderName": "Henry Wu",
    "accountType": "CHECKING",
    "accountPurpose": "03",
    "currency": "USD",
    "bankName": "Citibank",
    "bankCode": "",
    "branchNumber": "",
    "accountNumber": "73380000000363268",
    "routingNumber": "031100209",
    "swiftCode": "GEOORUMMXXX",
    "sortCode": "",
    "iban": "",
    "bankCountry": "United States",
    "bankCity": "New York",
    "bankAddress": "111 Wall Street, New York, New York 10043, United States",
    "bankPostalCode": "10043",
    "failedReason": ""
}