Glossary
This glossary contains terms and definitions used throughout the Safe documentation.
Account Abstraction
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 (opens in a new tab) on ethereum.org
- ERC-4337: Account Abstraction (opens in a new tab) on erc4337.io
Bundler
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:
- Bundling (opens in a new tab) process on ethereum.org
- Bundlers (opens in a new tab) on erc4337.io
EIP-1271
The EIP-1271 (opens in a new tab) is an Ethereum Improvement Proposal (opens in a new tab) 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.
EIP-712
The EIP-712 (opens in a new tab) is an Ethereum Improvement Proposal that proposes a standard for hashing and signing of typed structured data instead of just bytestrings.
EntryPoint
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 (opens in a new tab) on ethereum.org
- Bundlers (opens in a new tab) on erc4337.io
ERC-4337
The ERC-4337 (opens in a new tab) is an Ethereum Request for Comments (opens in a new tab) 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 (opens in a new tab) on erc4337.io
Externally-Owned Account
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 (opens in a new tab) on ethereum.org
- Ethereum Whitepaper (opens in a new tab) on ethereum.org
Gasless Transaction
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
Network
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 (opens in a new tab) on ethereum.org
Owner
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 (opens in a new tab) on github.com
Paymaster
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 (opens in a new tab) on ethereum.org
- Paymasters (opens in a new tab) on erc4337.io
Relayer
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? (opens in a new tab) on docs.gelato.network
Safe{DAO}
The Safe{DAO} is the Decentralized Autonomous Organization (opens in a new tab) (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 (opens in a new tab)
- Safe{DAO} Governance process (opens in a new tab) on forum.safe.global
- Safe{DAO} Proposals (opens in a new tab) on snapshot.org
Safe{Wallet}
Safe{Wallet} (opens in a new tab) is the official user interface to manage Safe accounts.
See also:
- Getting Started with Safe{Wallet} (opens in a new tab) on help.safe.global
Safe Apps
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 (opens in a new tab) on GitHub
SafeAuth
SafeAuth is a Multi-Party Computation (MPC) based product developed by Safe (opens in a new tab) and Web3Auth (opens in a new tab). Compatible with Safe{Wallet} (opens in a new tab), 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 (opens in a new tab) on github.com
- Safe + Web3Auth = SafeAuth: Portable Safe Accounts with social login (opens in a new tab) on safe.mirror.xyz
Safe Guard
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 (opens in a new tab) on zodiac.wiki
- Get the enabled Safe Guard and enable a Safe Guard with the Safe{Core} SDK on docs.safe.global
Safe Module
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 (opens in a new tab) on github.com
- Zodiac Modules (opens in a new tab) on zodiac.wiki
- Get the enabled Safe Modules and enable a Safe Module with the Safe{Core} SDK on docs.safe.global
Smart Account
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.
Transaction
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 (opens in a new tab) method.
See also:
- Transactions (opens in a new tab) on ethereum.org
Threshold
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
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 (opens in a new tab) on ethereum.org
- UserOperation mempool (opens in a new tab) on erc4337.io
Wallet
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 (opens in a new tab) on ethereum.org