# 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](/guides/assets). 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](/guides/assets) various fiat and crypto currencies. 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](/api-docs/openapi/rail-spec#operation/openAccount) 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](/api-docs/openapi/rail-spec#operation/getAccount). 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](/api-docs/openapi/rail-spec#operation/getTransactions). 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](/api-docs/openapi/rail-spec#operation/getTransaction) ### 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](/api-docs/openapi/rail-spec#operation/getAccounts). ## Crypto deposit accounts ### Opening accounts To open crypto deposit accounts, you will need to use the [`accounts/deposits` endpoint](/api-docs/openapi/rail-spec#operation/openAccount) 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](/api-docs/openapi/rail-spec#operation/getAccount) 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](/api-docs/openapi/rail-spec#operation/getTransactions). 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](/api-docs/openapi/rail-spec#operation/getTransaction) ### 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](/api-docs/openapi/rail-spec#operation/getAccounts).