ETH Wallet Management
Background
As Ethereum adoption increases, exchanges and institutional cryptocurrency users need a scalable, flexible, and user-friendly wallet that keeps fees low without compromising security.
What Are Ethereum Gas Fees?
Gas fees pay for work done on the Ethereum network. Gas is a unit that measures the amount of computational effort required to perform specific operations on the network.
Executing a transaction and adding it to the blockchain, for instance, requires a certain amount of computational work. This effort is paid for in transaction fees, which are measured in gas.
The gas price adjusts to both network congestion and transaction complexity. The busier the network, the higher the fees to join the queue of transactions waiting their turn to be “confirmed” on (or added to) the Ethereum ledger. And when a transaction is computationally complex, it also costs more.
Transaction Fees = Gas Used × Gas Price
The default baseline value for non-smart contract ETH transfers is 21,000 gas.
For the current average gas price, refer to the Ethereum Development Documentation.
Fee Management
There are three main processes that require fee management for Ethereum wallets:
-
Creating addresses:
For enterprise wallets, receive addresses typically become a critical feature. They allow incoming funds to be easily differentiated and accounted for while remaining pooled together.
Addresses can be created with forwarder contracts, which pool funds together. Forwarder contracts have a one-time cost for deployment but do not incur additional costs for pooling.
-
Consolidating tokens:
For users who support a large number of tokens, managing them efficiently becomes key to reducing ETH transaction fees.
Ethereum token transactions cannot be pooled automatically like ETH — they need to be consolidated with separate transactions. This is operationally problematic for non-contract wallets, as you need ETH to move tokens.
-
Sending transactions:
Enterprise wallets usually process a large number of withdrawals, and transaction fees change based on the type of withdrawal. For example, users can withdraw to a single-sig account or interact with DeFi.
Both ETH and tokens must normally be pooled in some manner before a withdrawal can occur. Technically, it is possible to withdraw without any consolidation, but the wallet loses some level of accountability, transparency, and efficiency under such a model.
An overview of BitGo’s ETH wallets
BitGo's wallets allow users to realize meaningful reductions in ETH costs while also benefiting from the most secure, transparent, and scalable wallet technology on the market.
-
Secure: BitGo smart contracts are highly optimized for both hot and cold wallets. They have been also audited by top firms such as Quantstamp, OpenZeppelin, CertiK, and Coinspect to ensure they maintain the highest levels of security.
-
Accessible: BitGo’s Ethereum wallets can interact with any decentralized finance application, and require certain approvals to further safeguard funds.
-
Scalable: BitGo smart contracts are built to reduce both transaction fees and complexity. BitGo has processed millions of transactions with its open source, 2-of-3 multi-sig implementation.
-
Transparent: Our hot wallets are completely user-controlled, and our open source software allows users to prove ownership and recover funds without BitGo’s involvement.
How BitGo Ethereum Wallet Users Can Reduce Fees
-
Deploying CREATE2 Addresses:
BitGo uses CREATE2 to deploy addresses for smart contracts.
These contracts let you interact with, and send funds to, a receive address before it exists on-chain – with the benefit that the contract is only deployed (ie, costs gas) if the address gets used (ie, receives funds). This reduces the cost associated with creating forwarders that would potentially go unused by your customers.
Forwarder contracts are deployed when funds are received, not at generation time.They forward Ethereum to the base multi-sig wallet so that no additional consolidation transactions are required.
BitGo deploys highly optimized smart contracts using factories and proxies to reduce creation costs as much as possible. Smart contract receive addresses work more effectively from an operational perspective, as all the ETH fees for the wallet are taken from a manageable number of addresses.
-
Batching Transactions:
BitGo provides a way to send ETH to multiple destination addresses in a single transaction. This batching reduces the cost of a withdrawal.
In addition, batching can be done when gas prices are low, which significantly increases savings in transaction fees, especially for high-volume customers.
-
Accelerating Transactions:
A high-performance wallet is crucial to saving fees. Users can accelerate transactions with either the BitGo API or the BitGo web UI.
The BitGo system is also highly flexible and lets you use multiple fee addresses per enterprise. With this feature, you can maintain different queues for broadcasting transactions at different speeds, which not only reduces your transaction fees but increases your transaction throughput.
-
Reducing Fees Further:
BitGo also provides customizable wallet settings that can be adjusted for each client’s use cases or needs.
These wallet settings can help in ETH and token fee management, such that users can make the desired trade-offs when it comes to confirmation times, transaction volume, and network fees.