Safe
Integrate Safe Smart Accounts with Para for enhanced wallet functionality
Introduction
Safe Smart Accounts is a product by Safe (formerly Gnosis Safe) that enables the creation of ERC-4337-compatible smart accounts for your users. This integration allows you to leverage the power of Account Abstraction and other Safe features within your Para-powered application.
Safe Smart Accounts use the user’s Externally Owned Account (EOA) as the smart account’s signer. This builds upon the robust smart contract infrastructure that powers the widely-used Safe wallet.
Understanding EOAs and Smart Accounts
What is an EOA?
What is an EOA?
An EOA (Externally Owned Account) is an Ethereum account controlled by a private key. Para’s embedded wallets and most external wallets (like MetaMask or Coinbase Wallet) are EOAs.
EOAs differ from contract accounts, which are controlled by smart contract code and don’t have their own private key. Safe’s smart wallet is a contract account, offering enhanced capabilities such as gas sponsorship and batched transactions.
In this integration:
- The user’s EOA (from Para) serves as the signer for their smart wallet (from Safe).
- The smart wallet (Safe) holds all assets and submits transactions to the network.
- The signer (Para) is responsible for producing signatures and initiating transaction flows.
Integration Steps
To create Safe smart accounts for your users with Para, follow these steps:
Install Dependencies
First, install the necessary dependencies:
Import Required Modules
Import the necessary modules in your project:
Initialize Para VIEM Client
Set up the Para VIEM client:
Create Safe Account Configuration
Define the configuration for the Safe account:
Initialize Safe SDK
Create an instance of the Safe SDK:
Deploy Safe Smart Account
Deploy the Safe smart account:
Interact with the Safe Smart Account
Now you can interact with the Safe smart account using the Para VIEM client: