What is a Smart Account? | thirdweb (2024)

A Smart account is a smart contract wallet that follows the ERC-4337 specification.

Ethereum has 2 types of accounts to transfer and receive tokens: EOAs (Externally Owned Accounts) and Contract Accounts. A smart account is a wallet managed by a contract accountinstead of an EOA. A smart account is a wallet type requiring no private keys or seed phrases.Smart accounts rely on code instead of private keys to secure and recover wallet information.

A smart account is a type of Web3 wallet powered by smart contracts.

This smart account is unlocked by a 'key' - a personal account. This key can be anything from a MetaMask wallet or even a In-App Wallet and is used as a way to 'sign in' to the wallet.

Benefits of Smart Accounts

  • Optimized transaction efficiency & batch transactions
    • Combine multiple transactions into a single atomic transaction
  • Improved Security Features
  • Social & Multi-Sig Recovery
    • Recover a wallet without seed phrases/passwords
    • Nominate a trusted person to recover your wallet in the case of an emergency
  • Programmability
    • Smart accounts can be programmed to do anything a smart contract can do
    • Smart accounts can be upgraded to add new features

In order to issue smart accounts for users, an account factory contract must be used.This factory contract is responsible for deploying individual user contracts when required.The SDK provides a global factory ready to use, but you can also deploy your own factory.

Terminology

Personal Wallet/Key

This is the default admin on an account or the "key" to an account. It can be any wallet and is used to initialize the account.Only one wallet can only be the "key" to one account per factory contract.

This wallet is the primary way to access and interact with the account.

Account

The account is the ERC-4337 compatible smart contract which holds all of the assets.

UserOperations

This is the data structure for the "pseudo-transaction" that the user wants to perform. The transaction is pseudo as Smart Accounts cannot initiate transactions on EVM chains as they are not supported natively. It contains the following fields:

  • sender: The account making the operation.
  • nonce: Anti-replay parameter; also used as the salt for first-time account creation.
  • initCode: The initialization code needed to create the account (needed if and only if the account is not yet onchain).
  • callData: The data to pass to the sender during the operation.
  • callGasLimit: The amount of gas to allocate for the operation.
  • verificationGasLimit: The amount of gas to allocate for the verification step.
  • preVerificationGas: The amount of gas to pay to compensate the bundler for pre-verification execution and calldata.
  • maxFeePerGas: Maximum fee per gas (similar to EIP-1559 max_fee_per_gas).
  • maxPriorityFeePerGas: Maximum priority fee per gas (similar to EIP-1559).
  • paymasterAndData: Address of the paymaster sponsoring the transaction, followed by extra data to send to the paymaster (empty for self-sponsored transaction).
  • signature: Data passed into the account along with the nonce during the verification step. Should depend on the chainid and EntryPoint address to prevent replay attacks.

EntryPoint

The EntryPoint is a singleton contract (a contract that has a predictable address that is the same on every chain).It has two methods that are used as entry points to execute bundles of UserOperations: handleOps and handleAggregatedOps.

Bundler (relayer)

A bundler is a node that monitors the alternative mempool of UserOperations and bundles multiple UserOps together to forward to the EntryPoint contract as a single transaction.These UserOps can be sent from different accounts and are bundled and sent to the EntryPoint contract via a handleOps call.

The bundler is controlled by its own EOA which initially pays for the gas fees upfront and is then repaid by either the sender or a paymaster if the transaction is sponsored.

The entry point contract then uses the validateOp and executeOp functions on the smart account contract to verify and execute the UserOps on behalf of the users.

It allows you to send transactions with smart accounts.

Paymaster

A paymaster is a smart contract that relays transactions. It provides a service that enables a third party to paythe transaction fee on behalf of the user by funding the Paymaster contract in advance. The paymaster acts as a gas reserve which thencan be used during the call execution via the EntryPoint contract. The thirdweb Account abstraction paymaster is initially paid for by thirdweb. By using an API key,the usage is tracked and billed. You can easily define sponsorship rules that determine whether a transaction will be sponsored.

What is a Smart Account? | thirdweb (2024)
Top Articles
Checking Account - No Fees with Cashback Debit | Discover
Finance Courses | Best Finance Management Certification Online
Nullreferenceexception 7 Days To Die
Katmoie
Blanchard St Denis Funeral Home Obituaries
877-668-5260 | 18776685260 - Robocaller Warning!
Women's Beauty Parlour Near Me
Ashlyn Peaks Bio
Wal-Mart 140 Supercenter Products
Barstool Sports Gif
Evita Role Wsj Crossword Clue
Was sind ACH-Routingnummern? | Stripe
Craigslist Alabama Montgomery
Scholarships | New Mexico State University
Classroom 6x: A Game Changer In The Educational Landscape
Where does insurance expense go in accounting?
10 Best Places to Go and Things to Know for a Trip to the Hickory M...
Nwi Arrests Lake County
979-200-6466
Epro Warrant Search
Lawson Uhs
Acts 16 Nkjv
Beverage Lyons Funeral Home Obituaries
Drift Hunters - Play Unblocked Game Online
Skycurve Replacement Mat
Synergy Grand Rapids Public Schools
Nk 1399
Truck from Finland, used truck for sale from Finland
Mini-Mental State Examination (MMSE) – Strokengine
Duke University Transcript Request
LG UN90 65" 4K Smart UHD TV - 65UN9000AUJ | LG CA
Perry Inhofe Mansion
Duke Energy Anderson Operations Center
Gyeon Jahee
Roto-Rooter Plumbing and Drain Service hiring General Manager in Cincinnati Metropolitan Area | LinkedIn
House Of Budz Michigan
Directions To 401 East Chestnut Street Louisville Kentucky
Tugboat Information
Pp503063
Insideaveritt/Myportal
Craigslist Free Manhattan
R: Getting Help with R
Booknet.com Contract Marriage 2
'The Nun II' Ending Explained: Does the Immortal Valak Die This Time?
How the Color Pink Influences Mood and Emotions: A Psychological Perspective
Terrell Buckley Net Worth
Is Chanel West Coast Pregnant Due Date
Great Clips Virginia Center Commons
Mkvcinemas Movies Free Download
Otter Bustr
Predator revo radial owners
La Fitness Oxford Valley Class Schedule
Latest Posts
Article information

Author: Roderick King

Last Updated:

Views: 5831

Rating: 4 / 5 (51 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Roderick King

Birthday: 1997-10-09

Address: 3782 Madge Knoll, East Dudley, MA 63913

Phone: +2521695290067

Job: Customer Sales Coordinator

Hobby: Gunsmithing, Embroidery, Parkour, Kitesurfing, Rock climbing, Sand art, Beekeeping

Introduction: My name is Roderick King, I am a cute, splendid, excited, perfect, gentle, funny, vivacious person who loves writing and wants to share my knowledge and understanding with you.