Transactions
Concurrent transaction approval
It's possible to create multiple transaction requests in an account. Transactions are broadcasted only when all approvals have been collected from the necessary Operators. They can be approved in any order.
To allow this, two different balances will be displayed in the account:
- the total balance : the account's total balance at a given time.
- the available balance : the account's balance minus the total amount of pending transaction requests and the expected max fees. Put simply, this is the amount you can spend in your next transactions.
The available balance is calculated differently depending on the crypto asset.
Crypto asset | Available balance |
Bitcoin and Bitcoin-like |
Account total balance - (total pending transaction amounts + pending max fees in the account) |
Ethereum accounts that don't have children ERC20 accounts | |
Ethereum accounts that have children ERC20 accounts |
Account total balance - (total pending transaction amounts + pending max fees in the account + pending max fees in all children ERC20 accounts) |
ERC20 |
Account total balance - the account's total pending transactions |
Polkadot |
Account total balance - (the account's total pending transaction + pending max fees in the account) - 1 DOT |
Transaction fees & speed
When creating a transaction, you first need to select a transaction speed: slow, medium (default), or fast. The selected speed will determine the total transaction fees.
At this stage, the exact amount is unknown as multiple factors must be taken into account such as the crypto asset, the size of the transaction, and the state of the network. For this reason, only the total max fees is displayed when creating transaction requests. That is the highest amount you will pay for the transaction to be approved. The fee can be lower but will never go above that amount.
Total max fees calculation
The estimated total max fees are calculated when creating the transaction request and is calculated differently depending on the crypto asset. The final fees are calculated once the transaction is approved by the last Operator.
Bitcoin
speed | Network fees | Max fees |
Slow | Fees to confirm in 6 blocks | + 50% |
Medium | Fees to confirm in 3 blocks | + 50% |
Fast | Fees to confirm in 1 blocks | + 50% |
Ethereum
speed | Network fees | Max fees |
Slow | Fee amount when creating the transaction request | + 100% on the gas price |
Medium | Fee amount when creating the transaction request | + 100% on the gas price |
Fast | Fee amount when creating the transaction request | + 100% on the gas price |
The fees for an ETH transaction are made up of a maximum gas price (which fluctuates every few seconds and depends on the market) and a gas limit (which is standardised).
Due to the fluctuations in the gas price between the date of creation of a transaction and the date of submission after all the approvals have been collected, the platform now automatically adds a buffer to the max gas price for ETH and ERC20 transactions.
Max fees = gas limit x (gas price + 100% buffer)
It’s important to distinguish the gas price from the max gas price. The amount of the gas price is what you need to pay at a given moment in order for your transaction to be broadcasted in a given amount of time. The max gas price is not necessarily what you will end up paying. It is simply a limit which maximizes your transaction success on the blockchain.
If you do not wish to have this buffer you can switch to the custom modeand choose the inputs for the gas price and gas limit.
XRP
Refer to the XRP ledger for additional information.
speed | Network fees | Max fees |
Slow | 10 drops | + 50% |
Medium | 10 drops + load cost | + 50% |
Fast | 10 drops + (load cost + open ledger cost) *1.5 | + 50% |
Tezos
speed | Network fees | Max fees |
Slow | Initial Fee*75% | + 50% |
Medium | Initial Fee: standard network fee level estimated for the transaction’s storage & gas | + 50% |
Fast | Initial Fee*125% | + 50% |
Polkadot
The fee for polkadot transactions is fixed. It is a variable of the network and it may change due to a network decision.
Apply custom fees
It's possible to define the max fee you're willing to pay if you don't want to spend over a specific amount. You can do this by enabling the Custom toggle. Note that if the entered amount is too low, the transaction will take longer to confirm.
Broadcasting transactions
Once the last approval of the transaction request is collected, the transaction is created and immediately broadcasted. At that moment, the fees are calculated again and compared to the max fees. If the recalculated fees:
- are below than the total max fees, the transaction is broadcasted with the recalculated fees. The difference between the max fees and the actual fees are therefore available again for use in your account.
- are above the total max fees, the transaction is broadcasted with the max fees. You'll never pay more than the amount indicated when creating the request. Note that our calculation method is made to prevent this case from happening.
Example
Kathy Sanchez creates an Ethereum transaction request at 1pm with a fast speed. The expected total max fees are ETH 0.005.
At 7pm, all approvals are collected and the transaction is broadcasted. The fees are recalculated to get the actual amount of fast speed fees at that time of the day.
The recalculated fees equal to ETH 0.003. Since they're lower than the expected max fees, the transaction is broadcasted with that amount.
Note that if the recalculated fees were higher than ETH 0.005, the transaction would have been broadcasted with that amount.
The final fees for this transaction are displayed in the Transaction details dialog. You can open it from the account's dashboard.
Failing transaction requests
In case of issues, we will automatically retry to send the transaction three times. If it still fails, the transaction will the Failed to broadcast status.
Unspent Transaction Outputs (UTXOs)
In Bitcoin and Bitcoin-like blockchains, transactions are made of inputs and outputs:
- The output represents the amount sent to the recipient, and
- The input is the change that goes back in your wallet and that can be reused in another transaction.
Example: You would like to make an $8 transaction but you only have a $10 bill. You'll use this bill to pay and receive $2 in change.
UTXOs are therefore the collection of all the change (or input) that exist in the account and which, added together, equals to the total balance.
Best practices
-
We recommend consolidating UTXOs:
- When no transaction requests are pending in the account.
- When no transactions are supposed to be received in the account.
-
We also recommend :
- Approving UTXO transaction requests as soon as possible after creation.
- Creating a single UTXO transaction request at a time and approving it before creating a new one.
UTXO consolidation
When consolidating UTXOs, you aggregate the value of multiple UTXOs into one. You can see this as exchanging coins for a bill. This allows you to send larger amounts creating transactions and enables you to save money if you consolidate when network fees are low.
Example: If you consolidate 100 UTXOs each worth BTC 0.01, you'll generate a single UTXO worth BTC 1.
You can consolidate up to 100 UTXOs at a time by creating a transaction to yourself. UTXOs which have the smallest amounts will be selected. However, UTXOs which value falls below 546 satoshis are too small to be consolidated and will be ignored.
If your account contains over 100 UTXOs you'll be required to perform the consolidation multiple times. For more information, see Consolidate UTXOs.
The consolidation is always performed on the index 0 address of the account, that is the first-ever generated address in your account.
Allow UTXO consolidation in the account
If the account for which you want to consolidate UTXOs uses whitelists only, make sure an Administrator either adds the address index 0 of that account to one the whitelists or creates a separate rule for this address. This is to ensure you can consolidate UTXOs in the account.
Transactions - UTXO selection strategy
When creating a transaction you can select which UTXOs should be used among these three options:
- Merge outputs: To select UTXOs which have the lowest amounts.
- Optimize size: To select UTXOs which have the highest amounts. This strategy is used by default.
- Deep outputs first: To select UTXOs which have the highest amount of confirmations on the blockchain.
Transaction rules
Transaction rules can vary from an account to the other. It'll affect how you create transactions as the amount per transaction can be limited as well as the possible list of allowed recipients. Additionally, a different approval workflow can be implemented.
To find out which rules have been defined in an account, go to Accounts > Account dashboard > Rules tab.
Limitations
Ethereum (ETH) accounts and their children ERC20 token accounts
- The parent Ethereum account must be credited to allow paying the gas fees of ERC20 transactions.
XRP accounts
- You're required to hold a minimum balance of XRP 10 at all time. You'll be prevented from creating a transaction if your account's total balance falls below that amount.
- Transactions below XRP 10 sent to inactive XRP accounts aren't permitted by the network and will fail.
XLM accounts
- You're required to hold a minimum balance of XLM 1 at all time. You'll be prevented from creating a transaction if your account's total balance falls below that amount.
Polkadot accounts
- You’re required to hold a minimum of 1 DOT at all time for the blockchain to reference your account. You’ll be prevented from creating a transaction if your account’s total balance falls below that amount.
- Transactions below 1 DOT which are sent to inactive Polkadot accounts aren’t permitted by the network and will fail.