Crypto workflow
Crypto Banking is an innovative solution that is implemented in Core Banking providing multiple cryptocurrencies as financial instruments. The solution allows to make cryptocurrency payments on an everyday basis using the Banking Web Interface.
The Core Banking solution is required in order to provide operational structure for transfers, payments, and exchange. Meanwhile, Crypto Banking delivers connectivity components incorporating cryptocurrencies into the framework.
Even though Crypto Banking inherits general banking functionalities, some processes remain blockchain-dependent using the banking structure only for a better user experience. The following guide will provide you with an overview of the Crypto workflow implemented in Crassula Banking.
Crypto account opening
Crypto account is opened as follows:
The client opens a crypto account in the Banking Web Interface.
A new wallet is created by a service provider at the Custody level.
The top-up address is created at the Custody level and sent to Crassula via API. The address is used as account details for depositing transactions.
Depositing crypto
Crypto deposit is performed as follows:
The client selects a crypto account and requests its top-up address to deposit.
The top-up address is provided to the client as account details of their Crypto wallet.
The client sends crypto to the top-up address from their external wallet.
The Crypto wallet is checked every 5 minutes for balance changes by means of API connections with service providers.
Once crypto is deposited to the Crypto wallet, the balance of the client’s crypto account is increased.
Withdrawing crypto
Crypto withdrawal is performed as follows:
The client initiates a withdrawal from their crypto account in the Banking Web Interface.
A withdrawal transaction is sent to a service provider.
The service provider sends crypto from the outgoing wallet to an external wallet and confirms the transaction initiation.
The withdrawal funds are held in the client’s account before the transaction is complete.
The Crypto wallet is checked every 5 minutes for balance changes by means of API connections with service providers.
Once transaction confirmation is complete at the Blockchain level, the crypto funds are deposited to the Crypto wallet.
The withdrawal funds are charged from the client’s account.
If the service provider cannot process the withdrawal transaction at Step 3, the withdrawal request will be declined.
Exchanging crypto to fiat
Crypto exchange is performed as follows:
The client initiates an exchange transaction using the Banking Web Interface.
The exchanged crypto funds are held in the client’s crypto account, while the target fiat funds are pending in the client’s fiat account.
A sell-side limit order is created in the Kraken crypto venue.
Once the exchange order is filled, the venue sends a confirmation to Crassula CBS.
Client balances are changed.
The exchanged crypto funds are charged from the crypto account.
Fiat balance is increased for the received fiat amount.
Limit orders sent to a venue are provided with the Duration parameter that defines how long the order will be valid for. By default the parameter is set to 3 minutes, though it is possible change it in the system configs.
If a limit order is not filled during the defined time period, the order will be canceled and the funds held in the client’s account will be released.
Exchanging fiat to crypto
Fiat exchange is performed as follows:
The client initiates an exchange transaction using the Banking Web Interface.
The exchanged fiat funds are held in the client’s fiat account, while the target crypto funds are pending in the client’s crypto account.
A buy-side limit order is created in the Kraken crypto venue.
Once the exchange order is filled, the venue sends a confirmation to Crassula CBS.
Client balances are changed.
The exchanged fiat funds are charged from the fiat account.
Crypto balance is increased for the received crypto amount.
Limit orders sent to a venue are provided with the Duration parameter that defines how long the order will be valid for. By default the parameter is set to 3 minutes, though it is possible change it in the system configs.
If a limit order is not filled during the defined time period, the order will be canceled and the funds held in the client’s account will be released.
Mass crypto payouts
Mass crypto payout is created as follows:
An administrator provides the list of external addresses to send payments to.
The custody owner must top up the Mass crypto wallet before making payouts. The sum is to be enough both for payments and fees.
The provided list is grouped in batches of up to 100 addresses each.
Multiple transactions are initiated from the Mass crypto wallet.
For additional information, see Batch payments.