The Fiat Account Object

❗️ Incoming breaking change

We will be implementing the UNBLOCKING status for the Fiat Accounts to streamline the process of account blocking.
UNBLOCKING status will be displayed, when a BLOCKED account is in the process of being unblocked.

As this is a breaking change, it will be implemented on the 29th May. Please keep in mind that not implementing this change will render account unblocking impossible.


Fiat Accounts can be created in multiple currencies and are used to receive fiat money from users and make payouts. Fiat Accounts are accounts with unique bank details associated with them that can be targeted by external payment rails such as UK Faster Payments, SEPA etc depending on the currency of the account.

Fiat Account Object

AttributeDescriptionFormat / ENUMS
id
string
Unique identifier of the Fiat Account.e.g. fac_ov8jkx67ndy1dbglam
businessId
string
Unique identifier for the Business that owns the Fiat Account. A Business represents a Member's legal entity with which it has signed up with Fiat Republic. A Member can have several businesses.e.g. biz_emv4j231821oaz56yx
owner.type
string
Owner of the Fiat Account.MEMBER
ibanCountry
string
Depending on your agreement you can choose IBAN country, from the available list.
Required field for all currencies, except GBP
DE, DK, GB, LU
owner.id
string
Unique identifier of the owner of the Fiat Account.e.g. mbr_emv4j231821oaz56yx
balance.actual
string
Full balance of the account, including any pending payments.
balance.available
string
Available balance of the account that can be consumed.
balance.reserved
string
Total of all pending payments that have been created but not yet completed.
currency
string
Currency of the Fiat Account.Three-letter ISO 4217 code e.g. GBP, EUR , USD
bankDetails
object
Details of the banking credentials that have been allocated to the Fiat Account.
bankDetails.bankName
string
Name of the banking provider under which the Fiat Account has been created.
bankDetails.accountHolderName
string
Name of the account holder. This is the name that will appear on the recipient's statement when payments are sent from this account.
bankDetails.country
string
Country where the account is held.Two-letter ISO 3166-1 alpha-2 country code e.g. GB
bankDetails.iban
string
IBAN associated with the account. Depending on the currency and country, account will typically have atleast an IBAN or an accountNumber.
bankDetails.bic
string
SWIFT BIC associated with the account. Depends on the account currency and country. Not all accounts will have a BIC.
bankDetails.accountNumber
string
Account Number associated with the account. Depending on the currency and country, account will typically have atleast an IBAN or an accountNumber.
bankDetails.routingCodes
object
One or more routing codes associated with the account. Typically used in conjunction with the account number.
bankDetails.routingCodes.type
string
Type of the routing code.SORT_CODE, ABA, WIRE
bankDetails.routingCodes.value
string
Value of the routing code.
label
string
An optional label to easily identify the account on the Dashboard.
status
string
Status of the account.CREATED, ACTIVE, ACTIVATION_FAILED, BLOCKED, UNBLOCKING, CLOSED
tags
array of strings
Tags associated with the accounts to designate their purpose.e.g. MASTER denoting that virtual accounts have been created under this Fiat Account
createdAt
integer
Epoch timestamp at which the object was created.e.g. 1637593856104
updatedAt
integer
Epoch timestamp at which the object was last updated.e.g. 1637593856104
metadata
string
Additional data in JSON key:value format.See Metadata for more information.

The creation of Fiat Account is asynchronous as it requires the generation of bank details with the underlying banking provider. Therefore, upon creation Fiat Accounts have the status CREATED which is then updated to ACTIVE once bank details are assigned. The process usually takes no more than a few seconds.

The best way to be informed of when a Fiat Account becomes Active is to create a Webhook that listens to the event FIAT_ACCOUNT.STATUS_UPDATED

Fiat Account Statuses

Fiat Account StatusDescription
CREATEDThe Fiat Account has been created on Fiat Republic and is awaiting allocation of bank details from the underlying banking provider. The account cannot be used at this stage.
ACTIVEThe Fiat Account is active and can start receiving and making payments.
BLOCKEDThe Fiat Account is blocked temporarily and no payments to/from the account can be created. A Fiat Account could be blocked by Fiat Republic for compliance reasons, but you can also block fiat accounts via the API for your own risk management purposes.
It is highly recommended that you create a Webhook to monitor for this status change to ensure you can update your end users.
CLOSEDThe Fiat Account is closed permanently and cannot be used to make or receive payments anymore. This status is terminal.
ACTIVATION_FAILEDWe were not able to assign bank details to the Fiat Account due to some error.

Fiat Account Balance

Each Fiat Account has 3 separate balances:

"balance": {
        "actual": "1000.00",
        "available": "800.00",
        "reserved": "200.00"
    }
Balance TypeDescription
balance.actualThe actual balance of an account taking into consideration all posted transactions.
balance.reservedThe sum of all Payments initiated from the account that are not yet completed.
balance.availableThe actual balance of the account less reserved balance. This is the amount that is available for payout.
Available Balance = Actual Balance - Reserved Balance