Account abstraction

This guide will walk you through the process of configuring Account Abstraction for your organization and your users.

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 sign requests, these transactions are not gas subsidized. This is because AA clients on Solana utilize a standard Solana MPC wallet under the hood, which doesn't support gas sponsorship in the same way as EVM-based chains.

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! 🎉 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. Note that at present, we only support policies in the format Sponsoring x ETH per month (30 days).

We cap monthly ETH sponsorship at 1 ETH. For higher limits, please reach out to us.

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.

Last updated