This glossary contains terms and definitions used throughout the Safe documentation.
Account Abstraction is a new paradigm that focuses on improving the user experience when interacting with the blockchain by replacing the use of externally-owned accounts with smart accounts.
Some Account Abstraction features are:
- Elimination of seed phrase reliance
- Ease of multichain interactions
- Account recovery
- Gasless transactions
- Transaction batching
See also:
- Account Abstraction on ethereum.org
- ERC-4337: Account Abstraction on erc4337.io
Bundlers are nodes that participate in the ERC-4337 standard who bundle user operations from an alternative mempool and submit them to the blockchain. Bundlers pay for the associated transaction fees in advance, which are later refunded by the user account who proposed the user operation or by a Paymaster.
See also:
The EIP-1271 is an Ethereum Improvement Proposal that proposes a standard way for any contract to verify whether a signature on behalf of a given contract is valid. This is possible via the implementation of a isValidSignature(hash, signature)
function on the signing contract, which can be called to validate a signature.
The EIP-712 is an Ethereum Improvement Proposal that proposes a standard for hashing and signing of typed structured data instead of just bytestrings.
According to the ERC-4337, the EntryPoint is the singleton smart contract that processes bundles of UserOperation objects sent by the Bundlers. It verifies and executes them by calling the target smart accounts according to predefined rules.
See also:
- EntryPoint on ethereum.org
- Bundlers on erc4337.io
The ERC-4337 is an Ethereum Request for Comments that introduces a higher-layer pseudo-transaction object called UserOperation
. Users send UserOperation
objects into a separate mempool. A special class of actor called Bundlers package up a set of these objects into a transaction making a handleOps
call to a special contract, and that transaction then gets included in a block.
See also:
- ERC-4337 Documentation on erc4337.io
An externally-owned account (also known as EOA) is one of the two types of Ethereum accounts. A private key controls it; it has no code, and users can send messages by creating and signing Ethereum transactions.
See also:
- Ethereum Accounts on ethereum.org
- Ethereum Whitepaper on ethereum.org
Gasless transactions (also known as meta-transactions) are Ethereum transactions that are executed by a third party called relayer on behalf of a smart account to abstract the use of gas. Users must sign a message (instead of the transaction itself) with information about the transaction they want to execute. A relayer will create the Ethereum transaction, sign and execute it, and pay for the gas costs. The main benefit is that users can interact with the blockchain without holding the native token in their account.
See also:
- Relay Kit documentation on docs.safe.global
A blockchain network is a collection of interconnected computers that utilize a blockchain protocol for communication. Decentralized networks allow users to send transactions, that are processed on a distributed ledger with a consensus mechanism ensuring the batching, verification, and acceptance of data into blocks. This structure enables the development of applications without the need for a central authority or server.
See also:
- Networks on ethereum.org
A Safe owner is one of the accounts that control a given Safe. Only owners can manage the configuration of a Safe and approve transactions. They can be either externally-owned accounts or smart accounts. The threshold of a Safe defines how many owners need to approve a Safe transaction to make it executable.
See also:
- OwnerManager.sol on github.com
Paymasters are smart contracts that allow an account to pay for the gas fees of other users. This feature abstracts away the concept of gas fees by subsidizing them for users, allowing them to pay with ERC-20 tokens, and enables many other use cases.
See also:
- Paymasters on ethereum.org
- Paymasters on erc4337.io
A relayer is a third-party service acting as an intermediary between users' accounts and blockchain networks. It executes transactions on behalf of users and covers the associated execution costs, which may or may not be claimed.
See also:
- What's Relaying? on docs.gelato.network
The Safe{DAO} is the Decentralized Autonomous Organization (DAO) that aims to foster a vibrant ecosystem of applications and wallets leveraging Safe accounts. This will be achieved through data-backed discussions, grants, and ecosystem investments, as well as providing developer tools and infrastructure.
See also:
- Safe{DAO} Forum
- Safe{DAO} Governance process on forum.safe.global
- Safe{DAO} Proposals on snapshot.org
Safe{Wallet} is the official user interface to manage Safe accounts.
See also:
- Getting Started with Safe{Wallet} on help.safe.global
Safe Apps are web applications that run in the Safe Apps marketplace. They support Safe, use the Safe Apps SDK to interact with it, and aren't owned, controlled, maintained, or audited by Safe.
See also:
- Safe Apps SDK on GitHub
SafeAuth is a Multi-Party Computation (MPC) based product developed by Safe and Web3Auth. Compatible with Safe{Wallet}, SafeAuth allows developers to build portable smart account use cases. Users are empowered to plug and play their user accounts between different decentralized applications through their social login.
See also:
- SafeAuth documentation on docs.safe.global
- SafeAuth demo app on github.com
- Safe + Web3Auth = SafeAuth: Portable Safe Accounts with social login on safe.mirror.xyz
A Safe Guard is a smart contract that adds restrictions on top of the n-out-of-m scheme that Safe accounts offer. They make checks before and after the execution of a Safe transaction.
See also:
- Safe Guards documentation on docs.safe.global
- Zodiac Guards on zodiac.wiki
- Get the enabled Safe Guard and enable a Safe Guard with the Safe{Core} SDK on docs.safe.global
A Safe Module is a smart contract that adds functionality to Safe while separating module logic from Safe core contracts.
See also:
- Safe Modules documentation on docs.safe.global
- Safe Modules repository on github.com
- Zodiac Modules on zodiac.wiki
- Get the enabled Safe Modules and enable a Safe Module with the Safe{Core} SDK on docs.safe.global
A smart account (also known as a smart contract account) leverages the programmability of smart contracts to extend its functionality and improve its security in comparison with externally-owned accounts. Smart accounts are controlled by one or multiple externally-owned accounts or other smart accounts, and all transactions have to be initiated by one of those.
Some common features that smart accounts offer to their users are:
- Multi-signature scheme
- Transaction batching
- Account recovery
- Gasless transactions
Safe is one of the most trusted implementations of a smart account.
A transaction is an action initiated by an externally-owned account to update the state of the EVM network. Transaction objects must be signed using the sender's private key, require a fee, and be included in a validated block.
A Safe transaction is a transaction sent to a Safe Proxy contract calling the execTransaction method.
See also:
- Transactions on ethereum.org
The threshold of a Safe account is a crucial configuration element that enables using Safe as a multi-signature smart account. It defines the number of required confirmations from the Safe owners a (Safe) transaction must have to be executable.
See also:
- Get the threshold and change the threshold of a Safe with the Safe{Core} SDK on docs.safe.global
UserOperation
objects are pseudo-transaction objects introduced by the ERC-4337 that users send to the UserOperation
mempool. They wrap the users' transactions, and are sent to the EntryPoint contract by Bundlers.
See also:
- UserOperations on ethereum.org
- UserOperation mempool on erc4337.io
A wallet is an interface or application that gives users control over their blockchain account. Wallets allow users to sign in to applications, read their account balance, send transactions, and verify their identity.
See also:
- Ethereum Wallets on ethereum.org