Understanding Smart Contract Wallets: A Beginner's Guide
Smart contract wallets are much talked about recently. And there is a good reason for it: they are offering a much better user experience, making DeFi more accessible to people new to it, and have features previously unavailable, amongst other things. In this article, we will look into what smart contract wallets are, how they work, and what their benefits are.
- Smart contract wallets are crypto wallets powered by smart contracts
- Smart contract wallets remove the need for seed phrases and allow for granular control over the security of the wallet - it is up to you to whom and under what circumstances you grant access
- Smart wallets provide a smoother DeFi experience by removing the need to have native tokens for transaction fees or by allowing bundling of transactions e.g.
What are Accounts on Ethereum
Let’s start with the basics and first look at what accounts are on the Ethereum blockchain and what the types of accounts are. Accounts are entities with a balance that can send, receive or approve transactions. They can be either user-controlled, also known as Externally Owned Accounts (EOAs), or deployed as smart contracts - known as Contract Accounts.
Now let’s look at the main differences between EOAs and smart contract accounts. We already mentioned that EOAs are controlled by a user. This happens with the help of a private key and a seed phrase for recovery (a series of random words, also known as mnemonic phrases - necessary if the wallet is broken or lost, and without it no recovery is possible). Contract accounts on the other hand are controlled by code and do not require a seed phrase for recovery. EOAs can initiate transactions, while contract accounts can only send transactions in response to receiving a transaction. Another difference is that transactions between EOAs can only be token transfers but contract accounts can trigger code that can execute many different actions, such as transferring tokens or even creating a new contract.
Most Ethereum wallets at the moment use EOAs which means they have limited functionality.
What is a Smart Contract Wallet
A smart contract wallet is a type of crypto (or Web3) wallet which is powered by smart contracts - we will explain what smart contracts are further on. Smart contract wallets are controlled by code as opposed to EOA-based wallets (like MetaMask e.g.) which are controlled by a private key. This allows for programming features into the wallet like email or social recovery or setting up limits.
Smart contract wallets are important for the whole crypto ecosystem for a number of reasons. For example, they offer enhanced security. They unlock a whole new level of features and they make things simple and more accessible - not only for new users but also for experienced ones. This is why we at Ambire believe smart contract wallets are the future of non-custodial EVM wallets.
Popular smart contract wallets in the space are Ambire Wallet, Safe (previously Gnosis Safe), and Argent.
How Do Smart Contract Wallets Work?
Before we dive deeper into the wallets themselves, let’s first have a quick look at what smart contracts are. In essence, they’re a program running on Ethereum - a collection of code and data. They are also a type of account that is deployed to the network and runs as programmed. They can still interact with user accounts. Users just have to submit transactions that perform an action as previously defined on the smart contract. Smart contracts can define rules, like a regular contract, and automatically enforce them via the code.
Smart contracts are what essentially control the funds in the smart contract wallets (or smart wallets as they’re also known) - and what lets you access them.
What are the benefits of Smart Contract Wallets?
Smart contract wallets have a number of advantages over EOA wallets. You may have heard about Account Abstraction (AA). In short, AA is used to describe the effort to start using contract accounts as wallets and to make these wallets native to the blockchain - making the interaction easier and enabling many features and benefits. You can dive deeper into Account Abstraction on our blog if this is a topic you’d like to learn more about.
Now let’s look at what these benefits are:
Ease of use
You can create an account with just email and password e.g. without the need for a seed phrase and you can also recover accounts (e.g. with the email address). No more writing down complicated word combinations and wondering where to keep them safe!
Improved security features
Smart contract wallets allow you to add or remove signers allowing for a lot more granular control over the security of a smart wallet than an EOA wallet. For example, with Ambire Wallet you can create an account with a username and password but you can add a hardware wallet as a signer to confirm transactions to increase the security of your account. You would still be able to log in simply using your email address but you would need your hardware wallet to perform any actions within the wallet.
Pay for transaction fees in stablecoins or other tokens
No native tokens necessary: you are able to pay transaction fees in stablecoins or other ERC-20 tokens. This is very important for general crypto adoption. Let’s say you only hold USDC and you’d like to deposit it on AAVE, you can pay the transaction fees in USDC directly without having to swap some of it for ETH first or acquire ETH additionally.
Ability to batch transactions
Usually on Ethereum, you cannot perform an action (or complete a transaction) if you have a pending one, and you would need to pay a fee for each transaction. Transaction batching means you can perform multiple transactions (or actions) simultaneously and save on gas fees too. For example, when interacting with a decentralized exchange, you can do the approval and the actual swap in the same transaction making the experience much smoother, or you can perform multiple swaps in one go.
Session keys possible
You can set (and pre-approve) rules for interacting with a specific dApp. Then you would be able to use the dApp without having to sign additional transactions. Sessions can be defined as different things, e.g. a time period or a certain transaction volume. This is key to improving the experience of gaming for example while still knowing your assets are safe because you have determined the rules yourself.
These are just the main, most common benefits of smart contracts currently. The list includes further features such as the ability to time delay transactions, to create custom rules (for example, set a spending limit), etc.
Smart contract wallets solve a number of issues for Web3 users (existing and new) and pave the way for wider crypto adoption. There are still challenges ahead (e.g. smart contract wallet signatures are not universally accepted) but there is also huge potential (governance votes for example) - we definitely recommend keeping an eye out as more and more work gets done in this direction!
Why you should use Ambire Wallet
Ambire Wallet is a great example of a smart contract wallet built on account abstraction. It is a fully self-custodial Web3 wallet that allows you to sign up in no time by simply using your email address and password. You can further increase the security by adding 2FA and/or another Web3 wallet (e.g. a hardware wallet like Trezor or Ledger), and be able to add/remove signers as necessary. You can also pay network fees in stablecoins and combine (batch) multiple transactions and sign them all together as one transaction. Additionally, you can use a special account to pre-pay network fees which can save you up to 20% in fees.
You could try out yourself how smart contract wallets work by taking a minute to sign up with Ambire:
Interested in Ambire? Follow us: