Blog

Externally Owned Wallets (EOAs) vs. Smart Contract Wallets vs. Embedded Wallets

Resources
·
February 26, 2025

Crypto has evolved over the years, and with it, so have the ways that users interact with crypto wallets. While browser extension wallets remain as the standard way to interface with onchain applications, the UX standard for what a great product experience entails has gotten much higher, prompting the development of account abstraction and wallet infrastructure tools to create traditional wallet alternatives.

In this blog post we'll take a look at three different approaches to wallet architecture and how they work: Externally Owned Wallets (EOAs), Smart Contract Wallets, and Embedded Wallets.

What is an externally owned wallet (EOA)?

Externally owned wallets (EOAs) refer to self-custodial wallets that most users are familiar with. 

Users generate a wallet and are given a seed phrase, which acts as the private key that controls the funds inside of it. These wallets are not application specific - users can import their seed phrase into different wallet applications, and use the same wallet to interact with different crypto apps across the web. Think MetaMask, Phantom, or Coinbase Wallet.

The reason EOAs are referred to as "Externally Owned", is because they are "external" to a blockchain network; in other words, they belong to a user. For example, on Ethereum, there is a distinction between contract accounts in which actions are taken by code and smart contract logic, as opposed to EOAs which have actions completed by a user (or some entity outside of the blockchain itself).

Here are some of the advantages and disadvantages of EOAs.

EOA Advantages and Disadvantages

Here's the table with the specified content:

Advantages Disadvantages
Self-custodial Complex for new users
Full control over wallet actions Losing seed phrase means loss of funds
Current de-facto standard for crypto apps App UX can suffer
No reliance on a third party Multichain actions may require multiple EOAs

EOAs in general tend to sacrifice UX and introduce friction for the benefit of more user control. Let's take a look at smart contract wallets and how they differ.

An Introduction to smart contract wallets

Smart contract wallets, sometimes called Smart Accounts, leverage smart contracts deployed to a blockchain to act as an account that users can make transactions with.

The idea behind smart contracts as wallets is to introduce additional functionalities that don’t exist with traditional EOAs, such as programmability and increased security features. Safe and Argent are two examples of smart contract wallets.

With smart contract wallets you can set up more complex onchain interactions, like having a transaction require multiple signatures (setting a wallet as a multi-sig), or creating programmable actions (e.g. swaps, or automated transactions). 

Smart contract wallets are also one of the first initial explorations of account abstraction. On Ethereum, smart contract wallets can adhere to ERC-4337 to help improve UX on the network.

Here are some of the advantages and disadvantages of smart accounts:

Smart contract wallet advantages and disadvantages

Here's the table with the updated content:
Advantages Disadvantages
Can still be self-custodial Have to "pay" to set up an account (gas)
Better security options compared to EOAs More complex under the hood than traditional EOAs
Programmable actions and enhanced UX Security is technically handled by third-party (deployer)
Complex transactions can have a higher cost

Smart accounts offer a lot of benefits over traditional EOAs, but by keeping complex actions and programmability onchain, it can also increase overhead costs. UX is also improved with abstraction, but still encounters similar problems as traditional EOAs. 

Embedded wallets differ from them both. 

What are embedded wallets?

Embedded wallets, unlike EOAs, are "embedded" directly within crypto applications. Instead of a user generating a seed phrase and requiring some kind of third-party wallet software, the application handles key generation, and the user's account is managed directly within the app.

Technically speaking, an embedded wallet is still some kind of EOA. It's not a smart contract running code, but rather, a traditional set of private keys which are managed by an application, and can be set up so that they are only accessible to the user (non-custodial embedded wallet).

Embedded wallets often have features such as social logins, biometric passkey authentication, account recovery methods, and automated transaction signing. These abstractions are what set embedded wallets apart from traditional EOAs, and is in part responsible for their rise in popularity. Account abstraction solutions can even be built on top of embedded wallet infrastructure.

Let's take a look at the advantages and disadvantages of embedded wallets.

Advantages Disadvantages
Can be self-custodial or non-custodial Reliance on a third-party for key management
App UX is vastly improved Accounts are tied to a single application
Less onboarding friction Still relatively new (no broad standards)
Multichain actions are easy to implement
More secure, especially with passkeys

Embedded wallets generally provide a much better user experience than traditional EOAs, but at the expense of handing wallet management/security to a third party. As a result, verifiability and the ability to remotely attest to a third party’s code is particularly important for ensuring that the third party can be trusted.

Does Turnkey support embedded wallets and account abstraction?

At Turnkey, we offer embedded wallet solutions for developers without compromising on security. We make use of Trusted Execution Environments (TEEs) for key generation, storage and access, and raw private keys are never directly exposed to Turnkey, your software, or your team.

Our wallet infrastructure can be used to generate millions of embedded wallets for users with support for passkey authentication, social logins, wallet recovery, custodial and non-custodial wallets, and more. Some of the best teams in crypto, such as Moonshot, Magic Eden, and DIMO, use Turnkey to create magical product experiences on crypto rails. Other teams have also incorporated existing account abstraction solutions, such as OneBalance and Biconomy, into their existing Turnkey integration.

If you want to learn more about what we're building and how you can integrate Turnkey into your own apps and products, get started with our docs here.

And follow us on X to stay up-to-date with our product launches, and learn more about how TEEs work in crypto.