Accounts
Accounts are at the heart of the Rail platform. They are the core book of record for a customers financial transactions and are backed by a complex set of double-entry ledgers. An account belongs to a customer. An account is for a single asset type. Customers can have any number of accounts per asset type.
An account can only hold a single asset (e.g. ETH, USDC-ETH, BTC, USD). Today we support various fiat and crypto currencies.
Note for GBP Accounts: For newly opened GBP accounts, it can take up to 48 hours for these accounts to be verified and reflected in the Confirmation of Payee (COP) system in the UK. This involves a submission of a "new" IBAN/account to central registry for payors to verify.
Status
The account status determines how it can be used.
Each status enforces rules as to what actions can be performed on the account.
-
Read- is the account information visible. -
Update- can the account information / status be updated. -
Transact- can an account be used to send/receive funds.
An account is limited by what status it can be set to based on its current status. E.g. an account in FROZEN cannot be set to PENDING.
| Status | Description | Rules | Possible Next Status |
|---|---|---|---|
ACTIVE |
Account is fully operational. | Read ✅ Update ✅ Transact ✅ |
EDD, DORMANT, CLOSED, FROZEN |
CLOSED |
Account is not operational. A account cannot be updated from Closed status. | Read ✅ Update 🚫 Transact 🚫 |
No possible next status |
EDD |
Account requires enhanced due dilligence. Account is still operational. | Read ✅ Update ✅ Transact ✅ |
ACTIVE, CLOSED, FROZEN |
PENDING |
Account is being AML checked. | Read ✅ Update ✅ Transact 🚫 |
ACTIVE, CLOSED |
FROZEN |
Account is not operational until due dilligence checks are made. | Read ✅ Update ✅ Transact 🚫 |
ACTIVE, CLOSED, EDD |
DORMANT |
Account is operational but has not been used in 12 months. | Read ✅ Update ✅ Transact ✅ |
ACTIVE, CLOSED, EDD |
Rail Statuses
Statuses may have 'l2f' after the status e.g. PENDING_L2F. This means that the account requires action by Rail. Accounts in these statuses can only be updated by Rail.
Fiat deposit accounts
Opening accounts
To open fiat deposit accounts, you will need to use the accounts/deposits endpoint and pass in one of the fiat product types and asset ids.
Get account info and balance
To get information on the account, including total and available balance, you will need to use the accounts/deposits/{account_id} endpoint.
Available balance refers to the funds available to withdraw, exchange, transfer. It is net of any pending or authorized transactions. Total balance refers to all the funds in the account, including any pending and authorized transactions.
Get transactions
To get the list of transactions that have occured on this account, you will need to use the accounts/deposits/{account_id}/transactions endpoint. You can filter the transactions by start date, end date and a # of other query parameters.
If you know the id of a specific transaction, you can retrieve it by using the accounts/deposits/{account_id}/transactions/{transaction_id} endpoint
Get list of all accounts
To get the full list of accounts, either for all customers or a specific customer, use the accounts/deposits endpoint.
Crypto deposit accounts
Opening accounts
To open crypto deposit accounts, you will need to use the accounts/deposits endpoint and pass in one of the crypto product types and asset ids.
Get account info and balance
To get information on the account, including total and available balance, you will need to use the accounts/deposits/{account_id} endpoint
Available balance refers to the funds available to withdraw, exchange, transfer. It is net of any pending or authorized transactions. Total balance refers to all the funds in the account, including any pending and authorized transactions.
Get transactions
To get the list of transactions that have occured on this account, you will need to use the accounts/deposits/{account_id}/transactions endpoint. You can filter the transactions by start date, end date and a # of other query parameters.
If you know the id of a specific transaction, you can retrieve it by using the accounts/deposits/{account_id}/transactions/{transaction_id} endpoint
Get list of all accounts
To get the full list of accounts, either for all customers or a specific customer, use the accounts/deposits endpoint.