Bank Account Setup

Learn how to create and manage bank accounts for receiving fiat payments from crypto-to-fiat transactions

Before you can execute crypto-to-fiat transactions, you need to register at least one bank account. A bank account stores the banking details required to route fiat payments to a specific receiver. This tutorial covers creating, listing, updating, and deleting bank accounts on the Skyline Digital platform.

Prerequisites

Before starting this tutorial, complete the Beneficiary Management tutorial. You must have at least one receiver set up before you can create a bank account, as every bank account is associated with a receiver.

Creating a bank account for an existing receiver

To create a bank account for a receiver that already exists in your organisation, send a request to POST /bank-accounts with the required fields and any country-specific banking details.

The following fields are required for every bank account:

FieldDescription
bankCountryThe identifier of the country where the bank is located.
currencyThe identifier of the currency for this bank account.
receiverThe identifier of the receiver this bank account belongs to.

In addition to these base fields, you must provide the banking details that correspond to the country and currency of the account. The required fields vary by region as described in the next section.

Country-specific banking fields

Different countries and payment networks require different banking details. When creating a bank account, include the fields that match the bank's country and currency.

RegionCurrencyRequired FieldsDescription
EU / SEPAEURiban, bicSwiftThe International Bank Account Number and BIC/SWIFT code used for SEPA transfers across the European Economic Area.
United KingdomGBPaccountNumber, sortCodeThe UK bank account number and six-digit sort code used for domestic transfers.
United StatesUSDaccountNumber, routingNumber, accountTypeThe bank account number, ABA routing number, and account type which must be either CHECKING or SAVINGS. You may optionally specify achSupport or fedSupport to indicate the preferred wire method.
IndiaINRaccountNumber, ifscCodeThe bank account number and Indian Financial System Code used for domestic transfers in India.
Other countriesVariousaccountNumber, bicSwiftFor countries not listed above, provide the bank account number along with the BIC/SWIFT code as a general fallback.

The API validates that the correct fields are present based on the selected country and currency. If required fields are missing, the request will be rejected with a validation error.

Creating a bank account with a new receiver

If you need to create both a receiver and a bank account in a single step, send a request to POST /bank-accounts/receiver. This endpoint combines receiver creation and bank account creation into one request, which is useful when you are onboarding a new beneficiary and want to set up their payment details at the same time.

The request body includes the receiver details (type, name, email, address, and country) alongside the bank account details (country, currency, and the appropriate banking fields for the region). The API creates the receiver first and then associates the new bank account with it, returning both objects in the response.

Listing bank accounts

To retrieve all bank accounts associated with your organisation, send a request to GET /bank-accounts/me. The response is paginated and supports filtering.

Pagination parameters

ParameterDescription
pageThe page number to retrieve. Defaults to the first page.
limitThe number of bank accounts to return per page.

Filter parameters

ParameterDescription
receiverFilter bank accounts by a specific receiver identifier.
currencyFilter bank accounts by currency identifier.
bankCountryFilter bank accounts by the country of the bank.

Getting a specific bank account

To retrieve the full details of a single bank account, send a request to GET /bank-accounts/:id, replacing :id with the bank account's unique identifier. This is useful when you need to verify the banking details before initiating a transaction.

Updating a bank account

To modify an existing bank account, send a request to PATCH /bank-accounts/:id with only the fields you want to change. Partial updates are supported, so you do not need to include every field -- only the ones being modified. The API returns the updated bank account object.

Deleting a bank account

To remove a bank account, send a request to DELETE /bank-accounts/:id. Once deleted, the bank account can no longer be used for new transactions. Any existing transactions that reference the bank account are not affected.

Optional fields

In addition to the required country-specific fields, you can provide additional banking details when creating or updating a bank account. These fields are optional and may be useful for certain payment corridors or banking institutions.

FieldDescription
bankNameThe name of the bank or financial institution.
bankCodeA bank-specific code used in certain countries.
channelThe payment channel or network preference.
branchNameThe name of the specific bank branch.
branchCodeThe code identifying the bank branch.
bankCityThe city where the bank is located.
bankAddressThe primary address of the bank.
bankAddress2A secondary address line for the bank.
bankZipThe postal or ZIP code of the bank.
bankStateThe state or province where the bank is located.
intermediaryRoutingCodeThe routing code for an intermediary bank, used in correspondent banking arrangements.
intermediaryBankNameThe name of the intermediary bank.

What's next

With your bank accounts set up, you can now add crypto wallets for sending and receiving digital assets. Continue to the Wallet Management tutorial.

On this page