Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Boosted Paymaster
# Boosted Paymaster [An offchain paymaster that reduces latency by skipping paymaster RPC calls and setting gas fees to zero]

The Boosted paymaster is an offchain paymaster that offers faster execution times and cheaper gas fees due to requiring fewer RPC calls and requiring no paymaster data.

Expand Down
4 changes: 2 additions & 2 deletions docs/pages/guides/conceptual/account-abstraction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Account Abstraction (ERC-4337)
---

# Account Abstraction (ERC-4337)
# Account Abstraction (ERC-4337) [How ERC-4337 lets smart accounts use custom auth, pay gas in any token, and run programmable transaction logic]

Account abstraction is a feature that allows users to customize their Ethereum accounts with smart contract logic. It simplifies the account system by reducing Ethereum's two types of accounts (Externally Owned Accounts and Contract Accounts) to one type - Contract Accounts. The resulting contract accounts can initiate transactions, pay transaction fees, and have more flexibility and security than regular accounts.

Expand Down Expand Up @@ -44,4 +44,4 @@ While all the benefits of account abstraction are already _theoretically_ availa

Pimlico's vision is to be the underlying infrastructure layer that will power Ethereum's transition to smart contract wallets through mass ERC-4337 adoption.

We will initially focus on providing comprehensive infrastructure for two entities, as mentioned earlier: **Bundlers and Paymasters**, two of the most critical pieces of the puzzle missing for wallets building on top of ERC-4337.
We will initially focus on providing comprehensive infrastructure for two entities, as mentioned earlier: **Bundlers and Paymasters**, two of the most critical pieces of the puzzle missing for wallets building on top of ERC-4337.
2 changes: 1 addition & 1 deletion docs/pages/guides/create-api-key.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Create API Key
---

# Create API Key
# Create API Key [How to generate a Pimlico API key via the CLI or dashboard and configure it in your project]

To use Pimlico's services, you'll need an API key. We recommend using our CLI for the quickest setup, but you can also use the dashboard.

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/eip7702/demo.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# EIP-7702 Quickstart — Send a user operation from an EOA
# EIP-7702 Quickstart — Send a user operation from an EOA [Use ERC-4337 with EIP-7702 to send a sponsored user operation whose sender address is your EOA]

This guide showcases a simple demo that uses ERC-4337 and EIP-7702 to send a sponsored user operation from a EOA. We will use SimpleSmartAccount as our smart account implementation of choice, other ERC-7702 compatible smart accounts will work as well.

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/eip7702/erc4337-vs-eip7702.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ERC-4337 vs EIP-7702
# ERC-4337 vs EIP-7702 [Compares the two account abstraction approaches — their mechanisms, trade-offs, and how they complement each other]

This page outlines the key differences and design motivations behind ERC-4337 and EIP-7702 — two distinct approaches to improving smart accounts (also known as "account abstraction") on Ethereum.

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/eip7702/external.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Batch / sponsor transactions for an external wallets
# Batch / sponsor transactions for an external wallets [Use wagmi's sendCalls and an EIP-7702-enabled external wallet to submit a gas-sponsored batch of transactions]

This guide showcases a simple demo that sends a batch of transactions that are sponsored to an external EIP-7702 enabled wallet.

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/eip7702/faqs.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# EIP-7702 FAQs
# EIP-7702 FAQs [Answers common questions about EIP-7702 mechanics, ERC-4337 compatibility, chain support, and Pimlico's implementation]

## What is EIP-7702?

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/eip7702/index.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# EIP-7702
# EIP-7702 [Pectra hardfork proposal that lets EOAs delegate execution to a smart contract, enabling batching, sponsorship, and passkey signers]

EIP-7702 is a proposal set for inclusion in the upcoming 2025 Pectra hardfork. The proposal introduces a new transaction type that allows EOA's to assign a "delegation designator" to their account. The delegation designator points to a smart contract and when a transaction is sent to the EOA, it executes the code at the designated address.

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/getting-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Getting Started with Pimlico
---

# Getting Started with Pimlico
# Getting Started with Pimlico [Send your first sponsored transaction using permissionless.js and Pimlico's bundler and paymaster]

Welcome to Pimlico, the world's most advanced ERC-4337 account abstraction infrastructure platform. This guide will help you understand Pimlico's ecosystem and get you started with building applications using our tools and services.

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/how-to/accounts/comparison.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Difference between various Smart Account types in permissionless.js
# Difference between various Smart Account types in permissionless.js [Side-by-side comparison of Safe, Kernel, Nexus, LightAccount, SimpleAccount, TrustWallet, Etherspot, and Thirdweb across ERC-7579, passkeys, multi-signer, and chain support]

permissionless.js supports 8 types of accounts. Below is an overview of each account type and their key features:

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/how-to/accounts/support.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Account Support
# Account Support [EntryPoint v0.6, v0.7, and v0.8 compatibility matrix for every natively supported account type]

permissionless.js supports 6 types of accounts natively (but can easily be extended to support any compatible ERC-4337 account). The below table details which EntryPoints each account is valid for.

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/how-to/accounts/use-biconomy-account.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# How to create and use a Biconomy account with permissionless.js
# How to create and use a Biconomy account with permissionless.js [Biconomy v2 Smart Account built on Gnosis/Argent concepts, supporting session-key plugins and custom plugin authoring]

[Biconomy Smart Account](https://github.com/bcnmy/scw-contracts) is a smart account building on the core concepts of Gnosis and Argent safes. You can use Biconomy with plugins such as session keys, and even write your own plugins.

Expand Down
4 changes: 2 additions & 2 deletions docs/pages/guides/how-to/accounts/use-coinbase-account.mdx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# How to create and use a Coinbase smart account with permissionless.js
# How to create and use a Coinbase smart account with permissionless.js [Coinbase Smart Wallet via viem's native toCoinbaseSmartAccount, with Pimlico bundler]


:::warning[Warning]
You should still use permissionless to fetch gas prices. As the bundler might not accept the prices fetched from viem. To learn how to use permissionless to fetch gas prices, [check out this guide](/references/permissionless/reference/pimlico-actions/getUserOperationGasPrice#getuseroperationgasprice).
:::

Coinbase smart wallet accounts are supported natively by viem. We recommend using the native viem implementation for which the documentation [can be found here](https://viem.sh/account-abstraction/accounts/smart/toCoinbaseSmartAccount).
Coinbase smart wallet accounts are supported natively by viem. We recommend using the native viem implementation for which the documentation [can be found here](https://viem.sh/account-abstraction/accounts/smart/toCoinbaseSmartAccount).
2 changes: 1 addition & 1 deletion docs/pages/guides/how-to/accounts/use-erc7579-account.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# How to use an ERC-7579 compatible smart account with permissionless.js
# How to use an ERC-7579 compatible smart account with permissionless.js [Install and call ERC-7579 modules on a Safe or Kernel account using permissionless.js's modular account actions]

[ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) defines a standard for modular smart account interfaces. It also defines behavior for interoperability with minimal restrictions for accounts and modules.

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/how-to/accounts/use-kernel-account.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# How to create and use a Kernel account with permissionless.js
# How to create and use a Kernel account with permissionless.js [ZeroDev's gas-efficient ERC-7579 modular account with plugin support for session keys, account recovery, and custom validators]

:::info
ZeroDev, the author of Kernel, maintains their own in-house SDK built closely on top of permissionless.js that you can use for the account system while still plugging in all the other components from permissionless.js. Take a look at [their documentation](https://docs.zerodev.app) for more information.
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/how-to/accounts/use-light-account.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# How to create and use a LightAccount with permissionless.js
# How to create and use a LightAccount with permissionless.js [Alchemy's SimpleAccount-inspired implementation with transferrable ownership and in-place upgradeability]

[LightAccount](https://github.com/alchemyplatform/light-account) is the smart account implementation made by Alchemy and inspired by SimpleAccount.
It has a few additional [features](https://github.com/alchemyplatform/light-account?tab=readme-ov-file#features), such as transferrable ownership and upgradability.
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/how-to/accounts/use-metamask-account.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# How to use MetaMask Smart Accounts with permissionless.js
# How to use MetaMask Smart Accounts with permissionless.js [MetaMask Delegation Toolkit accounts using ERC-7710/ERC-7715 for granular cross-account permission delegation]

:::info
MetaMask maintains their own in-house SDK built closely on top of viem that you can use for the account system while still plugging in all the other components from permissionless.js. Take a look at [their documentation](https://docs.metamask.io/delegation-toolkit/how-to/send-user-operation) for more information.
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/how-to/accounts/use-nexus-account.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# How to create and use a Biconomy Nexus account with permissionless.js
# How to create and use a Biconomy Nexus account with permissionless.js [Biconomy's ERC-7579 modular account with composable session-key plugins and custom module authoring]

[Biconomy Nexus Smart Account](https://github.com/bcnmy/nexus) is a smart account building on the core concepts of ERC-7579. You can use Nexus with plugins such as session keys, and even write your own plugins.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# How to create and use a Safe account with multiple signers
# How to create and use a Safe account with multiple signers [Configure a Safe's m-of-n threshold and supply multiple ECDSA signers to co-sign ERC-4337 user operations]

[Safe](https://safe.global) is the most battle-tested Ethereum smart account provider. With their recent release of their ERC-4337 module, it is now possible to plug in Safe accounts to ERC-4337 bundlers and paymasters. This guide will walk you through how to create and use a Safe account with permissionless.js.

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/how-to/accounts/use-safe-account.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# How to create and use a Safe account with permissionless.js
# How to create and use a Safe account with permissionless.js [Battle-tested Safe v1.4.1+ account with ERC-4337 module, optional ERC-7579 support via safe7579, securing $100B+ in assets]

[Safe](https://safe.global) is the most battle-tested Ethereum smart account provider. With their recent release of their ERC-4337 module, it is now possible to plug in Safe accounts to ERC-4337 bundlers and paymasters. This guide will walk you through how to create and use a Safe account with permissionless.js.

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/how-to/accounts/use-simple-account.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# How to create and use a SimpleAccount with permissionless.js
# How to create and use a SimpleAccount with permissionless.js [Eth-Infinitism's reference ERC-4337 implementation with a single EOA signer and minimal footprint]

[SimpleAccount](https://github.com/eth-infinitism/account-abstraction/blob/develop/contracts/accounts/SimpleAccount.sol) is the original reference sample implementation of an ERC-4337 made by the Eth-Infinitism team. Despite being a reference implementation, it is widely used in production. It allows for a single EOA signer to sign user operations for the account. This guide will show you how to create and use a SimpleAccount with permissionless.js.

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/how-to/accounts/use-thirdweb-account.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# How to create and use a Thirdweb account with permissionless.js
# How to create and use a Thirdweb account with permissionless.js [ERC-4337 smart account backed by Thirdweb's contracts, compatible with EntryPoint v0.6 and v0.7]

## Picking an EntryPoint

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# How to create and use a Trust smart account with permissionless.js
# How to create and use a Trust smart account with permissionless.js [ERC-4337 account using Trust Wallet's Barz contracts, with on-chain security monitoring for every deployed instance]

:::info
[Trust Wallet](https://trustwallet.com/), the author of [Barz](https://github.com/trustwallet/barz), provides a smart contract security monitoring service for each and every Barz deployed on-chain including Barz created by SDK.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# How to debug dropped user operations
# How to debug dropped user operations [Trace silently-dropped user ops through the bundler mempool using the Pimlico dashboard]

If a user operation is dropped in the mempool of the bundler after initially being accepted by it, the error can not be propagated by the bundler to the user. To debug what happened to these user operations, we recommend using the [User Operation Tracking](https://dashboard.pimlico.io/debugging/tracking) page on our dashboard, which will show you the exact flow of the user operation stage-by-stage through Pimlico's bundler with timestamps, including any errors it encounters.

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/how-to/debugging/user-operations.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Debugging User Operations
# Debugging User Operations [Inspect request logs, simulate failures with Tenderly, and trace execution locally with Foundry cast]

When debugging user operations, Pimlico provides powerful tools to help you identify and resolve issues quickly. This guide covers the essential debugging techniques using request logs and the debugging section.

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/how-to/erc20-paymaster/architecture.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ERC-20 Paymaster Architecture
# ERC-20 Paymaster Architecture [How Pimlico support users to pay gas in any ERC-20 token]

:::info
You can view the whole ERC-20 Paymaster contract [in our repository](https://github.com/pimlicolabs).
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ERC-20 Paymaster Contract Addresses
# ERC-20 Paymaster Contract Addresses [Deployed addresses for EntryPoint v0.6, v0.7, and v0.8 across all supported chains]

Below are the contract addresses for the ERC-20 Paymaster contracts that are currently deployed.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pimlico_getTokenQuotes
# pimlico_getTokenQuotes [Returns live ERC-20 exchange rates, postOpGas, and storage slots for use with the ERC-20 Paymaster]

This method returns the tentative token exchange rates used by the ERC-20 Paymaster.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pm_getPaymasterData
# pm_getPaymasterData [Returns signed paymaster fields to attach to a user operation before submission]

This method returns values to be used in paymaster-related fields of a signed user operation. The context parameter can be an object with either a `token` field (for ERC-20 mode) or a `sponsorshipPolicyId` field (for sponsorship mode), or null.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pm_getPaymasterStubData
# pm_getPaymasterStubData [Returns stub paymaster fields for gas estimation on an unsigned user operation]

This method returns stub values to be used in paymaster-related fields of an unsigned user operation for gas estimation. The context parameter can be an object with either a `token` field (for ERC-20 mode) or a `sponsorshipPolicyId` field (for sponsorship mode), or null.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# pm_sponsorUserOperation
# pm_sponsorUserOperation [Sponsors a user operation and returns signed paymaster data plus updated gas limits in one call]

This method sponsors a user operation by providing all necessary paymaster-related fields and updated gas parameters. The context parameter can be an object with either a `token` field (for ERC-20 mode) or a `sponsorshipPolicyId` field (for sponsorship mode), or null.

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/how-to/erc20-paymaster/faqs.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ERC-20 Paymaster FAQs
# ERC-20 Paymaster FAQs [Answers to common questions about how Pimlico's ERC-20 Paymaster works and how to use it]

## What is a paymaster?

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# How to calculate UserOperation's costs using the ERC-20 Paymaster
# How to calculate UserOperation's costs using the ERC-20 Paymaster [Estimate the ERC-20 token and USD cost of a user operation before sending it]

This guide will show you how to estimate your user operation's cost in denomination of the ERC-20 token as well as USD.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# How to use the ERC-20 Paymaster with unlimited token approvals
# How to use the ERC-20 Paymaster with unlimited token approvals [Manually calculate and set a max approval so users never need to re-approve between operations]

When using Pimlico's ERC-20 Paymaster, the paymaster needs approval to spend funds on the payer's behalf. The amount to approve must be atleast equal to the userOperation's maxCost.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# How to use the ERC-20 Paymaster
# How to use the ERC-20 Paymaster [Use prepareUserOperationForErc20Paymaster to auto-inject a precise token approval into each user operation]

This guide will show you how to use the `prepareUserOperationForErc20Paymaster` function in permissionless.

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/how-to/erc20-paymaster/index.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ERC-20 Paymaster
# ERC-20 Paymaster [Pay gas fees in ERC-20 tokens like USDC instead of native ETH using Pimlico's ERC-4337 paymaster]

![Landscape](/erc20paymaster.png)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import SupportedTokens from '../../../../../data/supported-tokens.md'

# Supported Tokens
# Supported Tokens [ERC-20 tokens and chains available for gas payment through Pimlico's ERC-20 Paymaster]

List of tokens that are supported by Pimlico's ERC-20 Paymaster. You can view the list of enabled tokens on your [Pimlico dashboard](https://dashboard.pimlico.io/billing/plan).

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/how-to/gas-programs/claim.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# How to claim a gas grant
# How to claim a gas grant [Redeem an allocated gas grant from a chain operator program on Pimlico]

This guide explains how to claim a gas grant that has been allocated to you through an organization like Arbitrum or Safe on Pimlico.

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/how-to/gas-programs/gas-program.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# How to create a gas program on Pimlico
# How to create a gas program on Pimlico [Set up a chain-operator-funded gas grant program to sponsor developer user operations]

:::info
This guide is for chain operators who want to create a gas program on Pimlico. If you are a developer looking to use a gas program made by someone else or looking to sponsor your own user operations, you should instead look in the [sponsorship policies guide](/guides/how-to/sponsorship-policies).
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/how-to/gas-programs/use.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# How to use the claimed gas grant
# How to use the claimed gas grant [Apply a claimed gas grant as a sponsorship policy to cover user operation gas fees]

## Usage of Sponsorship Policies with permisionless.js

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/how-to/integrations/privy.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Using Pimlico with Privy
# Using Pimlico with Privy [Enable sponsored gas and smart accounts on Privy embedded wallets via Pimlico's bundler and paymaster]

This guide shows you how to enable Smart accounts on your Privy account powered by Pimlico's infrastructure.

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/how-to/migration-guide.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Migration Guide
# Migration Guide [Steps to upgrade from permissionless.js v0.1 to v0.2, covering breaking API changes]

## 0.2.0

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/how-to/parallel-transactions.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# How to send multiple user operations in parallel
# How to send multiple user operations in parallel [Batch calls in a single user operation or dispatch concurrent user ops using permissionless.js]

permissionless.js library lets you to send multiple transactions in parallel. This can be useful if you want to batch multiple calls in a single user operation or if you want to send user operations concurrently.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# How to conditionally sponsor a user operation
# How to conditionally sponsor a user operation [Apply custom logic to decide whether to sponsor each user operation programmatically]

With permissionless.js and Viem, you can conditionally sponsor a user operation. This can be useful in situations like:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Extending sponsorship duration
# Extending sponsorship duration [Configure verifying paymaster signatures to stay valid for up to 24 hours via validForSeconds]

By default, verifying paymaster sponsorships are valid for 10 minutes. It’s now possible to set a custom validity period of up to 24 hours.

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/how-to/security/protect-api-keys.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# How to Protect Your API Keys
# How to Protect Your API Keys [Restrict access, apply sponsorship policies, and proxy requests to secure Pimlico API keys]

Keeping your API keys secure is essential. Here are three main ways to protect them:

Expand Down
Loading
Loading