In this section of the user guide we will walk you through all aspects of creating a vault, resharing a vault, and transacting within the io.vault product. As a Client, there are several key activities to take into consideration;
- Creating a new vault
- Approving/ Rejecting a transaction request
- Signing a request or a transaction
- Resharing a vault
- Adding /removing an asset or network
- Depositing into a vault
- Withdrawing from vault
- Gas Fee Customization
- API Integration
- Virtual Signer
- WalletConnect
4.1 Creating a new vault
Process Ref |
Process Step |
1 |
On the web dashboard, navigate to the "Vaults" section on the left-hand side, then select "+New Vault" located in the top right-hand corner |
2 |
Specify a unique name for the vault and click “Next” |
3 |
Specify the vault threshold
Please Note - Threshold can be updated after creation, via a reshare |
4 |
Select the users who will be a member of the vault signing party, and specify the signing power to be allocated to each user's signing device..
Please note - If you wish to participate in the signing process, ensure that you are added as a signer. Please note - The user list will only show individuals who have registered a signer. |
5 |
After selecting the signer(s), click on "review" to examine the details of the vault creation and the signing power allocated for this specific vault |
6 |
Click “Submit for Approval” to send the vault creation request If you need to amend / update the details, click “edit” |
7 |
Once submitted, you can return to the dashboard by clicking on "dashboard" or track the progress of the vault creation by clicking on "track progress" |
8 |
Each user specified as a member of the vault signing party must approve the request on their device and participate in the vault creation process
|
9 |
After successful completion, the vault will be viewable in the dashboard. |
Please Note - You can review the vaults details, including the threshold and signing party, by selecting your desired vault from the dashboard |
|
Please Note - A request must be approved and completed within the 10 minutes time-out limit |
|
Please note - All signing party users required to approve the request must be online and logged in with their registered devices simultaneously to complete the request |
4.2 Approving / Rejecting a transaction request
Upon submission of a transaction request all members of the vault signing party will receive the request notification on their signing device to review. After reviewing the request details, a user may either decide to approve or reject the transaction.
Please Note - Any user with login credentials in the organisation can create a transaction request for any vault within the organisation, so it is important to review the information carefully each time before approving a request.
To approve a transaction
Process Ref. |
Process Step |
1 |
Open the app on your registered signer |
2 |
Select the pending transaction request you want to review |
3 |
Review transaction details |
4 |
Using the sliding bar, slide across the screen to approve the transaction |
5 |
Successfully authenticate via FaceID |
Please Note - The vault threshold must be reached by any combination of users with devices that have sufficient signing power to approve the transaction |
To reject a transaction
Process Ref. |
Process Step |
1 |
Open the app on your registered device |
2 |
Select the pending transaction you want to review |
3 |
Review transaction details |
4 |
Select “reject request” |
Please Note - If other members of the signing party are still able to reach the vault threshold, they may still complete the transaction. |
4.3 Signing a request or a transaction
When signing any request or transaction, please ensure the following details are taken into consideration;
Please Note |
A request must be approved and completed within the 10 minutes expiration limit |
To complete any request, whether it's for a new vault, vault reshare, or transaction, the required vault threshold of approvals must be met. All members who approve the request must be online and logged in with their registered devices simultaneously in order to sign the request. |
If a transaction has reached the required threshold of approvals, the signing process will begin automatically between the signers that approved the request. |
Each device must stay online and unlocked for the entire duration of the signing process (generally no longer than 10 seconds), or the process will fail and a new request will need to be created. |
4.3a Live Signing
Please Note |
If a transaction has reached the required threshold of approvals, the signing process will begin automatically between the signers that approved the request. |
During Live Signing, each device must stay online and unlocked for the entire duration of the signing process (generally no longer than 10 seconds). If the device is locked or offline, the process will fail, requiring a new request to be created. |
4.3b Recommended feature: Background Signing
To avoid the limitations of Live Signing, you can enable Background Signing, which allows the signing process to continue even if your device is locked or running other applications. This feature ensures a smoother, more convenient signing experience without needing to actively keep your device unlocked or the application in the foreground.
To enable Background Signing users must activate location services:
Process Ref. |
Process Step |
1 |
When registering a signing device for the first time, you will be prompted to enable Background Signing (location access) on your device. You can choose to enable it by clicking "Enable" or decline by selecting "Not now" in the top-right corner of your screen. |
2 |
Next, you will be asked to grant location access to "io.finnet." You can choose from the following options:
Please note: If you select "Don’t Allow," the Background Signing feature will not be activated. If you still have the background signing turned on within the app settings (top right button), you will receive a notification to either turn this off or allow background signing in your device settings. |
3 |
Once completed, you can verify that the "Background Signing" option is enabled by going to the io.finnet app within your phone settings. |
4 |
After completing these steps, go to your device settings and check the location access for the io.finnet app. Ensure that location access is set to at least “While Using the App” (minimum) or “Always” (recommended) for the best performance. Please note - if you choose “ask next time or when I share”, you will be prompted next time you load the io.finnet app to choose the location access again. |
Please Note: |
If you force quit the io.vault app prior or during the signing of a request, the process will be interrupted, causing the transaction to fail. You will need to initiate a new request and approve it again to complete the transaction. |
4.4 Resharing a vault
The reshare process enables you to modify specific vault thresholds, signing power allocation, or signing parties. Any modifications to these parameters require meeting the current approval threshold and participation by all signers of the resulting signing party.
A reshare request can be processed by following;
Process Ref. |
Process Step |
1 |
On the web dashboard, navigate to the "Vaults" section on the left-hand side, then select the relevant vault you want to edit |
2 |
Click on the “gear icon” within the top-right (next to “new transfer” button) |
3 |
Select “edit Threshold & Signers” |
4 |
The following actions are then possible:
|
5 |
Select “request reshare” in the bottom right
|
6 |
Continue through the "Approving / Rejecting a transaction request" process as detailed in point 5.2 |
7 |
Once approved, amendment will be updated within the vault setting |
Please Note - Members of the existing signing party must meet the existing vault threshold to approve a reshare request |
|
Please Note - Completing a reshare request requires all members of the resulting signing party to approve and participate in the reshare signing process |
4.5 Adding/Removing an asset or network to a vault
When a new vault is created, only Bitcoin and Ethereum are included by default. However, io.vault also supports all ERC-20 assets as well as other networks. io.vault will automatically detect the deposit of any new ERC-20 token to a vault and display it on the dashboard. Additionally, assets can be manually added or hidden from the vault dashboard using the following process:
Process Ref. |
Process Step |
1 |
On the web dashboard, go to the "Vaults" section located on the left-hand side. Then, choose the specific vault for which you wish to add or remove an asset by clicking on it. |
2 |
On the right-hand side, in the "Assets" section at the top, select "Manage Assets." |
3 |
Locate the desired asset by clicking on the dropdown menu and scrolling down until you find it. |
4 |
Simply click on "Show" or "Hide" to add or remove the asset from the vault. The corresponding deposit address will be displayed on the new asset card under the Admin page of your vault. |
Please note - Removing an asset will simply hide the asset from being displayed by default. |
4.6 Depositing into a Vault
The only requirement to deposit into an existing vault is to obtain the appropriate deposit address for the desired asset. You can find the deposit address by selecting the intended vault in the web dashboard, and the complete address can be copied directly from next to the desired asset.
Note - only the initial and trailing 5 characters of the deposit address are displayed for easier identification but the copy button will copy the entire address to your device clipboard.
4.7 Withdrawing from a vault
A transaction request is created on the dashboard by navigating to the vault page :
Process Ref. |
Process Step |
1 |
|
2 |
On the "Create Transfer”" page, complete the following fields:
|
3 |
At the bottom, click the “review” button to proceed with transferring the Asset, or “Cancel” to stop the transfer |
4 |
Now you can review the request, and if you wish to proceed with the transfer, click "Submit Request." At this stage, you can still go back to the previous page to edit or cancel the transfer. |
5 |
Once submitted, you can return to the dashboard by clicking on "dashboard" or track the progress of vault creation by clicking on "track Progress" |
6 |
Each user specified as a member of the vault signing party must approve the request on their device and participate in the signature process A transfer request must be completed, signed, and approved within 10 minutes, or it will expire. |
Tip: Before starting the steps to withdraw, copy the address you would like to send to. This will allow you to easily paste the address into the field.
4.8 Gas Fee Customization
Users have the flexibility to adjust their transaction fees based on their needs and preferences when using the io.vault platform. Specifically:
- Low, Medium, High Options: Users can choose preset options for transaction fees, categorized as low, medium, or high. These presets offer a quick way to adjust fees based on typical transaction speeds and costs.
- Custom Fees: Users can set their own transaction fees by manually adjusting the base fees and priority fees for Ethereum Virtual Machine (EVM) compatible blockchains, or by changing the sats (satoshis) per byte for Bitcoin transactions. This allows for more precise control over the cost and speed of their transactions.
Note: Remember that gas you pay is not charged or collected by io.finnet, and not something we can control.
To customize your gas fee, follow the process steps below;
Process Ref. |
Process Step |
1 |
To create your transaction, follow the steps detailed in Section 5.7 |
2 |
Under network fees, you can set your gas fee using one of the following options:
Note 1: Gas fees are usually set to High by default. Note 2: Transactions with higher gas fees are typically processed faster. |
3 |
Clicking on one of the four options allows you to choose your gas fee preference. These options determine the amount of gas you’re willing to pay and have the following implications:
|
4 |
Once comfortable with your gas fee choice, you can review the request, and if you wish to proceed with the transfer, click "Submit Request". |
Please Note |
Clicking “Custom” or “Advanced” will allow you to directly customize gas parameters and choose your sats per byte. Note: A link to mempool.space is available for you to visualize the Bitcoin mempool. This tool helps you understand network congestion and optimize your transaction fees for faster processing. |
4.9 API Integration
The vault API enables programmatic access and usage of the product.
To generate API keys, an admin of your organization must access the “settings” page and select “API keys”. After clicking “create new API key”, specify a name and any IP addresses to be whitelisted (if desired) and click “create”. Upon creation, be sure to copy both the API secret and public key as they will not be available again after initial generation.
To create a new API integration, you will need to follow the API documentation located here. You will find all relevant API development coding required in this location.
4.10 Virtual Signer
The Virtual Signer is a [Multi-Party Computation (MPC)] application that enables secure server side signing of transactions for your vaults with custom approval & rejection logic.
For more information on pricing and integration, please submit a request to our customer support team here, or through the support tab on the left-hand side of the dashboard.
4.11 WalletConnect
WalletConnect (WC) is an open protocol that allows users to connect their digital asset wallets to DApps on various blockchains without exposing their private keys, facilitating a more secure and user-friendly interaction with decentralized applications.
How to use io.Vault with WalletConnect
Process Ref |
Process Step |
1 |
Open Any Web3 interface. Example Uniswap or Sushiswap |
2 |
Click “Connect” button and choose “WalletConnect” |
3 |
Click “Copy to clipboard” under the QR code |
4 |
Open the io.Vault Dashboard |
5 |
You have two options to connect your vault to any dApp:
|
6 |
Past QR code from the Web3 interface in the QR code field |
7 |
Click “Connect Vault” |
8 |
Go back to the Web3 interface select the token to swap and enter the amount |
9 |
Confirm the Swap |
10 |
Go back to io.Vault dashboard |
11 |
On the Signature request, review the request and click “Submit for Approval” |
12 |
Next open the io.dashboard mobile App to approve |
13 |
Sign the transaction |
14 |
Go back to io.Vault dashboard and confirm the transaction status |
Please note: You will be unable to connect WalletConnect until a Vault has been created.
Please note: There are some known issues specific to the dAapp Aave. These issues, although rare, can disrupt the user experience. Please see here for more information.
For io.vault known issues see here.