Skip to content

Commit 92b2233

Browse files
committed
Update Features Section
1 parent 4405fc1 commit 92b2233

35 files changed

+735
-1205
lines changed
Lines changed: 32 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -1,145 +1,52 @@
11
---
2-
title: Account Abstraction
3-
description: "Account Abstraction | Documentation - Web3Auth"
2+
title: Web3Auth's Native Account Abstraction​
3+
sidebar_label: Account Abstraction
4+
description: "Native Account Abstraction | Documentation - Web3Auth"
45
---
56

6-
Account abstraction is a term commonly used to address the use of smart contract wallets. These
7-
smart contract wallets are based on the [ERC-4337](https://eips.ethereum.org/EIPS/eip-4337) which
8-
aims at improving the user onboarding journey and enabling more sophisticated transaction patterns
9-
by abstracting details like validation, gas payment, and execution from the user.
7+
Create and manage smart accounts for your users with just a few lines of code, using Web3Auth’s
8+
native account abstraction. With smart accounts, you can offer enhanced control and programmability,
9+
such as these listed below:
1010

11-
## Web3Auth's Native Account Abstraction
12-
13-
Effortlessly create and manage smart accounts for your users with just a few lines of code, using
14-
our native account abstraction. Additionally, SCWs offer enhanced control and programmability,
15-
enabling features like those listed below.
16-
17-
- Gas Abstraction: Cover transaction fees for users, or allow users to pay for their own
11+
- **Gas Sponsorship:** Cover transaction fees for users, or allow users to pay for their own
1812
transactions using ERC-20 tokens.
19-
- Batch Transactions: Perform multiple transactions in a single call.
20-
- Automated Transactions: Allow users to automate actions, like swapping ETH to USDT when ETH hits
21-
$4,000.
22-
- Set Spending Limits: Allow users to set tailored spending limits.
23-
24-
Our native AA integration streamlines your setup, allowing you to create and manage smart accounts
25-
using your favorite libraries like Viem, Ethers, and Web3.js. With this, you don't need to rely on
26-
third party packages to effortlessly create ERC-4337 compatible Smart Contract Wallets (SCWs), and
27-
give users the ability to perform batch transactions and efficiently manage gas sponsorship.
28-
29-
Web3Auth's native account abstraction gives you the flexibility to choose your preferred account
30-
abstraction provider, configure your bundler client, and integrate your paymaster. Please checkout
31-
our documentation on how [ERC-4337 components](#components-of-erc-4337) work for more information.
32-
33-
## Getting Started
34-
35-
Web3Auth's native account abstraction gives you the flexibility to choose your preferred account
36-
abstraction provider, configure your bundler client, and integrate your paymaster. Learn how to use
37-
[Web3Auth with Account Abstraction](/docs/sdk/pnp/web/providers/aa-provider).
38-
39-
## Components of ERC 4337
40-
41-
Smart contract wallets did exist before ERC 4337 but lacked a standardization across the ecosystem
42-
which reduced the interoperability. ERC 4337 helps to standardize account abstraction across all the
43-
Ethereum compatible chains. ERC 4337 consists of a few main components which help us achieve account
44-
abstraction.
45-
46-
### UserOperation
47-
48-
A UserOperation is the transaction object for the smart contract wallets, and was introduced to
49-
avoid the changes on the EVM. Unlike EOA wallets, where the user signs the transaction, in smart
50-
contract wallets, the user signs a UserOperation.
5113

52-
<details>
53-
<summary> UserOperation Structure </summary>
14+
- **Batch Transactions:** Perform multiple transactions in a single call.
5415

55-
| Field | Type | Description |
56-
| ------------------------------- | --------- | ---------------------------------------------------------------------------------------- |
57-
| `sender` | `address` | The address of the sender smart account |
58-
| `nonce` | `uint256` | Anti-replay parameter |
59-
| `factory` | `address` | Contract address for the Factory contract used to deploy new account, if not deployed. |
60-
| `factoryData` | `bytes` | Data to be used during deploying the new account through Factory. |
61-
| `callData` | `bytes` | The data to pass to the smart account during the main execution phase |
62-
| `callGasLimit` | `uint256` | The amount of gas to allocate the main execution call |
63-
| `verificationGasLimit` | `uint256` | The amount of gas to allocate for the verification step |
64-
| `preVerificationGas` | `uint256` | Extra gas to pay the bundler |
65-
| `maxFeePerGas` | `uint256` | Maximum fee per gas (see [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559)) |
66-
| `maxPriorityFeePerGas` | `uint256` | Maximum priority fee per gas (see EIP-1559) |
67-
| `paymaster` | `address` | Address of paymaster contract. Should be empty if account is paying for the fees itself. |
68-
| `paymasterVerificationGasLimit` | `uint256` | The amount of gas to allocate for the paymaster validation code. |
69-
| `paymasterPostOpGasLimit` | `uint256` | The amount of gas to allocate for the paymaster post-operation code. |
70-
| `paymasterData` | `bytes` | Data for paymaster, only if the paymaster is used |
71-
| `signature` | `bytes` | Data passed into the account to verify authorization |
16+
- **Automated Transactions:** Allow users to automate actions, like swapping ETH to USDT when ETH
17+
hits $4,000.
7218

73-
</details>
19+
- **Set Spending Limits:** Allow users to set tailored spending limits.
7420

75-
### UserOp Mempool
21+
:::note
7622

77-
Mempools for User Operation are separate from the regular blockchain transaction mempool.ERC 4337
78-
introduces an alternative to the mempool, called UserOp Mempool, which helps to keep track of
79-
pending UserOperations. It acts as a waiting room and helps bundlers to keep track of
80-
UserOperations.
23+
Find out more about
24+
[Account Abstraction (ERC 4337)](https://blog.web3auth.io/an-ultimate-guide-to-web3-wallets-externally-owned-account-and-smart-contract-wallet/#introduction-to-eip-4337)
25+
and how it works.
8126

82-
### Bundler
27+
:::
8328

84-
Unlike the RPC nodes responsible for validating the transactions and submitting them to the
85-
blockchain, bundlers are third party nodes that bundles the UserOperations, perform the validation,
86-
and runs the simulations before submitting them on-chain.
87-
88-
The bundler is also responsible to validate that the Paymaster has enough balance to sponsor the gas
89-
fees for the batch transactions. For aggregated UserOperations, the bundler also ensures that the
90-
aggregated signature is created, and the UserOperations are updated with the same. The aggregated
91-
signatures are used to improve the efficiency and scalability of transaction processing by bundler.
92-
93-
### EntryPoint
94-
95-
The EntryPoint contract, as its name suggests, serves as the global singleton that manages
96-
UserOperations by validating and executing them. When a UserOperation is submitted, the EntryPoint
97-
performs the following key tasks:
98-
99-
![EntryPoint](/images/entrypoint.png)
100-
101-
- If the UserOperations are bundled into a single transaction, the EntryPoint validates the
102-
aggregated signature to ensure its validity.
103-
104-
- The EntryPoint checks if the user's account is already deployed. If it isn't, the contract deploys
105-
the account using the CREATE2Factory. Afterwards, the EntryPoint uses the Account contract to
106-
validate the UserOperation.
107-
108-
- If a Paymaster is involved in the UserOperation, the EntryPoint verifies that the Paymaster has
109-
agreed to cover the transaction fees by validating its signature. If no Paymaster is used, the
110-
EntryPoint ensures that the user has sufficient balance to pay for the gas fees.
111-
112-
- After successfully validating the UserOperation and Paymaster details, the EntryPoint proceeds to
113-
execute the transaction.
114-
115-
### Smart Account
29+
## Getting Started
11630

117-
Smart accounts are user facing accounts deployed through the CREATE2Factory. Each smart account
118-
contains a key function called `validateUserOp`, which validates the UserOperation. This function is
119-
triggered by the EntryPoint contract during the operation validation phase.
31+
Our native Account Abstraction (AA) integration simplifies setup, enabling you to create and manage
32+
smart accounts effortlessly with popular libraries like Viem, Ethers, and Web3.js—no need for
33+
third-party packages to achieve ERC-4337 compatibility. We are working closely with different
34+
partners in the account abstraction ecosystem and will provide support for evolving standards like
35+
EIP-7702, ERC-7579 (Modular Accounts), and ERC-7555 (account discovery) as they get finalized.
12036

121-
Beyond basic functionality, smart accounts can incorporate advanced features like account recovery,
122-
autopilot execution, spend limits, and other customizable, programmable capabilities.
37+
:::note
12338

124-
### Paymaster
39+
Getting started is easy; you just have to select your preferred smart account provider, configure
40+
your bundler client, and integrate your paymaster.
41+
[See this link for the steps.](/sdk/pnp/web/providers/aa-provider)
12542

126-
The paymaster component of the ERC 4337 is responsible for sponsoring the gas fees for the
127-
UserOperations. The paymaster contract also allows the user to pay the gas fees with the supported
128-
ERC-20 tokens.
43+
:::
12944

130-
The paymaster contract must implement the `validatePaymasterUserOp` function which is called by the
131-
EntryPoint contract during the validation phase. The paymaster also has additional `postOp` function
132-
which is called by the EntryPoint contract after the transaction is executed. This function handles
133-
the additional logic required by the paymaster. For instance, withdraw the ERC-20 token from the
134-
user's account after the transaction is executed.
45+
:::tip
13546

136-
### Aggregator
47+
For a quick configuration tailored to your needs, explore our detailed guides:
13748

138-
As the name suggests, the aggregator contract is responsible for aggregating the signatures of the
139-
UserOperations. The aggregator contract must implement the `aggregateSignatures` function which
140-
takes in a list of signatures and returns the aggregated signature. The signatues are usually
141-
aggregated by the bundler to improve the efficiency and scalability of transaction processing, as it
142-
allows bundler to submit multiple UserOperations in a single transaction.
49+
- [Guide to Sending Gasless Transactions](/guides/sending-gasless-transaction)
50+
- [Guide to Sending Transactions with an ERC-20 Paymaster](/guides/erc20-paymaster)
14351

144-
For validating the aggregated signature, the Aggregator also has the `validateSignatures` function
145-
used by the EntryPoint contract during the validation phase.
52+
:::
Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
2-
title: Connect Web3Auth to Any Chain
2+
title: Connect Web3Auth to Any Blockchain
33
sidebar_label: Compatible Blockchains
4-
description: "Connect Web3Auth to Any Chain | Documentation - Web3Auth"
4+
description: "Connect Web3Auth to Any Blockchain | Documentation - Web3Auth"
55
---
66

77
import EVMChains from "@site/src/common/docs/_evm-chains.mdx";
@@ -23,23 +23,20 @@ connect different blockchains with Web3Auth.
2323
Explore our comprehensive guides for integrating Web3Auth with various blockchain networks. We
2424
provide detailed documentation for both EVM and non-EVM chains across multiple Web3Auth providers.
2525

26-
### EVM Chain Guides
27-
28-
<EVMChains />
26+
:::info Can’t Find Your Chain?
2927

30-
### Non EVM Chain guides
28+
Web3Auth officially supports the secp256k1 and ed25519 key curves. However, with Plug and Play SDKs,
29+
you can convert the key curves into your specific requirements.
3130

32-
<OtherChains />
31+
Please follow our guide on how to
32+
[**connect to any Non EVM Blockchain**](/connect-blockchain/other/) with Web3Auth.
3333

34-
## Can’t Find Your Chain?
34+
:::
3535

36-
Web3Auth supports the secp256k1 and ed25519 key curves, please follow these guides on how to
37-
[connect to any other blockchain](/connect-blockchain/other/) with Web3Auth.
36+
### EVM Chain Guides
3837

39-
### Extending beyond default curves
38+
<EVMChains />
4039

41-
Our SFA and PnP SDKs support additional curves, allowing integration with blockchains that have
42-
unique curve requirements. This broadens compatibility and flexibility across ecosystems.
40+
### Non EVM Chain Guides
4341

44-
Use the [CommonPrivateKeyProvider](/sdk/pnp/web/providers/common) to connect to any blockchain that
45-
uses a different curve than secp256k1 or ed25519.
42+
<OtherChains />

docs/features/custom-authentication.mdx

Lines changed: 56 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,47 @@
11
---
2-
title: Custom Authentication
2+
title: Use your own Authentication with Web3Auth
33
image: "images/docs-meta-cards/documentation-card.png"
4-
5-
description: "Custom Authentication | Documentation - Web3Auth"
4+
sidebar_label: Custom Authentication
5+
description: "Use your own Authentication | Documentation - Web3Auth"
66
---
77

88
import BYOCustomJWTTiles from "@site/src/common/docs/_byo-custom-jwt-providers.mdx";
99
import FederatedTiles from "@site/src/common/docs/_federated-providers.mdx";
1010
import SocialTiles from "@site/src/common/docs/_social-login-providers.mdx";
1111

12-
# Custom Authentication with Web3Auth
12+
Custom Authentication enables you to create tailored auth flows designed specifically for your app.
13+
Whether you’re migrating from an existing system or starting fresh, we’ve got you covered.
14+
15+
## Authentication Methods
16+
17+
### 1. Web3Auth's Built-in Social Logins
18+
19+
Web3Auth provides pre-built social login solutions that work out of the box. These use Web3Auth's
20+
internal credentials and require minimal setup:
21+
22+
- Ready-to-use implementation
23+
- Quick integration
24+
- Managed by Web3Auth
25+
- Limited customization options
26+
- Best for rapid prototyping and simple applications
27+
28+
:::warning
29+
30+
If you opt for prebuilt social login providers, migration to custom authentication will not be
31+
possible in the future.
32+
33+
:::
1334

14-
Custom Authentication represents a pivotal feature within Web3Auth, enabling the integration of
15-
bespoke authentication flows into your application. This approach is recommended for those seeking
16-
to move beyond Web3Auth's standard authentication modal, offering a more tailored and comprehensive
17-
user experience. It empowers developers to craft authentication flows that are not only unique to
18-
their applications but also align with the nuanced needs of their user base.
35+
### 2. Custom Authentication (Recommended)
36+
37+
Custom Authentication offers more flexibility by allowing you to:
38+
39+
- Use your own credentials for social logins
40+
- Integrate your existing authentication system
41+
- Connect third-party identity providers (Auth0, Cognito, etc.)
42+
- Maintain full control over the authentication flow
43+
- Create custom user experiences
44+
- Handle complex authentication requirements
1945

2046
:::note
2147

@@ -26,36 +52,34 @@ feature for projects on `sapphire_devnet` for free.
2652

2753
:::
2854

55+
### 3. Grouped Custom Authentication
56+
57+
This method combines multiple authentication providers under a single
58+
[aggregate verifier](/auth-provider-setup/aggregate-verifier), enabling:
59+
60+
- Same private key generation across different login methods
61+
- User account linking across multiple providers
62+
- Unified authentication experience
63+
- Single user identity with multiple login options
64+
- Seamless transition between authentication methods
65+
2966
:::tip
3067

3168
Check out our reference on [Auth Provider Setup](/auth-provider-setup) for a detailed guide on how
3269
to set up your custom authentication.
3370

3471
:::
3572

36-
## Advantages of Custom Authentication
37-
38-
- **Enhanced User Experience:** Custom Authentication ensures a seamless journey for users from the
39-
start of the authentication process to its completion, maintaining consistency with your
40-
application's design and workflow.
41-
- **Customizable User Data Collection:** It allows for the customization of the data collected from
42-
users during the authentication process, enabling you to tailor onboarding and user management
43-
according to your specific requirements.
44-
- **Seamless User Migration:** For applications transitioning to Web3Auth, Custom Authentication
45-
facilitates the migration of existing user bases without necessitating the creation of new
46-
accounts, thereby preserving user continuity.
47-
48-
## Implementation Across Web3Auth Products
49-
50-
- **Plug and Play SDKs:** While Custom Authentication remains an optional feature for Plug and Play
51-
SDKs, it's highly recommended for developers looking to provide a unique user experience and meet
52-
specific authentication requirements.
53-
- **Core Kit SDKs:** Custom Authentication is a fundamental requirement for Core Kit SDKs,
54-
underscoring the need for bespoke authentication flows that align with the specific needs of the
55-
application and its users.
56-
- **Wallet Ecosystems:** Currently, Wallet Ecosystem integrations do not support Custom
57-
Authentication. These ecosystems leverage predefined authentication mechanisms specific to each
58-
wallet platform.
73+
## Why Choose Custom Authentication?
74+
75+
- **Effortless User Migration:** Transition existing users seamlessly while setting up wallets
76+
without requiring new accounts.
77+
78+
- **Native Experience:** Deliver an authentication flow that feels fully integrated with your app,
79+
avoiding redirects to Web3Auth screens.
80+
81+
- **Greater Control:** Own the authentication process, giving you flexibility to switch between SDKs
82+
and providers as needed.
5983

6084
## Supported Login Providers
6185

docs/features/ecosystem-wallets.mdx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,11 @@ single user identity across multiple apps, providing one wallet for your entire
2020
- **Gasless**: Upgrade to a smart contract wallet spun from an EOA, combining the benefits of MPC
2121
(Multi-Party Computation) and smart wallets for a frictionless user experience.
2222

23-
### Get Started
23+
:::info Get Started
2424

2525
Try the Wallet Ecosystem on devnet today. For pricing details and setup support, schedule a call
2626
with our sales team [here](https://calendly.com/web3auth/meeting-with-web3auth).
2727

28+
:::
29+
2830
![Ecosystem Wallets](/images/wallet-ecosystem-offerings.png)

0 commit comments

Comments
 (0)