This document serves as a comprehensive guide for enabling and configuring Account Abstraction (AA) within your organization. This currently allows your organization to sponsor gas fees for your clients, using specified policies and chains. The Account Abstraction feature is available on all mobile and web SDKs.
While AA clients can make Solana/Tron/Stellar/etc sign requests, these transactions are not gas subsidized. This is because AA clients on Solana/Tron/Stellar/etc utilize a standard MPC wallet under the hood, which doesn’t support gas sponsorship in the same way as EVM-based chains.

Supported Networks

This list shows the blockchain networks that Portal supports for account abstraction.
ChainChain IDType
Ethereumeip155:1Mainnet
Ethereum Goerlieip155:5Testnet
Optimism Mainneteip155:10Mainnet
BSC Mainneteip155:56Mainnet
Gnosis Mainneteip155:100Mainnet
Polygon Mainneteip155:137Mainnet
opBNB Mainneteip155:204Mainnet
Optimism Goerli Testneteip155:420Testnet
Astar ZKEvmeip155:3776Mainnet
Cyber Mainneteip155:7560Mainnet
Base Mainneteip155:8453Mainnet
Gelato OP Testneteip155:42069Testnet
Arbitrum One Mainneteip155:42161Mainnet
Arbitrum Novaeip155:42170Testnet
Celoeip155:42220Mainnet
Avalanche Fuji Testneteip155:43113Testnet
Avalanche C-Chain Mainneteip155:43114Mainnet
Celo Alfajores Testneteip155:44787Testnet
Linea Testneteip155:59140Testnet
Linea Mainneteip155:59144Mainnet
Polygon Mumbai Testneteip155:80001Testnet
Polygon Amoy Testneteip155:80002Testnet
Blasteip155:81457Mainnet
Base Goerli Testneteip155:84531Testnet
Base Sepolia Testneteip155:84532Testnet
Arbitrum Goerli Testneteip155:421613Testnet
Arbitrum Sepolia Testneteip155:421614Testnet
Astar ZKatana Testneteip155:1261120Testnet
Astar zKyoto Testneteip155:6038361Testnet
Ethereum Sepoliaeip155:11155111Testnet
Optimism Sepolia Testneteip155:11155420Testnet
Polygon Blackberryeip155:94204209Testnet
Cyber Testneteip155:111557560Testnet
OP Celestia Raspberryeip155:123420111Testnet
Blast Sepoliaeip155:168587773Testnet
Degen Mainneteip155:666666666Mainnet
Arbitrum Blueberryeip155:88153591557Testnet
For Solana networks, account abstraction is supported through the use of the feePayer field in transactions.
If you set a policy for a mainnet chain, your account will be charged for gas subsidization even if you are on your Portal Development environment. Please set policies for Testnet chains while you are still building or testing to avoid unnecessary charges.

Generating smart contract wallets for your users

Generating smart contract wallets for your users is incredibly easy with Portal.

Step 1: Get access to the feature

Reach out to the Portal team to request access.

Step 2: Create Clients with Account Abstraction

After Portal enables Account Abstraction for your organization, you are ready to create your first clients. This can be achieved by hitting the Create a new client endpoint with this as the request body:
{
  "isAccountAbstracted": true
}

Step 3: Generate a Smart Contract Address!

Now that you have Account Abstraction enabled for your client, you can use the SDKs as you normally would to create a wallet, back it up, recover it, and sign. Since Account Abstraction is now enabled for the client, the address returned after creating a wallet is a smart contract address. With the completion of the above steps, you would have successfully created a client with Account Abstraction. Congratulations! :tada: You can now proceed to use the Portal SDKs and services as usual.
The client’s smart contract wallet is only deployed upon their first successful eth_sendTransaction request.
The hash from signing with an Account Abstraction client is a user operation hash, not a transaction hash. Use tools like Jiffy Scan to explore user operations.
Clients using Account Abstraction require dApps they interact with to support EIP-1271 for verifying signed messages.

Configure Gas Subsidization Policy

Step 1: Modify Gas Subsidization Policy

In order to configure your Account Abstraction settings, log into the Portal Admin Dashboard. Navigate to the Settings page and scroll down to find the Account Abstraction Configuration section. In the section, you will find multiple rows corresponding to various chains for which you can set gas subsidization policies. To modify a policy, simply click on Edit Policy for the desired chain.

Step 2: Confirm Policy Configuration

Once you have made your desired changes to the gas subsidization policies, ensure you verify and confirm the configurations. Contact our team for more information on billing. Congratulations! 🎉 You will now be sponsoring the gas fees for the client, based on the policies you have set and the chain the client is using.

Support

If you encounter any issues or have questions about the Account Abstraction feature, feel free to reach out to our support team.