From afe8c445d25d5c3d3baeb05991966a5cca080efe Mon Sep 17 00:00:00 2001 From: plusminushalf Date: Thu, 21 May 2026 18:01:28 +0100 Subject: [PATCH 1/3] Add description for better llms.txt --- .../guides/boosted-paymaster/use-boosted-paymaster.mdx | 2 +- docs/pages/guides/conceptual/account-abstraction.mdx | 4 ++-- docs/pages/guides/create-api-key.mdx | 2 +- docs/pages/guides/eip7702/demo.mdx | 2 +- docs/pages/guides/eip7702/erc4337-vs-eip7702.mdx | 2 +- docs/pages/guides/eip7702/external.mdx | 2 +- docs/pages/guides/eip7702/faqs.mdx | 2 +- docs/pages/guides/eip7702/index.mdx | 2 +- docs/pages/guides/getting-started.mdx | 2 +- docs/pages/guides/how-to/accounts/comparison.mdx | 2 +- docs/pages/guides/how-to/accounts/support.mdx | 2 +- docs/pages/guides/how-to/accounts/use-biconomy-account.mdx | 2 +- docs/pages/guides/how-to/accounts/use-coinbase-account.mdx | 4 ++-- docs/pages/guides/how-to/accounts/use-erc7579-account.mdx | 2 +- docs/pages/guides/how-to/accounts/use-kernel-account.mdx | 2 +- docs/pages/guides/how-to/accounts/use-light-account.mdx | 2 +- docs/pages/guides/how-to/accounts/use-metamask-account.mdx | 2 +- docs/pages/guides/how-to/accounts/use-nexus-account.mdx | 2 +- .../accounts/use-safe-account-with-multiple-signers.mdx | 2 +- docs/pages/guides/how-to/accounts/use-safe-account.mdx | 2 +- docs/pages/guides/how-to/accounts/use-simple-account.mdx | 2 +- docs/pages/guides/how-to/accounts/use-thirdweb-account.mdx | 2 +- .../guides/how-to/accounts/use-trustwallet-account.mdx | 2 +- .../guides/how-to/debugging/dropped-user-operations.mdx | 2 +- docs/pages/guides/how-to/debugging/user-operations.mdx | 2 +- docs/pages/guides/how-to/erc20-paymaster/architecture.mdx | 2 +- .../guides/how-to/erc20-paymaster/contract-addresses.mdx | 2 +- .../erc20-paymaster/endpoints/pimlico_getTokenQuotes.mdx | 2 +- .../erc20-paymaster/endpoints/pm_getPaymasterData.mdx | 2 +- .../erc20-paymaster/endpoints/pm_getPaymasterStubData.mdx | 2 +- .../erc20-paymaster/endpoints/pm_sponsorUserOperation.mdx | 2 +- docs/pages/guides/how-to/erc20-paymaster/faqs.mdx | 2 +- .../how-to/erc20-paymaster/how-to/calculate-costs.mdx | 2 +- .../how-to/use-paymaster-with-unlimited-approval.mdx | 2 +- .../guides/how-to/erc20-paymaster/how-to/use-paymaster.mdx | 2 +- docs/pages/guides/how-to/erc20-paymaster/index.mdx | 2 +- .../guides/how-to/erc20-paymaster/supported-tokens.mdx | 2 +- docs/pages/guides/how-to/gas-programs/claim.mdx | 2 +- docs/pages/guides/how-to/gas-programs/gas-program.mdx | 2 +- docs/pages/guides/how-to/gas-programs/use.mdx | 2 +- docs/pages/guides/how-to/integrations/privy.mdx | 2 +- docs/pages/guides/how-to/migration-guide.mdx | 2 +- docs/pages/guides/how-to/parallel-transactions.mdx | 2 +- .../guides/how-to/paymasters/conditional-sponsoring.mdx | 2 +- .../how-to/paymasters/extending-sponsorship-duration.mdx | 2 +- docs/pages/guides/how-to/security/protect-api-keys.mdx | 2 +- docs/pages/guides/how-to/signers/dfns.mdx | 2 +- docs/pages/guides/how-to/signers/dynamic.mdx | 4 ++-- docs/pages/guides/how-to/signers/fireblocks.mdx | 4 ++-- docs/pages/guides/how-to/signers/index.mdx | 4 ++-- docs/pages/guides/how-to/signers/lit-protocol.mdx | 2 +- docs/pages/guides/how-to/signers/magic.mdx | 4 ++-- docs/pages/guides/how-to/signers/openfort.mdx | 2 +- docs/pages/guides/how-to/signers/para.mdx | 2 +- docs/pages/guides/how-to/signers/particle-network.mdx | 2 +- docs/pages/guides/how-to/signers/passkey-server.mdx | 2 +- docs/pages/guides/how-to/signers/passkey.mdx | 4 ++-- docs/pages/guides/how-to/signers/privy.mdx | 2 +- docs/pages/guides/how-to/signers/social-logins.mdx | 2 +- docs/pages/guides/how-to/signers/turnkey.mdx | 2 +- docs/pages/guides/how-to/signers/web3auth.mdx | 2 +- docs/pages/guides/how-to/sponsorship-policies/index.mdx | 2 +- docs/pages/guides/how-to/sponsorship-policies/webhook.mdx | 2 +- docs/pages/guides/how-to/testing/build-bear.mdx | 2 +- docs/pages/guides/how-to/testing/docker.mdx | 2 +- docs/pages/guides/how-to/testing/prool.mdx | 4 ++-- docs/pages/guides/pricing.mdx | 2 +- docs/pages/guides/supported-chains.mdx | 4 ++-- docs/pages/guides/tutorials/index.mdx | 2 +- docs/pages/guides/tutorials/send-transaction.mdx | 2 +- docs/pages/guides/tutorials/tutorial-1.mdx | 2 +- docs/pages/guides/tutorials/tutorial-2.mdx | 2 +- docs/pages/guides/why-pimlico/enterprise.mdx | 2 +- docs/pages/guides/why-pimlico/startups.mdx | 2 +- docs/pages/references/bundler/bundler-error-codes.mdx | 2 +- .../bundler/bundler-errors/chain-not-supported.mdx | 2 +- .../references/bundler/bundler-errors/invalid-api-key.mdx | 2 +- .../bundler/bundler-errors/invalid-discriminator-value.mdx | 2 +- .../references/bundler/bundler-errors/unknown-error.mdx | 2 +- .../bundler/endpoints/eth_estimateUserOperationGas.mdx | 2 +- .../bundler/endpoints/eth_getUserOperationByHash.mdx | 2 +- .../bundler/endpoints/eth_getUserOperationReceipt.mdx | 2 +- .../references/bundler/endpoints/eth_sendUserOperation.mdx | 2 +- .../bundler/endpoints/eth_supportedEntryPoints.mdx | 4 ++-- .../bundler/endpoints/pimlico_getUserOperationGasPrice.mdx | 2 +- .../bundler/endpoints/pimlico_getUserOperationStatus.mdx | 2 +- .../bundler/endpoints/pimlico_simulateAssetChanges.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa10.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa13.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa14.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa15.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa20.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa21.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa22.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa23.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa24.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa25.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa30.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa31.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa32.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa33.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa34.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa40.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa41.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa50.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa51.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa90.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa91.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa92.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa93.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa94.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa95.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa96.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/index.mdx | 2 +- docs/pages/references/bundler/faqs.mdx | 2 +- docs/pages/references/bundler/index.mdx | 2 +- docs/pages/references/bundler/public-endpoint.mdx | 2 +- docs/pages/references/bundler/self-host.mdx | 2 +- docs/pages/references/bundler/testing.mdx | 2 +- docs/pages/references/bundler/usage.mdx | 2 +- .../references/paymaster/erc20-paymaster/architecture.mdx | 2 +- .../paymaster/erc20-paymaster/contract-addresses.mdx | 2 +- .../endpoints/pimlico_getSupportedTokens.mdx | 2 +- .../erc20-paymaster/endpoints/pimlico_getTokenQuotes.mdx | 2 +- .../erc20-paymaster/endpoints/pm_getPaymasterData.mdx | 2 +- .../erc20-paymaster/endpoints/pm_getPaymasterStubData.mdx | 2 +- .../erc20-paymaster/endpoints/pm_sponsorUserOperation.mdx | 2 +- docs/pages/references/paymaster/erc20-paymaster/faqs.mdx | 2 +- docs/pages/references/paymaster/erc20-paymaster/index.mdx | 2 +- .../paymaster/erc20-paymaster/supported-tokens.mdx | 2 +- docs/pages/references/paymaster/index.mdx | 4 ++-- .../paymaster/verifying-paymaster/common-errors.mdx | 4 ++-- .../references/paymaster/verifying-paymaster/endpoints.mdx | 2 +- .../references/paymaster/verifying-paymaster/index.mdx | 2 +- .../references/paymaster/verifying-paymaster/usage.mdx | 2 +- docs/pages/references/permissionless/faqs.mdx | 2 +- .../permissionless/how-to/accounts/comparison.mdx | 2 +- .../references/permissionless/how-to/accounts/support.mdx | 2 +- .../permissionless/how-to/accounts/use-biconomy-account.mdx | 2 +- .../permissionless/how-to/accounts/use-coinbase-account.mdx | 2 +- .../permissionless/how-to/accounts/use-erc7579-account.mdx | 2 +- .../permissionless/how-to/accounts/use-kernel-account.mdx | 2 +- .../permissionless/how-to/accounts/use-light-account.mdx | 2 +- .../permissionless/how-to/accounts/use-nexus-account.mdx | 2 +- .../accounts/use-safe-account-with-multiple-signers.mdx | 2 +- .../permissionless/how-to/accounts/use-safe-account.mdx | 2 +- .../permissionless/how-to/accounts/use-simple-account.mdx | 2 +- .../permissionless/how-to/accounts/use-thirdweb-account.mdx | 2 +- .../how-to/accounts/use-trustwallet-account.mdx | 2 +- .../permissionless/how-to/dapp-gas-sponsorship.mdx | 2 +- .../references/permissionless/how-to/migration-guide.mdx | 2 +- .../permissionless/how-to/parallel-transactions.mdx | 2 +- .../how-to/paymasters/conditional-sponsoring.mdx | 2 +- .../pages/references/permissionless/how-to/signers/dfns.mdx | 2 +- .../references/permissionless/how-to/signers/dynamic.mdx | 2 +- .../references/permissionless/how-to/signers/fireblocks.mdx | 2 +- .../references/permissionless/how-to/signers/index.mdx | 2 +- .../permissionless/how-to/signers/lit-protocol.mdx | 2 +- .../references/permissionless/how-to/signers/magic.mdx | 2 +- .../pages/references/permissionless/how-to/signers/para.mdx | 2 +- .../permissionless/how-to/signers/particle-network.mdx | 2 +- .../permissionless/how-to/signers/passkey-server.mdx | 2 +- .../references/permissionless/how-to/signers/passkey.mdx | 2 +- .../references/permissionless/how-to/signers/privy.mdx | 2 +- .../references/permissionless/how-to/signers/turnkey.mdx | 2 +- .../references/permissionless/how-to/signers/web3auth.mdx | 2 +- .../references/permissionless/how-to/testing/build-bear.mdx | 2 +- .../references/permissionless/how-to/testing/docker.mdx | 2 +- docs/pages/references/permissionless/index.mdx | 6 +++--- .../reference/accounts/to7702KernelSmartAccount.mdx | 2 +- .../reference/accounts/to7702SimpleSmartAccount.mdx | 2 +- .../reference/accounts/toKernelSmartAccount.mdx | 2 +- .../reference/accounts/toLightSmartAccount.mdx | 2 +- .../reference/accounts/toNexusSmartAccount.mdx | 2 +- .../reference/accounts/toSafeSmartAccount.mdx | 2 +- .../reference/accounts/toSimpleSmartAccount.mdx | 2 +- .../reference/accounts/toTrustSmartAccount.mdx | 2 +- .../permissionless/reference/clients/pimlicoClient.mdx | 2 +- .../permissionless/reference/clients/smartAccountClient.mdx | 2 +- .../permissionless/reference/erc7579-actions/accountId.mdx | 2 +- .../reference/erc7579-actions/installModule.mdx | 2 +- .../reference/erc7579-actions/isModuleInstalled.mdx | 2 +- .../reference/erc7579-actions/supportsExecutionMode.mdx | 2 +- .../reference/erc7579-actions/supportsModule.mdx | 2 +- .../reference/erc7579-actions/uninstallModule.mdx | 2 +- docs/pages/references/permissionless/reference/index.mdx | 2 +- .../reference/pimlico-actions/getPaymasterData.mdx | 2 +- .../reference/pimlico-actions/getPaymasterStubData.mdx | 2 +- .../reference/pimlico-actions/getUserOperationGasPrice.mdx | 2 +- .../reference/pimlico-actions/getUserOperationStatus.mdx | 2 +- .../pimlico-actions/validateSponsorshipPolicies.mdx | 2 +- .../reference/public-actions/getAccountNonce.mdx | 2 +- .../reference/public-actions/getSenderAddress.mdx | 2 +- .../smart-account-actions/estimateUserOperationGas.mdx | 2 +- .../reference/smart-account-actions/getChainId.mdx | 2 +- .../smart-account-actions/getSupportedEntryPoints.mdx | 2 +- .../reference/smart-account-actions/getUserOperation.mdx | 2 +- .../smart-account-actions/getUserOperationReceipt.mdx | 2 +- .../smart-account-actions/prepareUserOperation.mdx | 2 +- .../reference/smart-account-actions/sendTransaction.mdx | 2 +- .../reference/smart-account-actions/sendUserOperation.mdx | 2 +- .../smart-account-actions/waitForUserOperationReceipt.mdx | 2 +- .../reference/smart-account-actions/writeContract.mdx | 2 +- .../permissionless/reference/utils/getRequiredPrefund.mdx | 2 +- docs/pages/references/permissionless/tutorial/index.mdx | 2 +- .../pages/references/permissionless/tutorial/tutorial-1.mdx | 2 +- .../pages/references/permissionless/tutorial/tutorial-2.mdx | 2 +- .../v0_1/experimental/eip7677/getPaymasterData.mdx | 2 +- .../v0_1/experimental/eip7677/getPaymasterStubData.mdx | 2 +- docs/pages/references/permissionless/v0_1/faqs.mdx | 2 +- .../permissionless/v0_1/how-to/accounts/support.mdx | 2 +- .../v0_1/how-to/accounts/use-biconomy-account.mdx | 2 +- .../v0_1/how-to/accounts/use-erc7579-account.mdx | 2 +- .../v0_1/how-to/accounts/use-kernel-account.mdx | 2 +- .../v0_1/how-to/accounts/use-light-account.mdx | 2 +- .../v0_1/how-to/accounts/use-safe-account.mdx | 2 +- .../v0_1/how-to/accounts/use-simple-account.mdx | 2 +- .../v0_1/how-to/accounts/use-trustwallet-account.mdx | 2 +- .../permissionless/v0_1/how-to/dapp-gas-sponsorship.mdx | 2 +- .../permissionless/v0_1/how-to/error-handling.mdx | 2 +- .../references/permissionless/v0_1/how-to/local-testing.mdx | 2 +- .../permissionless/v0_1/how-to/migration-guide.mdx | 2 +- .../permissionless/v0_1/how-to/parallel-transactions.mdx | 2 +- .../v0_1/how-to/paymasters/conditional-sponsoring.mdx | 2 +- .../references/permissionless/v0_1/how-to/signers/dfns.mdx | 2 +- .../permissionless/v0_1/how-to/signers/dynamic.mdx | 2 +- .../permissionless/v0_1/how-to/signers/fireblocks.mdx | 2 +- .../references/permissionless/v0_1/how-to/signers/index.mdx | 2 +- .../permissionless/v0_1/how-to/signers/lit-protocol.mdx | 2 +- .../references/permissionless/v0_1/how-to/signers/magic.mdx | 2 +- .../references/permissionless/v0_1/how-to/signers/para.mdx | 2 +- .../permissionless/v0_1/how-to/signers/particle-network.mdx | 2 +- .../references/permissionless/v0_1/how-to/signers/privy.mdx | 2 +- .../permissionless/v0_1/how-to/signers/turnkey.mdx | 2 +- .../permissionless/v0_1/how-to/signers/web3auth.mdx | 2 +- docs/pages/references/permissionless/v0_1/index.mdx | 6 +++--- .../v0_1/reference/accounts/signerToKernelSmartAccount.mdx | 2 +- .../v0_1/reference/accounts/signerToLightSmartAccount.mdx | 2 +- .../v0_1/reference/accounts/signerToSafeSmartAccount.mdx | 2 +- .../v0_1/reference/accounts/signerToSimpleSmartAccount.mdx | 2 +- .../v0_1/reference/accounts/signerToTrustSmartAccount.mdx | 2 +- .../reference/bundler-actions/estimateUserOperationGas.mdx | 2 +- .../reference/bundler-actions/getUserOperationByHash.mdx | 2 +- .../reference/bundler-actions/getUserOperationReceipt.mdx | 2 +- .../v0_1/reference/bundler-actions/sendUserOperation.mdx | 2 +- .../v0_1/reference/bundler-actions/supportedEntryPoints.mdx | 2 +- .../bundler-actions/waitForUserOperationReceipt.mdx | 2 +- .../permissionless/v0_1/reference/clients/bundlerClient.mdx | 2 +- .../v0_1/reference/clients/pimlicoBundlerClient.mdx | 2 +- .../v0_1/reference/clients/pimlicoPaymasterClient.mdx | 2 +- .../v0_1/reference/clients/smartAccountClient.mdx | 2 +- .../v0_1/reference/erc7579-actions/accountId.mdx | 2 +- .../v0_1/reference/erc7579-actions/installModule.mdx | 2 +- .../v0_1/reference/erc7579-actions/isModuleInstalled.mdx | 2 +- .../reference/erc7579-actions/supportsExecutionMode.mdx | 2 +- .../v0_1/reference/erc7579-actions/supportsModule.mdx | 2 +- .../v0_1/reference/erc7579-actions/uninstallModule.mdx | 2 +- .../references/permissionless/v0_1/reference/index.mdx | 2 +- .../pimlico-bundler-actions/getUserOperationGasPrice.mdx | 2 +- .../pimlico-bundler-actions/getUserOperationStatus.mdx | 2 +- .../pimlico-paymaster-actions/sponsorUserOperation.mdx | 2 +- .../validateSponsorshipPolicies.mdx | 2 +- .../v0_1/reference/public-actions/getAccountNonce.mdx | 2 +- .../v0_1/reference/public-actions/getSenderAddress.mdx | 2 +- .../v0_1/reference/smart-account-actions/deployContract.mdx | 2 +- .../smart-account-actions/prepareUserOperationRequest.mdx | 2 +- .../reference/smart-account-actions/sendTransaction.mdx | 2 +- .../reference/smart-account-actions/sendTransactions.mdx | 2 +- .../reference/smart-account-actions/sendUserOperation.mdx | 2 +- .../v0_1/reference/smart-account-actions/signMessage.mdx | 2 +- .../v0_1/reference/smart-account-actions/signTypedData.mdx | 2 +- .../v0_1/reference/smart-account-actions/writeContract.mdx | 2 +- .../v0_1/reference/utils/getRequiredPrefund.mdx | 2 +- .../v0_1/reference/utils/getUserOperationHash.mdx | 2 +- .../v0_1/reference/utils/providerToSmartAccountSigner.mdx | 2 +- .../v0_1/reference/utils/signUserOperationHashWithECDSA.mdx | 2 +- .../reference/utils/walletClientToSmartAccountSigner.mdx | 2 +- .../pages/references/permissionless/v0_1/tutorial/index.mdx | 2 +- .../references/permissionless/v0_1/tutorial/tutorial-1.mdx | 2 +- .../references/permissionless/v0_1/tutorial/tutorial-2.mdx | 2 +- .../permissionless/wagmi/how-to/check-paymaster-support.mdx | 2 +- docs/pages/references/permissionless/wagmi/index.mdx | 6 +++--- .../reference/configuration/PermissionlessProvider.mdx | 2 +- .../wagmi/reference/hooks/useSendTransaction.mdx | 2 +- .../wagmi/reference/hooks/useWaitForTransactionReceipt.mdx | 2 +- .../references/permissionless/wagmi/tutorial/index.mdx | 2 +- .../references/permissionless/wagmi/tutorial/tutorial-1.mdx | 2 +- docs/pages/references/platform/api/pagination.mdx | 2 +- .../references/platform/api/sponsorship-policies/create.mdx | 2 +- .../references/platform/api/sponsorship-policies/index.mdx | 2 +- .../references/platform/api/sponsorship-policies/list.mdx | 2 +- .../references/platform/api/sponsorship-policies/object.mdx | 2 +- .../platform/api/sponsorship-policies/retrieve.mdx | 2 +- .../references/platform/api/sponsorship-policies/update.mdx | 2 +- docs/pages/references/platform/api/upgrade.mdx | 2 +- docs/pages/references/platform/index.mdx | 2 +- 296 files changed, 314 insertions(+), 314 deletions(-) diff --git a/docs/pages/guides/boosted-paymaster/use-boosted-paymaster.mdx b/docs/pages/guides/boosted-paymaster/use-boosted-paymaster.mdx index 27976be8..eae8f8c2 100644 --- a/docs/pages/guides/boosted-paymaster/use-boosted-paymaster.mdx +++ b/docs/pages/guides/boosted-paymaster/use-boosted-paymaster.mdx @@ -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. diff --git a/docs/pages/guides/conceptual/account-abstraction.mdx b/docs/pages/guides/conceptual/account-abstraction.mdx index 649a4b2d..d1176bcb 100644 --- a/docs/pages/guides/conceptual/account-abstraction.mdx +++ b/docs/pages/guides/conceptual/account-abstraction.mdx @@ -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. @@ -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. \ No newline at end of file +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. diff --git a/docs/pages/guides/create-api-key.mdx b/docs/pages/guides/create-api-key.mdx index dbaf66b9..133b11fb 100644 --- a/docs/pages/guides/create-api-key.mdx +++ b/docs/pages/guides/create-api-key.mdx @@ -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. diff --git a/docs/pages/guides/eip7702/demo.mdx b/docs/pages/guides/eip7702/demo.mdx index a2c11c3f..0b468cc0 100644 --- a/docs/pages/guides/eip7702/demo.mdx +++ b/docs/pages/guides/eip7702/demo.mdx @@ -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. diff --git a/docs/pages/guides/eip7702/erc4337-vs-eip7702.mdx b/docs/pages/guides/eip7702/erc4337-vs-eip7702.mdx index 867877ed..76c9759d 100644 --- a/docs/pages/guides/eip7702/erc4337-vs-eip7702.mdx +++ b/docs/pages/guides/eip7702/erc4337-vs-eip7702.mdx @@ -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. diff --git a/docs/pages/guides/eip7702/external.mdx b/docs/pages/guides/eip7702/external.mdx index 56f41bbc..26e4859d 100644 --- a/docs/pages/guides/eip7702/external.mdx +++ b/docs/pages/guides/eip7702/external.mdx @@ -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. diff --git a/docs/pages/guides/eip7702/faqs.mdx b/docs/pages/guides/eip7702/faqs.mdx index 8bb0a81e..5264177c 100644 --- a/docs/pages/guides/eip7702/faqs.mdx +++ b/docs/pages/guides/eip7702/faqs.mdx @@ -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? diff --git a/docs/pages/guides/eip7702/index.mdx b/docs/pages/guides/eip7702/index.mdx index 736299e0..03cb7d61 100644 --- a/docs/pages/guides/eip7702/index.mdx +++ b/docs/pages/guides/eip7702/index.mdx @@ -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. diff --git a/docs/pages/guides/getting-started.mdx b/docs/pages/guides/getting-started.mdx index ebf87770..80fc8efb 100644 --- a/docs/pages/guides/getting-started.mdx +++ b/docs/pages/guides/getting-started.mdx @@ -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. diff --git a/docs/pages/guides/how-to/accounts/comparison.mdx b/docs/pages/guides/how-to/accounts/comparison.mdx index 88de8172..2eee3373 100644 --- a/docs/pages/guides/how-to/accounts/comparison.mdx +++ b/docs/pages/guides/how-to/accounts/comparison.mdx @@ -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: diff --git a/docs/pages/guides/how-to/accounts/support.mdx b/docs/pages/guides/how-to/accounts/support.mdx index 614812f9..2f08f441 100644 --- a/docs/pages/guides/how-to/accounts/support.mdx +++ b/docs/pages/guides/how-to/accounts/support.mdx @@ -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. diff --git a/docs/pages/guides/how-to/accounts/use-biconomy-account.mdx b/docs/pages/guides/how-to/accounts/use-biconomy-account.mdx index 17ce1a44..ab4957df 100644 --- a/docs/pages/guides/how-to/accounts/use-biconomy-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-biconomy-account.mdx @@ -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. diff --git a/docs/pages/guides/how-to/accounts/use-coinbase-account.mdx b/docs/pages/guides/how-to/accounts/use-coinbase-account.mdx index cc75dae6..54b1eeda 100644 --- a/docs/pages/guides/how-to/accounts/use-coinbase-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-coinbase-account.mdx @@ -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). \ No newline at end of file +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). diff --git a/docs/pages/guides/how-to/accounts/use-erc7579-account.mdx b/docs/pages/guides/how-to/accounts/use-erc7579-account.mdx index ded8fe5c..6ee3bd0c 100644 --- a/docs/pages/guides/how-to/accounts/use-erc7579-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-erc7579-account.mdx @@ -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. diff --git a/docs/pages/guides/how-to/accounts/use-kernel-account.mdx b/docs/pages/guides/how-to/accounts/use-kernel-account.mdx index 4292ee2b..fa5f9341 100644 --- a/docs/pages/guides/how-to/accounts/use-kernel-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-kernel-account.mdx @@ -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. diff --git a/docs/pages/guides/how-to/accounts/use-light-account.mdx b/docs/pages/guides/how-to/accounts/use-light-account.mdx index 27e11f09..6c5564f6 100644 --- a/docs/pages/guides/how-to/accounts/use-light-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-light-account.mdx @@ -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. diff --git a/docs/pages/guides/how-to/accounts/use-metamask-account.mdx b/docs/pages/guides/how-to/accounts/use-metamask-account.mdx index 71c0790c..4e9d3456 100644 --- a/docs/pages/guides/how-to/accounts/use-metamask-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-metamask-account.mdx @@ -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. diff --git a/docs/pages/guides/how-to/accounts/use-nexus-account.mdx b/docs/pages/guides/how-to/accounts/use-nexus-account.mdx index cfaa982c..ef2f03bc 100644 --- a/docs/pages/guides/how-to/accounts/use-nexus-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-nexus-account.mdx @@ -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. diff --git a/docs/pages/guides/how-to/accounts/use-safe-account-with-multiple-signers.mdx b/docs/pages/guides/how-to/accounts/use-safe-account-with-multiple-signers.mdx index 3aa3aa44..9c517382 100644 --- a/docs/pages/guides/how-to/accounts/use-safe-account-with-multiple-signers.mdx +++ b/docs/pages/guides/how-to/accounts/use-safe-account-with-multiple-signers.mdx @@ -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. diff --git a/docs/pages/guides/how-to/accounts/use-safe-account.mdx b/docs/pages/guides/how-to/accounts/use-safe-account.mdx index 170b7b8b..4a452d45 100644 --- a/docs/pages/guides/how-to/accounts/use-safe-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-safe-account.mdx @@ -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. diff --git a/docs/pages/guides/how-to/accounts/use-simple-account.mdx b/docs/pages/guides/how-to/accounts/use-simple-account.mdx index 6f72cbea..0061d404 100644 --- a/docs/pages/guides/how-to/accounts/use-simple-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-simple-account.mdx @@ -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. diff --git a/docs/pages/guides/how-to/accounts/use-thirdweb-account.mdx b/docs/pages/guides/how-to/accounts/use-thirdweb-account.mdx index 0fbcd838..b68691ce 100644 --- a/docs/pages/guides/how-to/accounts/use-thirdweb-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-thirdweb-account.mdx @@ -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 diff --git a/docs/pages/guides/how-to/accounts/use-trustwallet-account.mdx b/docs/pages/guides/how-to/accounts/use-trustwallet-account.mdx index 3781b3d1..00f92bd3 100644 --- a/docs/pages/guides/how-to/accounts/use-trustwallet-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-trustwallet-account.mdx @@ -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. diff --git a/docs/pages/guides/how-to/debugging/dropped-user-operations.mdx b/docs/pages/guides/how-to/debugging/dropped-user-operations.mdx index 76977735..071bd1ae 100644 --- a/docs/pages/guides/how-to/debugging/dropped-user-operations.mdx +++ b/docs/pages/guides/how-to/debugging/dropped-user-operations.mdx @@ -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. diff --git a/docs/pages/guides/how-to/debugging/user-operations.mdx b/docs/pages/guides/how-to/debugging/user-operations.mdx index 7fda5934..33c9e87c 100644 --- a/docs/pages/guides/how-to/debugging/user-operations.mdx +++ b/docs/pages/guides/how-to/debugging/user-operations.mdx @@ -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. diff --git a/docs/pages/guides/how-to/erc20-paymaster/architecture.mdx b/docs/pages/guides/how-to/erc20-paymaster/architecture.mdx index c77f8cf9..58c661d6 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/architecture.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/architecture.mdx @@ -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). diff --git a/docs/pages/guides/how-to/erc20-paymaster/contract-addresses.mdx b/docs/pages/guides/how-to/erc20-paymaster/contract-addresses.mdx index ceceabec..20f4c1e1 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/contract-addresses.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/contract-addresses.mdx @@ -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. diff --git a/docs/pages/guides/how-to/erc20-paymaster/endpoints/pimlico_getTokenQuotes.mdx b/docs/pages/guides/how-to/erc20-paymaster/endpoints/pimlico_getTokenQuotes.mdx index b93c1d47..628b7b2c 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/endpoints/pimlico_getTokenQuotes.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/endpoints/pimlico_getTokenQuotes.mdx @@ -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. diff --git a/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_getPaymasterData.mdx b/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_getPaymasterData.mdx index 212c2533..ff4ebc52 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_getPaymasterData.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_getPaymasterData.mdx @@ -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. diff --git a/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_getPaymasterStubData.mdx b/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_getPaymasterStubData.mdx index 2cfa4813..d533bee2 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_getPaymasterStubData.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_getPaymasterStubData.mdx @@ -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. diff --git a/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_sponsorUserOperation.mdx b/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_sponsorUserOperation.mdx index 82e489f8..f3b8496a 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_sponsorUserOperation.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_sponsorUserOperation.mdx @@ -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. diff --git a/docs/pages/guides/how-to/erc20-paymaster/faqs.mdx b/docs/pages/guides/how-to/erc20-paymaster/faqs.mdx index f7ab208f..951d604c 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/faqs.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/faqs.mdx @@ -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? diff --git a/docs/pages/guides/how-to/erc20-paymaster/how-to/calculate-costs.mdx b/docs/pages/guides/how-to/erc20-paymaster/how-to/calculate-costs.mdx index 62f9b80a..d356c596 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/how-to/calculate-costs.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/how-to/calculate-costs.mdx @@ -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. diff --git a/docs/pages/guides/how-to/erc20-paymaster/how-to/use-paymaster-with-unlimited-approval.mdx b/docs/pages/guides/how-to/erc20-paymaster/how-to/use-paymaster-with-unlimited-approval.mdx index b0b33d86..fa7d30dd 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/how-to/use-paymaster-with-unlimited-approval.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/how-to/use-paymaster-with-unlimited-approval.mdx @@ -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. diff --git a/docs/pages/guides/how-to/erc20-paymaster/how-to/use-paymaster.mdx b/docs/pages/guides/how-to/erc20-paymaster/how-to/use-paymaster.mdx index 899e24a9..0c8aeb6a 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/how-to/use-paymaster.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/how-to/use-paymaster.mdx @@ -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. diff --git a/docs/pages/guides/how-to/erc20-paymaster/index.mdx b/docs/pages/guides/how-to/erc20-paymaster/index.mdx index 68239e44..1e9f3a73 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/index.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/index.mdx @@ -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) diff --git a/docs/pages/guides/how-to/erc20-paymaster/supported-tokens.mdx b/docs/pages/guides/how-to/erc20-paymaster/supported-tokens.mdx index e107339b..236e01a8 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/supported-tokens.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/supported-tokens.mdx @@ -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). diff --git a/docs/pages/guides/how-to/gas-programs/claim.mdx b/docs/pages/guides/how-to/gas-programs/claim.mdx index ff5582fe..f8f24d71 100644 --- a/docs/pages/guides/how-to/gas-programs/claim.mdx +++ b/docs/pages/guides/how-to/gas-programs/claim.mdx @@ -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. diff --git a/docs/pages/guides/how-to/gas-programs/gas-program.mdx b/docs/pages/guides/how-to/gas-programs/gas-program.mdx index c5a2de98..6815470e 100644 --- a/docs/pages/guides/how-to/gas-programs/gas-program.mdx +++ b/docs/pages/guides/how-to/gas-programs/gas-program.mdx @@ -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). diff --git a/docs/pages/guides/how-to/gas-programs/use.mdx b/docs/pages/guides/how-to/gas-programs/use.mdx index 3ecd33ae..b1bc5d13 100644 --- a/docs/pages/guides/how-to/gas-programs/use.mdx +++ b/docs/pages/guides/how-to/gas-programs/use.mdx @@ -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 diff --git a/docs/pages/guides/how-to/integrations/privy.mdx b/docs/pages/guides/how-to/integrations/privy.mdx index 8977b4ed..2239a672 100644 --- a/docs/pages/guides/how-to/integrations/privy.mdx +++ b/docs/pages/guides/how-to/integrations/privy.mdx @@ -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. diff --git a/docs/pages/guides/how-to/migration-guide.mdx b/docs/pages/guides/how-to/migration-guide.mdx index 6a40605c..d490ca03 100644 --- a/docs/pages/guides/how-to/migration-guide.mdx +++ b/docs/pages/guides/how-to/migration-guide.mdx @@ -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 diff --git a/docs/pages/guides/how-to/parallel-transactions.mdx b/docs/pages/guides/how-to/parallel-transactions.mdx index 8cec23b8..1cf5a008 100644 --- a/docs/pages/guides/how-to/parallel-transactions.mdx +++ b/docs/pages/guides/how-to/parallel-transactions.mdx @@ -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. diff --git a/docs/pages/guides/how-to/paymasters/conditional-sponsoring.mdx b/docs/pages/guides/how-to/paymasters/conditional-sponsoring.mdx index afb8dd94..140a0ba8 100644 --- a/docs/pages/guides/how-to/paymasters/conditional-sponsoring.mdx +++ b/docs/pages/guides/how-to/paymasters/conditional-sponsoring.mdx @@ -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: diff --git a/docs/pages/guides/how-to/paymasters/extending-sponsorship-duration.mdx b/docs/pages/guides/how-to/paymasters/extending-sponsorship-duration.mdx index 8b8a5372..8d798747 100644 --- a/docs/pages/guides/how-to/paymasters/extending-sponsorship-duration.mdx +++ b/docs/pages/guides/how-to/paymasters/extending-sponsorship-duration.mdx @@ -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. diff --git a/docs/pages/guides/how-to/security/protect-api-keys.mdx b/docs/pages/guides/how-to/security/protect-api-keys.mdx index b724171f..f32f7ebe 100644 --- a/docs/pages/guides/how-to/security/protect-api-keys.mdx +++ b/docs/pages/guides/how-to/security/protect-api-keys.mdx @@ -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: diff --git a/docs/pages/guides/how-to/signers/dfns.mdx b/docs/pages/guides/how-to/signers/dfns.mdx index d4472208..5ed2faa9 100644 --- a/docs/pages/guides/how-to/signers/dfns.mdx +++ b/docs/pages/guides/how-to/signers/dfns.mdx @@ -1,6 +1,6 @@ -# How to use a DFNS signer with permissionless.js +# How to use a DFNS signer with permissionless.js [MPC/TSS wallet-as-a-service with biometric WebAuthn key access] [Dfns](https://www.dfns.co/) is an MPC/TSS Wallet-as-a-Service API/SDK provider. Dfns aims to optimize the balance of security and UX by deploying key shares into a decentralized network on the backend while enabling wallet access via biometric open standards on the frontend like Webauthn. Reach out [here](https://www.dfns.co/) to set up a sandbox environment to get started. diff --git a/docs/pages/guides/how-to/signers/dynamic.mdx b/docs/pages/guides/how-to/signers/dynamic.mdx index ba368030..fc026e6c 100644 --- a/docs/pages/guides/how-to/signers/dynamic.mdx +++ b/docs/pages/guides/how-to/signers/dynamic.mdx @@ -1,4 +1,4 @@ -# How to use a Dynamic signer with permissionless.js +# How to use a Dynamic signer with permissionless.js [Embedded wallet with multi-chain social and wallet login] permissionless.js allows you to plug in custom signers to control the accounts that you create. Dynamic is an embedded wallet provider that allows you to easily onboard users to your dapp. It is possible to use Dynamic as a signer with permissionless.js, allowing you to use Dynamic to create and control smart accounts and sign transactions. @@ -106,4 +106,4 @@ const txHash = await smartAccountClient.sendTransaction({ }) ``` -:::: \ No newline at end of file +:::: diff --git a/docs/pages/guides/how-to/signers/fireblocks.mdx b/docs/pages/guides/how-to/signers/fireblocks.mdx index cfe973ca..26c77e48 100644 --- a/docs/pages/guides/how-to/signers/fireblocks.mdx +++ b/docs/pages/guides/how-to/signers/fireblocks.mdx @@ -1,6 +1,6 @@ import SmartAccounts from "./smartAccounts.mdx" -# How to use a Fireblocks signer with permissionless.js +# How to use a Fireblocks signer with permissionless.js [Institutional MPC-CMP custody with policy engine governance] [Fireblocks](https://www.fireblocks.com/) is a user-friendly platform designed for building blockchain-based products and managing digital asset operations. It uses a direct custody approach, combining high performance with zero counterparty risk and multi-layered security. The platform includes secure MPC-based digital asset wallets, a policy engine for governance and transaction rules, and comprehensive treasury management. Fireblocks' security framework features multiple layers, including MPC-CMP technology, secure enclaves, and a robust policy engine, ensuring protection against cyberattacks, internal threats, and human errors. It's widely used for various operations like treasury, trading, and managing NFTs, smart contracts, and user wallets. @@ -23,4 +23,4 @@ After following the Fireblocks documentation, you will have access to a `Fireblo ### Use with permissionless.js - \ No newline at end of file + diff --git a/docs/pages/guides/how-to/signers/index.mdx b/docs/pages/guides/how-to/signers/index.mdx index 1d05a491..5f9184e6 100644 --- a/docs/pages/guides/how-to/signers/index.mdx +++ b/docs/pages/guides/how-to/signers/index.mdx @@ -1,5 +1,5 @@ -# Signers for permissionless.js +# Signers for permissionless.js [Plug in EOAs, embedded wallets, MPC, and passkey signers as smart account owners] Smart accounts are able to define custom authentication and authorization schemes, but still require signatures to validate user operations coming from signers. permissionless.js which accepts `LocalAccount | EIP1193Provider | WalletClient`, that can be passed as an owner to `createSmartAccountClient`. While by default these owners have full control over the smart account, it's possible to define custom roles and permissions for owners, and mix-and-match them to create complex multi-signature schemes, as well as rotate signers and revoke their access. -In addition to pure EOA owners, permissionless.js supports a variety of third-party wallet services as owners for smart accounts. This allows you to leverage the UIs and infrastructure of these services, while still using smart accounts supported by permissionless.js. \ No newline at end of file +In addition to pure EOA owners, permissionless.js supports a variety of third-party wallet services as owners for smart accounts. This allows you to leverage the UIs and infrastructure of these services, while still using smart accounts supported by permissionless.js. diff --git a/docs/pages/guides/how-to/signers/lit-protocol.mdx b/docs/pages/guides/how-to/signers/lit-protocol.mdx index 1c1b8886..168ea450 100644 --- a/docs/pages/guides/how-to/signers/lit-protocol.mdx +++ b/docs/pages/guides/how-to/signers/lit-protocol.mdx @@ -1,4 +1,4 @@ -# How to Integrate Pimlico with Lit Protocol OTP Authentication +# How to Integrate Pimlico with Lit Protocol OTP Authentication [PKP-based MFA via email, SMS, and WhatsApp OTP] This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. diff --git a/docs/pages/guides/how-to/signers/magic.mdx b/docs/pages/guides/how-to/signers/magic.mdx index 37636ca1..d9ccfbcd 100644 --- a/docs/pages/guides/how-to/signers/magic.mdx +++ b/docs/pages/guides/how-to/signers/magic.mdx @@ -1,6 +1,6 @@ import SmartAccounts from "./smartAccounts.mdx" -# How to use a Magic signer with permissionless.js +# How to use a Magic signer with permissionless.js [Embedded wallet with social login and gasless UX via Pimlico] [Magic](https://magic.link/) is a popular embedded wallet provider that supports social logins. While social logins are great, your users still need to onramp in order to pay for gas, which introduces significant friction. @@ -26,4 +26,4 @@ After following the Magic documentation, you will have access to a `MagicBase` o ### Use with permissionless.js - \ No newline at end of file + diff --git a/docs/pages/guides/how-to/signers/openfort.mdx b/docs/pages/guides/how-to/signers/openfort.mdx index 43265760..0e0cd16e 100644 --- a/docs/pages/guides/how-to/signers/openfort.mdx +++ b/docs/pages/guides/how-to/signers/openfort.mdx @@ -1,4 +1,4 @@ -# How to use an Openfort signer with permissionless.js +# How to use an Openfort signer with permissionless.js [Game-focused embedded wallet with session key support] permissionless.js allows you to plug in custom signers to control the accounts that you create. Openfort is an embedded wallet provider that allows you to easily onboard users to your dapp. diff --git a/docs/pages/guides/how-to/signers/para.mdx b/docs/pages/guides/how-to/signers/para.mdx index e42f00f2..9cc55e2a 100644 --- a/docs/pages/guides/how-to/signers/para.mdx +++ b/docs/pages/guides/how-to/signers/para.mdx @@ -1,5 +1,5 @@ -# How to use a Para signer with permissionless.js +# How to use a Para signer with permissionless.js [Portable MPC wallet with email/social login and cross-app recovery] [Para](https://www.getpara.com/) offers a signing solution enabling the creation of secure, embedded MPC wallets accessible via email or social login. These wallets, compatible across different applications, offer portability, recoverability, and programmability, eliminating the need for users to establish separate signers or contract accounts for each application. diff --git a/docs/pages/guides/how-to/signers/particle-network.mdx b/docs/pages/guides/how-to/signers/particle-network.mdx index 14f2785c..28af5ea4 100644 --- a/docs/pages/guides/how-to/signers/particle-network.mdx +++ b/docs/pages/guides/how-to/signers/particle-network.mdx @@ -1,5 +1,5 @@ -# How to use a Particle Network signer with permissionless.js +# How to use a Particle Network signer with permissionless.js [MPC-TSS wallet with Web2 onboarding via social and email] [Particle Network](https://particle.network/) is an intent-centric, modular wallet-as-a-service (WaaS). By utilizing MPC-TSS for key management, Particle can streamline onboarding via familiar Web2 methods such as Google, emails, and phone numbers. diff --git a/docs/pages/guides/how-to/signers/passkey-server.mdx b/docs/pages/guides/how-to/signers/passkey-server.mdx index 2497768a..f1e5aa83 100644 --- a/docs/pages/guides/how-to/signers/passkey-server.mdx +++ b/docs/pages/guides/how-to/signers/passkey-server.mdx @@ -1,4 +1,4 @@ -# How to use a Passkey (WebAuthn) server +# How to use a Passkey (WebAuthn) server [Server-side credential verification for WebAuthn-gated smart accounts] This how-to guide will walk you through the steps to integrate Passkey (WebAuthn) server with a smart account whose user operations are relayed and sponsored by Pimlico. diff --git a/docs/pages/guides/how-to/signers/passkey.mdx b/docs/pages/guides/how-to/signers/passkey.mdx index 9bc078c8..dde9ddfb 100644 --- a/docs/pages/guides/how-to/signers/passkey.mdx +++ b/docs/pages/guides/how-to/signers/passkey.mdx @@ -1,4 +1,4 @@ -# How to use a Passkey (WebAuthn) signer +# How to use a Passkey (WebAuthn) signer [Client-side biometric authentication with device-bound credentials] This how-to guide will walk you through the steps to integrate Passkey (WebAuthn) signer with a smart account whose user operations are relayed and sponsored by Pimlico. @@ -212,4 +212,4 @@ export function PasskeysDemo() { } ``` -::::: \ No newline at end of file +::::: diff --git a/docs/pages/guides/how-to/signers/privy.mdx b/docs/pages/guides/how-to/signers/privy.mdx index 4206bdb9..8fb7b66d 100644 --- a/docs/pages/guides/how-to/signers/privy.mdx +++ b/docs/pages/guides/how-to/signers/privy.mdx @@ -1,4 +1,4 @@ -# How to use a Privy signer with permissionless.js +# How to use a Privy signer with permissionless.js [Embedded wallet with social login and cross-app key portability] permissionless.js allows you to plug in custom signers to control the accounts that you create. Privy is an embedded wallet provider that allows you to easily onboard users to your dapp. It is possible to use Privy as a signer with permissionless.js, allowing you to use Privy to create and control smart accounts and sign transactions. diff --git a/docs/pages/guides/how-to/signers/social-logins.mdx b/docs/pages/guides/how-to/signers/social-logins.mdx index 23bf6060..0c49497b 100644 --- a/docs/pages/guides/how-to/signers/social-logins.mdx +++ b/docs/pages/guides/how-to/signers/social-logins.mdx @@ -1,4 +1,4 @@ -# Social login signers +# Social login signers [OAuth and embedded wallet providers for smart account signers] permissionless.js works with a wide range of embedded-wallet and social-login providers, so you can let users sign in with Google, email, phone, passkeys, and more while still benefiting from the power of smart accounts (gas sponsorship, batched transactions, session keys, and programmable permissions). diff --git a/docs/pages/guides/how-to/signers/turnkey.mdx b/docs/pages/guides/how-to/signers/turnkey.mdx index d2fabba2..1c621170 100644 --- a/docs/pages/guides/how-to/signers/turnkey.mdx +++ b/docs/pages/guides/how-to/signers/turnkey.mdx @@ -1,4 +1,4 @@ -# How to use a Turnkey signer with permissionless.js +# How to use a Turnkey signer with permissionless.js [Custodial key infrastructure with a policy engine as the smart account signer] [Turnkey](https://turnkey.com/) is a key infrastructure provider with a great developer API and a powerful security policy engine. diff --git a/docs/pages/guides/how-to/signers/web3auth.mdx b/docs/pages/guides/how-to/signers/web3auth.mdx index ae06e184..ed47e1f9 100644 --- a/docs/pages/guides/how-to/signers/web3auth.mdx +++ b/docs/pages/guides/how-to/signers/web3auth.mdx @@ -1,4 +1,4 @@ -# How to use Web3Auth with Pimlico +# How to use Web3Auth with Pimlico [Social MFA via Web3Auth's threshold key system as the smart account signer] [Web3Auth](https://web3auth.io) is a popular embedded wallet provider that supports a range of login methods. Web3Auth also has strong native account abstraction support allowing you to offer smooth UX for your users through features like social logins, sponsored transactions, and transaction batching. diff --git a/docs/pages/guides/how-to/sponsorship-policies/index.mdx b/docs/pages/guides/how-to/sponsorship-policies/index.mdx index 37a8709c..7e0f9e9f 100644 --- a/docs/pages/guides/how-to/sponsorship-policies/index.mdx +++ b/docs/pages/guides/how-to/sponsorship-policies/index.mdx @@ -1,4 +1,4 @@ -# How to use Sponsorship Policies +# How to use Sponsorship Policies [Define rules to control which user operations your paymaster sponsors] ## What are Sponsorship Policies? diff --git a/docs/pages/guides/how-to/sponsorship-policies/webhook.mdx b/docs/pages/guides/how-to/sponsorship-policies/webhook.mdx index 512a2f48..a770d346 100644 --- a/docs/pages/guides/how-to/sponsorship-policies/webhook.mdx +++ b/docs/pages/guides/how-to/sponsorship-policies/webhook.mdx @@ -1,4 +1,4 @@ -# How to use Sponsorship Policy webhooks +# How to use Sponsorship Policy webhooks [Approve or reject sponsorship requests in real time via HTTP callbacks] Webhooks allow you to receive real-time notifications when sponsorship-related events occur. You can use webhooks to approve or reject sponsorship requests and receive notifications about finalized sponsorships. Start by going to the [sponsorship policies page](https://dashboard.pimlico.io/sponsorship-policies) on the Pimlico dashboard, clicking on the existing policy and clicking on the "Edit button". diff --git a/docs/pages/guides/how-to/testing/build-bear.mdx b/docs/pages/guides/how-to/testing/build-bear.mdx index beb139ec..b722bd89 100644 --- a/docs/pages/guides/how-to/testing/build-bear.mdx +++ b/docs/pages/guides/how-to/testing/build-bear.mdx @@ -1,4 +1,4 @@ -# Testing with BuildBear Sandboxes +# Testing with BuildBear Sandboxes [Fork-based isolated testnets with Pimlico's bundler and paymaster via the BuildBear plugin] This guide introduces how to setup a BuildBear Sandbox with for testing the Alto bundler and a mock paymaster. We will be using viem and permissionless to interact with the sandbox enviornment. diff --git a/docs/pages/guides/how-to/testing/docker.mdx b/docs/pages/guides/how-to/testing/docker.mdx index 93e0a750..40cec7e5 100644 --- a/docs/pages/guides/how-to/testing/docker.mdx +++ b/docs/pages/guides/how-to/testing/docker.mdx @@ -1,4 +1,4 @@ -# Local Testing With Docker +# Local Testing With Docker [Spin up a self-contained Alto bundler, mock paymaster, and Anvil node using docker compose] This guide introduces a ready-to-use mock test environment, that contains: diff --git a/docs/pages/guides/how-to/testing/prool.mdx b/docs/pages/guides/how-to/testing/prool.mdx index 3f999231..b3eed081 100644 --- a/docs/pages/guides/how-to/testing/prool.mdx +++ b/docs/pages/guides/how-to/testing/prool.mdx @@ -1,8 +1,8 @@ -# Prool +# Prool [Programmatically spin up isolated Alto, Anvil, and paymaster instances per test case using Prool] This guide introduces how to setup and run tests in a mock environment using [Prool](https://github.com/wevm/prool). -# Overview +## Overview Prool is a library by [Wevm](https://github.com/wevm/viem) that lets you programmatically interact with Ethereum server instances like Nodes, Bundlers, and Paymasters. diff --git a/docs/pages/guides/pricing.mdx b/docs/pages/guides/pricing.mdx index ebab9121..c7dc17e1 100644 --- a/docs/pages/guides/pricing.mdx +++ b/docs/pages/guides/pricing.mdx @@ -2,7 +2,7 @@ showOutline: false --- -# Pricing +# Pricing [Plans, limits, and costs for Pimlico's bundler and paymaster services] Below is a comparison of the different pricing plans available for Pimlico. With Pimlico, you're able to launch without any upfront costs, and only pay for what you use with our pay-as-you-go plan, even for production applications with significant volume. We can also offer enterprise plans for users wishing to have a custom plan tailored to their needs. If you have any questions, please don't hesitate to [contact us through telegram](https://t.me/pimlicoHQ) or [through email](mailto:support@pimlico.io) diff --git a/docs/pages/guides/supported-chains.mdx b/docs/pages/guides/supported-chains.mdx index 4969f857..80269919 100644 --- a/docs/pages/guides/supported-chains.mdx +++ b/docs/pages/guides/supported-chains.mdx @@ -1,5 +1,5 @@ -# Supported Chains +# Supported Chains [Full list of EVM chains available via Pimlico's bundler and paymaster endpoints] All API calls must use the JSON-RPC format and be sent to the following URL: @@ -15,7 +15,7 @@ For example to access Base, both of these endpoints will work: You can also access the public endpoint without an API key ([more info](/references/bundler/public-endpoint)). -# Pimlico supports the following chains: +## Pimlico supports the following chains: import SupportedChains from "../../../data/supported-chains.md" import ChainDetails from "../../../data/chain-details.md"; diff --git a/docs/pages/guides/tutorials/index.mdx b/docs/pages/guides/tutorials/index.mdx index bfff8980..e1bf9e13 100644 --- a/docs/pages/guides/tutorials/index.mdx +++ b/docs/pages/guides/tutorials/index.mdx @@ -1,4 +1,4 @@ -# Tutorials +# Tutorials [Step-by-step guides for building with Pimlico's ERC-4337 infrastructure] Learning-oriented lessons that take you through a series of steps to complete a project. Most useful when you want to get started with Pimlico. diff --git a/docs/pages/guides/tutorials/send-transaction.mdx b/docs/pages/guides/tutorials/send-transaction.mdx index deec5999..3ff6d236 100644 --- a/docs/pages/guides/tutorials/send-transaction.mdx +++ b/docs/pages/guides/tutorials/send-transaction.mdx @@ -1,4 +1,4 @@ -# Tutorial — Batch multiple transactions from a smart account +# Tutorial — Batch multiple transactions from a smart account [Deploy an ERC-4337 smart account and atomically execute multiple calls in one user operation] In this tutorial, you will deploy an ERC-4337 smart account and submit your first user operation — one that batches **multiple calls** into a single on-chain transaction. diff --git a/docs/pages/guides/tutorials/tutorial-1.mdx b/docs/pages/guides/tutorials/tutorial-1.mdx index c413941f..59ee3654 100644 --- a/docs/pages/guides/tutorials/tutorial-1.mdx +++ b/docs/pages/guides/tutorials/tutorial-1.mdx @@ -1,4 +1,4 @@ -# Tutorial 1 — Send your first gasless transaction +# Tutorial 1 — Send your first gasless transaction [Sponsor gas with Pimlico's verifying paymaster and send a user operation from a smart account] In this tutorial, you will submit your first fully-gasless transaction from a smart account. diff --git a/docs/pages/guides/tutorials/tutorial-2.mdx b/docs/pages/guides/tutorials/tutorial-2.mdx index 016a2d45..803b3631 100644 --- a/docs/pages/guides/tutorials/tutorial-2.mdx +++ b/docs/pages/guides/tutorials/tutorial-2.mdx @@ -1,4 +1,4 @@ -# Tutorial 2 — Submit a user operation with an ERC-20 Paymaster +# Tutorial 2 — Submit a user operation with an ERC-20 Paymaster [Pay transaction fees in an ERC-20 token instead of ETH using Pimlico's token paymaster] :::info You can visit our [ERC-20 Paymaster overview page](/references/paymaster/erc20-paymaster) to learn more about the design and architecture of our ERC-20 Paymaster, and the deployed smart contract addresses. diff --git a/docs/pages/guides/why-pimlico/enterprise.mdx b/docs/pages/guides/why-pimlico/enterprise.mdx index a8a3e273..6d6712f0 100644 --- a/docs/pages/guides/why-pimlico/enterprise.mdx +++ b/docs/pages/guides/why-pimlico/enterprise.mdx @@ -1,4 +1,4 @@ -# Why Pimlico for Enterprises +# Why Pimlico for Enterprises [Production-grade AA infrastructure with SLAs, compliance support, and dedicated integration help] Are you an enterprise looking to leverage smart accounts and wondering why you should use Pimlico as your account abstraction infrastructure provider? diff --git a/docs/pages/guides/why-pimlico/startups.mdx b/docs/pages/guides/why-pimlico/startups.mdx index 02f79618..b688a110 100644 --- a/docs/pages/guides/why-pimlico/startups.mdx +++ b/docs/pages/guides/why-pimlico/startups.mdx @@ -1,4 +1,4 @@ -# Why Pimlico for Startups +# Why Pimlico for Startups [Generous free tier, fast onboarding, and multichain bundler/paymaster APIs to ship smart accounts quickly] Are you a startup looking to use smart accounts and wondering why you should use Pimlico as your account abstraction infrastructure provider? diff --git a/docs/pages/references/bundler/bundler-error-codes.mdx b/docs/pages/references/bundler/bundler-error-codes.mdx index dca88e83..3193b021 100644 --- a/docs/pages/references/bundler/bundler-error-codes.mdx +++ b/docs/pages/references/bundler/bundler-error-codes.mdx @@ -1,4 +1,4 @@ -# Bundler Error Codes +# Bundler Error Codes [EIP-7769 standardized error codes returned by the Pimlico bundler] The bundler implements the [EIP-7769](https://eips.ethereum.org/EIPS/eip-7769) spec which standardizes ERC-4337 bundler error codes across different bundler implementations. diff --git a/docs/pages/references/bundler/bundler-errors/chain-not-supported.mdx b/docs/pages/references/bundler/bundler-errors/chain-not-supported.mdx index a25babc9..e0890db9 100644 --- a/docs/pages/references/bundler/bundler-errors/chain-not-supported.mdx +++ b/docs/pages/references/bundler/bundler-errors/chain-not-supported.mdx @@ -1,4 +1,4 @@ -# Chain is not supported +# Chain is not supported [Returned when the requested network has no Pimlico bundler deployment] The chain you are trying to use is not supported by Pimlico. diff --git a/docs/pages/references/bundler/bundler-errors/invalid-api-key.mdx b/docs/pages/references/bundler/bundler-errors/invalid-api-key.mdx index 74a028f2..cf29020a 100644 --- a/docs/pages/references/bundler/bundler-errors/invalid-api-key.mdx +++ b/docs/pages/references/bundler/bundler-errors/invalid-api-key.mdx @@ -1,4 +1,4 @@ -# Invalid 'apikey' query parameter +# Invalid 'apikey' query parameter [Returned when the API key is missing, malformed, or has been revoked] The API key you are trying to use is not valid. It either does not exist or has been deleted. diff --git a/docs/pages/references/bundler/bundler-errors/invalid-discriminator-value.mdx b/docs/pages/references/bundler/bundler-errors/invalid-discriminator-value.mdx index 402a7c57..a6df2478 100644 --- a/docs/pages/references/bundler/bundler-errors/invalid-discriminator-value.mdx +++ b/docs/pages/references/bundler/bundler-errors/invalid-discriminator-value.mdx @@ -1,4 +1,4 @@ -# Validation error: Invalid discriminator value +# Validation error — Invalid discriminator value [Returned when calling an unsupported JSON-RPC method on the Pimlico endpoint] ```txt Validation error: Invalid discriminator value. Expected 'eth_chainId' | 'eth_supportedEntryPoints' | 'eth_coinbase' | 'eth_estimateUserOperationGas' | 'eth_sendUserOperation' | 'eth_getUserOperationByHash' | 'eth_getUserOperationReceipt' | 'pm_supportedEntryPoints' | 'pm_sponsorUserOperation' | 'web3_clientVersion' | 'pimlico_getUserOperationStatus' | 'pimlico_getUserOperationGasPrice' | 'pimlico_getBalance' | 'pm_validateSponsorshipPolicies' at \"method\"" diff --git a/docs/pages/references/bundler/bundler-errors/unknown-error.mdx b/docs/pages/references/bundler/bundler-errors/unknown-error.mdx index b11e7744..40ae29ef 100644 --- a/docs/pages/references/bundler/bundler-errors/unknown-error.mdx +++ b/docs/pages/references/bundler/bundler-errors/unknown-error.mdx @@ -1,4 +1,4 @@ -# Unknown error from alto bundler +# Unknown error from alto bundler [Returned for internal 500 errors or responses containing sensitive details that cannot be surfaced] The bundler encountered an unexpected error. This is either an internal 500 error, or an error with sensitive information that can not returned. diff --git a/docs/pages/references/bundler/endpoints/eth_estimateUserOperationGas.mdx b/docs/pages/references/bundler/endpoints/eth_estimateUserOperationGas.mdx index 181a0faa..35a2d321 100644 --- a/docs/pages/references/bundler/endpoints/eth_estimateUserOperationGas.mdx +++ b/docs/pages/references/bundler/endpoints/eth_estimateUserOperationGas.mdx @@ -1,4 +1,4 @@ -# eth_estimateUserOperationGas +# eth_estimateUserOperationGas [Simulates a UserOperation and returns estimated gas limits for all gas fields] This method simulates the user operation and estimates the appropriate gas limits for it. If the operation is not successful, it will return an error. diff --git a/docs/pages/references/bundler/endpoints/eth_getUserOperationByHash.mdx b/docs/pages/references/bundler/endpoints/eth_getUserOperationByHash.mdx index 62dd7404..d7b23346 100644 --- a/docs/pages/references/bundler/endpoints/eth_getUserOperationByHash.mdx +++ b/docs/pages/references/bundler/endpoints/eth_getUserOperationByHash.mdx @@ -1,4 +1,4 @@ -# eth_getUserOperationByHash +# eth_getUserOperationByHash [Fetches a UserOperation and its inclusion details by userOpHash, or null if not found] This method fetches the user operation, given the `userOpHash`. If the user operation is not available, it will return `null`. diff --git a/docs/pages/references/bundler/endpoints/eth_getUserOperationReceipt.mdx b/docs/pages/references/bundler/endpoints/eth_getUserOperationReceipt.mdx index feccd561..95022309 100644 --- a/docs/pages/references/bundler/endpoints/eth_getUserOperationReceipt.mdx +++ b/docs/pages/references/bundler/endpoints/eth_getUserOperationReceipt.mdx @@ -1,4 +1,4 @@ -# eth_getUserOperationReceipt +# eth_getUserOperationReceipt [Fetches the on-chain receipt of a UserOperation by userOpHash, or null if not yet included] This method fetches the receipt of a user operation, given the `userOpHash`. If the receipt is not available, it will return `null`. diff --git a/docs/pages/references/bundler/endpoints/eth_sendUserOperation.mdx b/docs/pages/references/bundler/endpoints/eth_sendUserOperation.mdx index 6c937474..0668cf56 100644 --- a/docs/pages/references/bundler/endpoints/eth_sendUserOperation.mdx +++ b/docs/pages/references/bundler/endpoints/eth_sendUserOperation.mdx @@ -1,4 +1,4 @@ -# eth_sendUserOperation +# eth_sendUserOperation [Submits a UserOperation to the bundler mempool and returns its userOpHash] Submits a user operation to be included on-chain and returns the `userOpHash` if successful (or queued). If the operation is not successful, it will return an error. diff --git a/docs/pages/references/bundler/endpoints/eth_supportedEntryPoints.mdx b/docs/pages/references/bundler/endpoints/eth_supportedEntryPoints.mdx index 96ae3199..961a69e7 100644 --- a/docs/pages/references/bundler/endpoints/eth_supportedEntryPoints.mdx +++ b/docs/pages/references/bundler/endpoints/eth_supportedEntryPoints.mdx @@ -1,4 +1,4 @@ -# eth_supportedEntryPoints +# eth_supportedEntryPoints [Returns the EntryPoint contract addresses supported by the bundler] This method fetches the EntryPoint addresses supported by the bundler. The first address is the one preferred by the bundler to use. @@ -21,4 +21,4 @@ This method fetches the EntryPoint addresses supported by the bundler. The first "id": 1, "result": ["0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789"] } -``` \ No newline at end of file +``` diff --git a/docs/pages/references/bundler/endpoints/pimlico_getUserOperationGasPrice.mdx b/docs/pages/references/bundler/endpoints/pimlico_getUserOperationGasPrice.mdx index 74668ef1..8cf5e3e1 100644 --- a/docs/pages/references/bundler/endpoints/pimlico_getUserOperationGasPrice.mdx +++ b/docs/pages/references/bundler/endpoints/pimlico_getUserOperationGasPrice.mdx @@ -1,4 +1,4 @@ -# pimlico_getUserOperationGasPrice +# pimlico_getUserOperationGasPrice [Returns the current slow/standard/fast gas price tiers required for UserOperations on Pimlico] This method returns the gas prices that must be used for the user operation you are bundling with Pimlico bundlers. diff --git a/docs/pages/references/bundler/endpoints/pimlico_getUserOperationStatus.mdx b/docs/pages/references/bundler/endpoints/pimlico_getUserOperationStatus.mdx index cdaac685..c93924d8 100644 --- a/docs/pages/references/bundler/endpoints/pimlico_getUserOperationStatus.mdx +++ b/docs/pages/references/bundler/endpoints/pimlico_getUserOperationStatus.mdx @@ -1,4 +1,4 @@ -# pimlico_getUserOperationStatus +# pimlico_getUserOperationStatus [Returns the mempool/submission status and optional transaction hash for a UserOperation by hash] This method takes in a user operation hash and returns the status of the operation and, optionally, the transaction hash the bundler is using to bundle the user operation on-chain. The status can be one of the following: diff --git a/docs/pages/references/bundler/endpoints/pimlico_simulateAssetChanges.mdx b/docs/pages/references/bundler/endpoints/pimlico_simulateAssetChanges.mdx index b10373ec..3c08178e 100644 --- a/docs/pages/references/bundler/endpoints/pimlico_simulateAssetChanges.mdx +++ b/docs/pages/references/bundler/endpoints/pimlico_simulateAssetChanges.mdx @@ -1,4 +1,4 @@ -# pimlico_simulateAssetChanges +# pimlico_simulateAssetChanges [Preview native, ERC-20, ERC-721, and ERC-1155 balance changes for a user operation without executing it] :::warning NOTICE: This page is still in draft and the API may change. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa10.mdx b/docs/pages/references/bundler/entrypoint-errors/aa10.mdx index 4e48efde..cbc3a6c8 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa10.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa10.mdx @@ -1,4 +1,4 @@ -# AA10 sender already constructed +# AA10 sender already constructed [initCode was supplied for a sender address that already has a deployed smart account] The sender (i.e. the smart account) has already been created previously. You may be trying to create the account multiple times. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa13.mdx b/docs/pages/references/bundler/entrypoint-errors/aa13.mdx index 0b4c3c04..10f46be3 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa13.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa13.mdx @@ -1,4 +1,4 @@ -# AA13 initCode failed or OOG +# AA13 initCode failed or OOG [The factory contract reverted or exhausted gas while deploying the smart account] :::info OOG = Out Of Gas diff --git a/docs/pages/references/bundler/entrypoint-errors/aa14.mdx b/docs/pages/references/bundler/entrypoint-errors/aa14.mdx index 78908cac..f59a0c83 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa14.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa14.mdx @@ -1,4 +1,4 @@ -# AA14 initCode must return sender +# AA14 initCode must return sender [The address deployed by initCode does not match the sender field in the user operation] The address of the smart account deployed with the `initCode` provided does not match match the `sender` address provided in the user operation. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa15.mdx b/docs/pages/references/bundler/entrypoint-errors/aa15.mdx index dc12c2f5..f45b0cbb 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa15.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa15.mdx @@ -1,4 +1,4 @@ -# AA15 initCode must create sender +# AA15 initCode must create sender [The factory contract did not deploy a smart account or failed to return the deployed sender address] The smart account deployment process with the `initCode` does not return any `sender` address. There are two possible reasons: - The `initCode` factory is not creating an account. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa20.mdx b/docs/pages/references/bundler/entrypoint-errors/aa20.mdx index b2559bb5..18080354 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa20.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa20.mdx @@ -1,4 +1,4 @@ -# AA20 account not deployed +# AA20 account not deployed [No initCode was provided but the sender address has no deployed contract on-chain] An `initCode` was not specified, but the `sender` address (i.e. the smart account) is not deployed. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa21.mdx b/docs/pages/references/bundler/entrypoint-errors/aa21.mdx index 321a3cf4..82c8912f 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa21.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa21.mdx @@ -1,4 +1,4 @@ -# AA21 didn't pay prefund +# AA21 didn't pay prefund [Sender's native token balance is insufficient to cover the required prefund with no paymaster attached] You are *not* using a paymaster, but the `sender` address did not have enough native tokens to cover the gas costs associated with the user operation. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa22.mdx b/docs/pages/references/bundler/entrypoint-errors/aa22.mdx index 9b61dbfd..26669ac6 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa22.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa22.mdx @@ -1,4 +1,4 @@ -# AA22 expired or not due +# AA22 expired or not due [block.timestamp falls outside the validAfter–validUntil window returned by validateUserOp] The `signature` used in the user operation is not valid, because it is outside of the time range it specified. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa23.mdx b/docs/pages/references/bundler/entrypoint-errors/aa23.mdx index 65fc77d2..f18aa2da 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa23.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa23.mdx @@ -1,4 +1,4 @@ -# AA23 reverted (or OOG) +# AA23 reverted (or OOG) [The account's validateUserOp function reverted or ran out of gas during validation] :::info OOG = Out Of Gas diff --git a/docs/pages/references/bundler/entrypoint-errors/aa24.mdx b/docs/pages/references/bundler/entrypoint-errors/aa24.mdx index f60a298d..95e8d7be 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa24.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa24.mdx @@ -1,4 +1,4 @@ -# AA24 signature error +# AA24 signature error [validateUserOp returned SIG_VALIDATION_FAILED because the user operation signature is invalid] The `validateUserOp` function of the smart account rejected the signature of the user operation. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa25.mdx b/docs/pages/references/bundler/entrypoint-errors/aa25.mdx index fa058f0e..38a7fab4 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa25.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa25.mdx @@ -1,4 +1,4 @@ -# AA25 invalid account nonce +# AA25 invalid account nonce [The nonce key/sequence pair does not match the EntryPoint's current nonce for the sender] The `nonce` of the user operation is invalid. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa30.mdx b/docs/pages/references/bundler/entrypoint-errors/aa30.mdx index 033622cd..2beff254 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa30.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa30.mdx @@ -1,4 +1,4 @@ -# AA30 paymaster not deployed +# AA30 paymaster not deployed [The first 20 bytes of paymasterAndData point to an address with no deployed contract] :::info The first 20 bytes of the `paymasterAndData` field specify the address of the paymaster contract you are requesting to use. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa31.mdx b/docs/pages/references/bundler/entrypoint-errors/aa31.mdx index fca9c27d..7d7ef3d5 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa31.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa31.mdx @@ -1,4 +1,4 @@ -# AA31 paymaster deposit too low +# AA31 paymaster deposit too low [Paymaster's staked deposit in the EntryPoint is insufficient to cover the user operation's gas costs] :::info The first 20 bytes of the `paymasterAndData` field specify the address of the paymaster contract you are requesting to use. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa32.mdx b/docs/pages/references/bundler/entrypoint-errors/aa32.mdx index 55b0bed1..e57114af 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa32.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa32.mdx @@ -1,4 +1,4 @@ -# AA32 expired or not due +# AA32 expired or not due [The user operation's validity window has passed or the valid-after timestamp has not yet been reached] :::info By default, signatures from Pimlico's verifying paymaster are only valid for 10 minutes. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa33.mdx b/docs/pages/references/bundler/entrypoint-errors/aa33.mdx index 2ed5568e..f56a4076 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa33.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa33.mdx @@ -1,4 +1,4 @@ -# AA33 reverted (or OOG) +# AA33 reverted (or OOG) [The paymaster's validatePaymasterUserOp call reverted or ran out of gas during verification] :::info OOG = Out Of Gas diff --git a/docs/pages/references/bundler/entrypoint-errors/aa34.mdx b/docs/pages/references/bundler/entrypoint-errors/aa34.mdx index 15dc98f1..84407620 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa34.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa34.mdx @@ -1,4 +1,4 @@ -# AA34 signature error +# AA34 signature error [The paymaster's validatePaymasterUserOp returned an invalid or unrecognized signature] :::info The first 20 bytes of the `paymasterAndData` field specify the address of the paymaster contract you are requesting to use. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa40.mdx b/docs/pages/references/bundler/entrypoint-errors/aa40.mdx index 34498577..d646be92 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa40.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa40.mdx @@ -1,4 +1,4 @@ -# AA40 over verificationGasLimit +# AA40 over verificationGasLimit [Combined gas used by account and paymaster verification exceeded the specified verificationGasLimit] The amount of gas used by the smart account and paymaster verification exceeded the `verificationGasLimit` set for the user operation. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa41.mdx b/docs/pages/references/bundler/entrypoint-errors/aa41.mdx index 430c4997..4af5936f 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa41.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa41.mdx @@ -1,4 +1,4 @@ -# AA41 too little verificationGas +# AA41 too little verificationGas [Account verification consumed more gas than the verificationGasLimit allows] The amount of gas used by the smart account verification exceeded the `verificationGasLimit` set for the user operation. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa50.mdx b/docs/pages/references/bundler/entrypoint-errors/aa50.mdx index 1a2f3bf8..80aca121 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa50.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa50.mdx @@ -1,4 +1,4 @@ -# AA50 postOp reverted +# AA50 postOp reverted [The paymaster's postOp function reverted during post-execution accounting] :::info `postOp` is a function that is called by the EntryPoint on the paymaster contract after the user operation execution is completed. It is often used by paymasters to perform additional accounting logic. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa51.mdx b/docs/pages/references/bundler/entrypoint-errors/aa51.mdx index 42ea7393..64b9bbe8 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa51.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa51.mdx @@ -1,4 +1,4 @@ -# AA51 prefund below actualGasCost +# AA51 prefund below actualGasCost [Actual gas cost exceeded the prefund deposited by the account or paymaster] The actual gas cost of the user operation ended up being higher than the prefund paid by the smart account or the paymaster. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa90.mdx b/docs/pages/references/bundler/entrypoint-errors/aa90.mdx index 9d4ed898..4debcf2f 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa90.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa90.mdx @@ -1,4 +1,4 @@ -# AA90 invalid beneficiary +# AA90 invalid beneficiary [Bundler submitted a handleOps call with a zero or unset beneficiary address] The bundler did not set a beneficiary address when bundling the user operation. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa91.mdx b/docs/pages/references/bundler/entrypoint-errors/aa91.mdx index f1df919f..55ba3baa 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa91.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa91.mdx @@ -1,4 +1,4 @@ -# AA91 failed send to beneficiary +# AA91 failed send to beneficiary [EntryPoint's ETH transfer to the bundler beneficiary address reverted after operation execution] The EntryPoint's transfer to the beneficiary of the funds accrued from the user operation reverted. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa92.mdx b/docs/pages/references/bundler/entrypoint-errors/aa92.mdx index 1e73ee59..59a41480 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa92.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa92.mdx @@ -1,4 +1,4 @@ -# AA92 internal call only +# AA92 internal call only [innerHandleOp was called directly rather than through the EntryPoint's handleOps function] The bundler attempted to call `innerHandleOp` function of the EntryPoint directly as opposed to through the `handleOps` function. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa93.mdx b/docs/pages/references/bundler/entrypoint-errors/aa93.mdx index 299645ac..14381f01 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa93.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa93.mdx @@ -1,4 +1,4 @@ -# AA93 invalid paymasterAndData +# AA93 invalid paymasterAndData [The paymasterAndData field is shorter than 20 bytes or does not encode a valid paymaster address] :::info The first 20 bytes of the `paymasterAndData` field specify the address of the paymaster contract you are requesting to use. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa94.mdx b/docs/pages/references/bundler/entrypoint-errors/aa94.mdx index 6b812ea5..96b9cc0d 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa94.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa94.mdx @@ -1,4 +1,4 @@ -# AA94 gas values overflow +# AA94 gas values overflow [A gas field in the UserOperation exceeds the uint160 type boundary] One or more of the gas values of the user operation do not fit into a `uint160`. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa95.mdx b/docs/pages/references/bundler/entrypoint-errors/aa95.mdx index d2feee2b..a9aa0562 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa95.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa95.mdx @@ -1,4 +1,4 @@ -# AA95 out of gas +# AA95 out of gas [The bundler exhausted the gas limit while attempting to bundle the UserOperation] The bundler tried to bundle the user operation with the gas limit set too low. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa96.mdx b/docs/pages/references/bundler/entrypoint-errors/aa96.mdx index d08635dd..2fc5f31b 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa96.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa96.mdx @@ -1,4 +1,4 @@ -# AA96 invalid aggregator +# AA96 invalid aggregator [The aggregator contract used for signature aggregation failed validation during bundling] The bundler tried to bundle aggregated user operations with an invalid aggregator. diff --git a/docs/pages/references/bundler/entrypoint-errors/index.mdx b/docs/pages/references/bundler/entrypoint-errors/index.mdx index af34ca51..563eb6de 100644 --- a/docs/pages/references/bundler/entrypoint-errors/index.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/index.mdx @@ -1,4 +1,4 @@ -# EntryPoint Errors +# EntryPoint Errors [Reference for all AA-prefixed revert reasons thrown by the ERC-4337 EntryPoint contract] We have listed all the errors that an ERC 4337 EntryPoint can return. diff --git a/docs/pages/references/bundler/faqs.mdx b/docs/pages/references/bundler/faqs.mdx index b9fe5924..045e6142 100644 --- a/docs/pages/references/bundler/faqs.mdx +++ b/docs/pages/references/bundler/faqs.mdx @@ -1,4 +1,4 @@ -# Bundler FAQs +# Bundler FAQs [Answers to common questions about UserOperation inclusion, fees, and bundler behavior] ## I successfully submitted a user operation to the bundler, but it never got included in a block. What happened? There can be many reasons for this. The most common are: diff --git a/docs/pages/references/bundler/index.mdx b/docs/pages/references/bundler/index.mdx index 059fd128..fdbf9697 100644 --- a/docs/pages/references/bundler/index.mdx +++ b/docs/pages/references/bundler/index.mdx @@ -1,4 +1,4 @@ -# Alto Bundler +# Alto Bundler [Pimlico's open-source, type-safe ERC-4337 bundler built for reliability and fast inclusion] ![Landscape](/alto.png) diff --git a/docs/pages/references/bundler/public-endpoint.mdx b/docs/pages/references/bundler/public-endpoint.mdx index 4ea32e7b..d7c6ed4f 100644 --- a/docs/pages/references/bundler/public-endpoint.mdx +++ b/docs/pages/references/bundler/public-endpoint.mdx @@ -1,4 +1,4 @@ -# Public Endpoint +# Public Endpoint [A rate-limited bundler URL for prototyping that requires no API key] Pimlico provides a public bundler endpoint for developers to test and prototype their applications without requiring an API key. diff --git a/docs/pages/references/bundler/self-host.mdx b/docs/pages/references/bundler/self-host.mdx index e0a40768..2976fa8c 100644 --- a/docs/pages/references/bundler/self-host.mdx +++ b/docs/pages/references/bundler/self-host.mdx @@ -1,4 +1,4 @@ -# Self-Host Guide +# Self-Host Guide [Instructions for building, configuring, and running your own Alto bundler instance] This guide holds all information related to self hosting your own Alto bundler instance. Including installation, setting up, running, and troubleshooting. diff --git a/docs/pages/references/bundler/testing.mdx b/docs/pages/references/bundler/testing.mdx index a58d456b..5cb95512 100644 --- a/docs/pages/references/bundler/testing.mdx +++ b/docs/pages/references/bundler/testing.mdx @@ -1,4 +1,4 @@ -# How to use Alto in CI/CD testing +# How to use Alto in CI/CD testing [Spin up an isolated Alto + Anvil environment for deterministic ERC-4337 integration tests] To effectively integrate Alto, a performant and type-safe ERC-4337 bundler developed by Pimlico, into your CI/CD testing pipeline, we recommend utilizing Prool, a library that provides programmatic HTTP testing instances for Ethereum.rool facilitates the creation of isolated Ethereum environments, enabling efficient testing of smart contracts and related components. **Installation Steps:** diff --git a/docs/pages/references/bundler/usage.mdx b/docs/pages/references/bundler/usage.mdx index d5932a1c..0337c7d8 100644 --- a/docs/pages/references/bundler/usage.mdx +++ b/docs/pages/references/bundler/usage.mdx @@ -1,4 +1,4 @@ -# How to use the bundler +# How to use the bundler [Send and estimate UserOperations via Pimlico's JSON-RPC bundler endpoints] :::tip[Tip] We recommend using [permissionless.js](/references/permissionless/reference/smart-account-actions/sendUserOperation) as the SDK to interact with the bundler as it provides type-safe wrappers for all bundler methods. diff --git a/docs/pages/references/paymaster/erc20-paymaster/architecture.mdx b/docs/pages/references/paymaster/erc20-paymaster/architecture.mdx index c77f8cf9..197a82f1 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/architecture.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/architecture.mdx @@ -1,4 +1,4 @@ -# ERC-20 Paymaster Architecture +# ERC-20 Paymaster Architecture [How the onchain contract and offchain oracle work together] :::info You can view the whole ERC-20 Paymaster contract [in our repository](https://github.com/pimlicolabs). diff --git a/docs/pages/references/paymaster/erc20-paymaster/contract-addresses.mdx b/docs/pages/references/paymaster/erc20-paymaster/contract-addresses.mdx index ceceabec..20f4c1e1 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/contract-addresses.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/contract-addresses.mdx @@ -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. diff --git a/docs/pages/references/paymaster/erc20-paymaster/endpoints/pimlico_getSupportedTokens.mdx b/docs/pages/references/paymaster/erc20-paymaster/endpoints/pimlico_getSupportedTokens.mdx index f7c3bb5a..343f1662 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/endpoints/pimlico_getSupportedTokens.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/endpoints/pimlico_getSupportedTokens.mdx @@ -1,4 +1,4 @@ -# pimlico_getSupportedTokens +# pimlico_getSupportedTokens [Returns the ERC-20 tokens accepted by the paymaster on the current chain] This method returns the list of tokens supported by the ERC-20 Paymaster for the current user on a specific chain. diff --git a/docs/pages/references/paymaster/erc20-paymaster/endpoints/pimlico_getTokenQuotes.mdx b/docs/pages/references/paymaster/erc20-paymaster/endpoints/pimlico_getTokenQuotes.mdx index b93c1d47..9ed255cb 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/endpoints/pimlico_getTokenQuotes.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/endpoints/pimlico_getTokenQuotes.mdx @@ -1,4 +1,4 @@ -# pimlico_getTokenQuotes +# pimlico_getTokenQuotes [Returns live exchange rates and postOpGas for estimating token costs before signing] This method returns the tentative token exchange rates used by the ERC-20 Paymaster. diff --git a/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_getPaymasterData.mdx b/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_getPaymasterData.mdx index a1122680..4ddcb700 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_getPaymasterData.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_getPaymasterData.mdx @@ -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. diff --git a/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_getPaymasterStubData.mdx b/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_getPaymasterStubData.mdx index 3e4dd73e..ac60a569 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_getPaymasterStubData.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_getPaymasterStubData.mdx @@ -1,4 +1,4 @@ -# pm_getPaymasterStubData +# pm_getPaymasterStubData [Returns stub paymaster fields for gas estimation before the operation is signed] 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. diff --git a/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_sponsorUserOperation.mdx b/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_sponsorUserOperation.mdx index ec45b914..b13a772d 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_sponsorUserOperation.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_sponsorUserOperation.mdx @@ -1,4 +1,4 @@ -# pm_sponsorUserOperation +# pm_sponsorUserOperation [Sponsors a user operation and returns all paymaster fields plus updated gas limits] 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. diff --git a/docs/pages/references/paymaster/erc20-paymaster/faqs.mdx b/docs/pages/references/paymaster/erc20-paymaster/faqs.mdx index f7ab208f..e4940026 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/faqs.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/faqs.mdx @@ -1,4 +1,4 @@ -# ERC-20 Paymaster FAQs +# ERC-20 Paymaster FAQs [Common questions about gas abstraction with ERC-20 tokens] ## What is a paymaster? diff --git a/docs/pages/references/paymaster/erc20-paymaster/index.mdx b/docs/pages/references/paymaster/erc20-paymaster/index.mdx index 68239e44..800c57ec 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/index.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/index.mdx @@ -1,4 +1,4 @@ -# ERC-20 Paymaster +# ERC-20 Paymaster [Let users pay gas in USDC, DAI, or other ERC-20 tokens instead of ETH] ![Landscape](/erc20paymaster.png) diff --git a/docs/pages/references/paymaster/erc20-paymaster/supported-tokens.mdx b/docs/pages/references/paymaster/erc20-paymaster/supported-tokens.mdx index 357ddb74..31f028f8 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/supported-tokens.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/supported-tokens.mdx @@ -1,6 +1,6 @@ import SupportedTokens from '../../../../../data/supported-tokens.md' -# Supported Tokens +# Supported Tokens [ERC-20 tokens accepted for gas payments, by chain and plan tier] 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). diff --git a/docs/pages/references/paymaster/index.mdx b/docs/pages/references/paymaster/index.mdx index 6eec267b..e8ce40ec 100644 --- a/docs/pages/references/paymaster/index.mdx +++ b/docs/pages/references/paymaster/index.mdx @@ -1,4 +1,4 @@ -# Pimlico Paymasters +# Pimlico Paymasters [Verifying and ERC-20 paymasters for sponsoring gas or enabling gas payments in ERC-20 tokens] Pimlico providers two different types of paymasters to allow you to abstract away the gas fees for your users. @@ -8,4 +8,4 @@ Our Verifying Paymaster allows you to load up your off-chain Pimlico balance thr ## ERC-20 Paymaster -Our ERC-20 Paymaster is a permissionless on-chain smart contract that lets your users pay for their own gas fees using their ERC-20 tokens. \ No newline at end of file +Our ERC-20 Paymaster is a permissionless on-chain smart contract that lets your users pay for their own gas fees using their ERC-20 tokens. diff --git a/docs/pages/references/paymaster/verifying-paymaster/common-errors.mdx b/docs/pages/references/paymaster/verifying-paymaster/common-errors.mdx index 70a5713d..b6e3377e 100644 --- a/docs/pages/references/paymaster/verifying-paymaster/common-errors.mdx +++ b/docs/pages/references/paymaster/verifying-paymaster/common-errors.mdx @@ -1,4 +1,4 @@ -# Verifying Paymaster Common Errors +# Verifying Paymaster Common Errors [Troubleshoot balance, API key, chain support and many more errors from the verifying paymaster] `Insufficient Pimlico balance for sponsorship, please top up` @@ -10,4 +10,4 @@ This error means that you have not provided a valid API key in the query paramet `chain XYZ is not supported` -This error means that the chain you are trying to sponsor a User Operation on is not supported by Pimlico. You can find the list of supported chains [here](/guides/supported-chains). If there is a chain we do not yet support that you would like to see added, [reach out to us](https://t.me/kristofgazso). \ No newline at end of file +This error means that the chain you are trying to sponsor a User Operation on is not supported by Pimlico. You can find the list of supported chains [here](/guides/supported-chains). If there is a chain we do not yet support that you would like to see added, [reach out to us](https://t.me/kristofgazso). diff --git a/docs/pages/references/paymaster/verifying-paymaster/endpoints.mdx b/docs/pages/references/paymaster/verifying-paymaster/endpoints.mdx index c948f854..2a58a78e 100644 --- a/docs/pages/references/paymaster/verifying-paymaster/endpoints.mdx +++ b/docs/pages/references/paymaster/verifying-paymaster/endpoints.mdx @@ -1,4 +1,4 @@ -# Verifying Paymaster Endpoints +# Verifying Paymaster Endpoints [JSON-RPC methods for sponsoring and validating user operations] All calls are in JSON-RPC format and have to be made to the following URL: `https://api.pimlico.io/v2/{chain}/rpc?apikey=[YOUR_API_KEY_HERE]` diff --git a/docs/pages/references/paymaster/verifying-paymaster/index.mdx b/docs/pages/references/paymaster/verifying-paymaster/index.mdx index 6e50b151..5fcb21b0 100644 --- a/docs/pages/references/paymaster/verifying-paymaster/index.mdx +++ b/docs/pages/references/paymaster/verifying-paymaster/index.mdx @@ -1,4 +1,4 @@ -# Verifying Paymaster +# Verifying Paymaster [Sponsor gas fees for users via an off-chain API and on-chain signature verification] Pimlico's Verifying Paymaster is a combination of an API and an on-chain smart contract that allows you to sponsor gas fees for your users. By calling our API, you get back a signature that will be accepted by our smart contract and will pay for the gas fees of your users. diff --git a/docs/pages/references/paymaster/verifying-paymaster/usage.mdx b/docs/pages/references/paymaster/verifying-paymaster/usage.mdx index 15e90cbc..0a86f25e 100644 --- a/docs/pages/references/paymaster/verifying-paymaster/usage.mdx +++ b/docs/pages/references/paymaster/verifying-paymaster/usage.mdx @@ -1,4 +1,4 @@ -# How to use the Verifying Paymaster +# How to use the Verifying Paymaster [Set up your API key and call pm_sponsorUserOperation to cover user gas costs] :::tip[Tip] We recommend using [permissionless.js](/references/permissionless/reference/smart-account-actions/sendUserOperation) as the SDK to interact with the Verifying Paymaster as it provides type-safe wrappers for paymaster methods. diff --git a/docs/pages/references/permissionless/faqs.mdx b/docs/pages/references/permissionless/faqs.mdx index e03fc6b6..a09d06ea 100644 --- a/docs/pages/references/permissionless/faqs.mdx +++ b/docs/pages/references/permissionless/faqs.mdx @@ -1,4 +1,4 @@ -# permissionless.js FAQs +# permissionless.js FAQs [Answers to common integration questions and gotchas] ## How to decrease inclusion time on Base using flashblocks? diff --git a/docs/pages/references/permissionless/how-to/accounts/comparison.mdx b/docs/pages/references/permissionless/how-to/accounts/comparison.mdx index 88de8172..a848f8f7 100644 --- a/docs/pages/references/permissionless/how-to/accounts/comparison.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/comparison.mdx @@ -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 feature comparison of Safe, Kernel, Biconomy, LightAccount, and other supported account types] permissionless.js supports 8 types of accounts. Below is an overview of each account type and their key features: diff --git a/docs/pages/references/permissionless/how-to/accounts/support.mdx b/docs/pages/references/permissionless/how-to/accounts/support.mdx index 8e1a84cb..a1f0d0db 100644 --- a/docs/pages/references/permissionless/how-to/accounts/support.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/support.mdx @@ -1,4 +1,4 @@ -# Account Support +# Account Support [Which smart account implementations are supported and on which EntryPoint versions] 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. diff --git a/docs/pages/references/permissionless/how-to/accounts/use-biconomy-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-biconomy-account.mdx index 17ce1a44..6e1f04e8 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-biconomy-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-biconomy-account.mdx @@ -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 via toBiconomySmartAccount] [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. diff --git a/docs/pages/references/permissionless/how-to/accounts/use-coinbase-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-coinbase-account.mdx index cc75dae6..a882af28 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-coinbase-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-coinbase-account.mdx @@ -1,4 +1,4 @@ -# 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 toCoinbaseSmartAccount] :::warning[Warning] diff --git a/docs/pages/references/permissionless/how-to/accounts/use-erc7579-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-erc7579-account.mdx index ded8fe5c..a618490a 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-erc7579-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-erc7579-account.mdx @@ -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 [ERC-7579 modular account interface for installing and calling validators and executors] [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. diff --git a/docs/pages/references/permissionless/how-to/accounts/use-kernel-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-kernel-account.mdx index 4292ee2b..6f5dc66d 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-kernel-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-kernel-account.mdx @@ -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 Kernel v2/v3 smart account via toEcdsaKernelSmartAccount] :::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. diff --git a/docs/pages/references/permissionless/how-to/accounts/use-light-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-light-account.mdx index 27e11f09..f0a2bd1b 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-light-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-light-account.mdx @@ -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 LightAccount via toLightSmartAccount] [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. diff --git a/docs/pages/references/permissionless/how-to/accounts/use-nexus-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-nexus-account.mdx index cfaa982c..aec2ecf1 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-nexus-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-nexus-account.mdx @@ -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 Nexus ERC-7579 modular account via toNexusSmartAccount] [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. diff --git a/docs/pages/references/permissionless/how-to/accounts/use-safe-account-with-multiple-signers.mdx b/docs/pages/references/permissionless/how-to/accounts/use-safe-account-with-multiple-signers.mdx index 3aa3aa44..08bfcb1c 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-safe-account-with-multiple-signers.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-safe-account-with-multiple-signers.mdx @@ -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 [Safe multisig with m-of-n threshold signers via toSafeSmartAccount] [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. diff --git a/docs/pages/references/permissionless/how-to/accounts/use-safe-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-safe-account.mdx index 170b7b8b..3ddf449e 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-safe-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-safe-account.mdx @@ -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 [Safe smart account via toSafeSmartAccount with optional 4337 module] [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. diff --git a/docs/pages/references/permissionless/how-to/accounts/use-simple-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-simple-account.mdx index 6f72cbea..f4069da1 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-simple-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-simple-account.mdx @@ -1,4 +1,4 @@ -# How to create and use a SimpleAccount with permissionless.js +# How to create and use a SimpleAccount with permissionless.js [ERC-4337 reference SimpleAccount via toSimpleSmartAccount] [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. diff --git a/docs/pages/references/permissionless/how-to/accounts/use-thirdweb-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-thirdweb-account.mdx index 0fbcd838..a6cad1f8 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-thirdweb-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-thirdweb-account.mdx @@ -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 [Thirdweb managed smart account via toThirdwebSmartAccount] ## Picking an EntryPoint diff --git a/docs/pages/references/permissionless/how-to/accounts/use-trustwallet-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-trustwallet-account.mdx index 3781b3d1..f898605f 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-trustwallet-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-trustwallet-account.mdx @@ -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 [ISO-certified Barz smart account with built-in on-chain security monitoring] :::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. diff --git a/docs/pages/references/permissionless/how-to/dapp-gas-sponsorship.mdx b/docs/pages/references/permissionless/how-to/dapp-gas-sponsorship.mdx index 6f62e11f..530aacbf 100644 --- a/docs/pages/references/permissionless/how-to/dapp-gas-sponsorship.mdx +++ b/docs/pages/references/permissionless/how-to/dapp-gas-sponsorship.mdx @@ -1,4 +1,4 @@ -# Update your existing app to sponsor gas fees for smart account users +# Update your existing app to sponsor gas fees for smart account users [Add ERC-7677 paymaster sponsorship to an existing dapp without embedding a wallet] If you are looking to sponsor gas fees for your users without embedding a wallet in your app, you can use this guide to update your existing app to sponsor gas fees for smart accounts. diff --git a/docs/pages/references/permissionless/how-to/migration-guide.mdx b/docs/pages/references/permissionless/how-to/migration-guide.mdx index 6a40605c..e7a6cf2f 100644 --- a/docs/pages/references/permissionless/how-to/migration-guide.mdx +++ b/docs/pages/references/permissionless/how-to/migration-guide.mdx @@ -1,4 +1,4 @@ -# Migration Guide +# Migration Guide [Breaking changes and required updates when upgrading permissionless.js from 0.1 to 0.2] ## 0.2.0 diff --git a/docs/pages/references/permissionless/how-to/parallel-transactions.mdx b/docs/pages/references/permissionless/how-to/parallel-transactions.mdx index d711278e..dc908a39 100644 --- a/docs/pages/references/permissionless/how-to/parallel-transactions.mdx +++ b/docs/pages/references/permissionless/how-to/parallel-transactions.mdx @@ -1,4 +1,4 @@ -# How to send multiple user operations in parallel +# How to send multiple user operations in parallel [Batch calls into one userOp or submit concurrent ops using ERC-4337's multi-key nonce scheme] 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. diff --git a/docs/pages/references/permissionless/how-to/paymasters/conditional-sponsoring.mdx b/docs/pages/references/permissionless/how-to/paymasters/conditional-sponsoring.mdx index af7b1422..7774c739 100644 --- a/docs/pages/references/permissionless/how-to/paymasters/conditional-sponsoring.mdx +++ b/docs/pages/references/permissionless/how-to/paymasters/conditional-sponsoring.mdx @@ -1,4 +1,4 @@ -# How to conditionally sponsor a user operation +# How to conditionally sponsor a user operation [Gate sponsorship on arbitrary on-chain or off-chain criteria via the sponsorUserOperation middleware] The permissionless.js library allows you to conditionally sponsor a user operation. This can be useful in situations like: diff --git a/docs/pages/references/permissionless/how-to/signers/dfns.mdx b/docs/pages/references/permissionless/how-to/signers/dfns.mdx index d4472208..bebba5fb 100644 --- a/docs/pages/references/permissionless/how-to/signers/dfns.mdx +++ b/docs/pages/references/permissionless/how-to/signers/dfns.mdx @@ -1,6 +1,6 @@ -# How to use a DFNS signer with permissionless.js +# How to use a DFNS signer with permissionless.js [MPC/TSS wallet-as-a-service with biometric (WebAuthn) key access via a decentralized backend] [Dfns](https://www.dfns.co/) is an MPC/TSS Wallet-as-a-Service API/SDK provider. Dfns aims to optimize the balance of security and UX by deploying key shares into a decentralized network on the backend while enabling wallet access via biometric open standards on the frontend like Webauthn. Reach out [here](https://www.dfns.co/) to set up a sandbox environment to get started. diff --git a/docs/pages/references/permissionless/how-to/signers/dynamic.mdx b/docs/pages/references/permissionless/how-to/signers/dynamic.mdx index ba368030..c4b49280 100644 --- a/docs/pages/references/permissionless/how-to/signers/dynamic.mdx +++ b/docs/pages/references/permissionless/how-to/signers/dynamic.mdx @@ -1,4 +1,4 @@ -# How to use a Dynamic signer with permissionless.js +# How to use a Dynamic signer with permissionless.js [Embedded wallet with social/email login that drives a smart account as the on-chain signer] permissionless.js allows you to plug in custom signers to control the accounts that you create. Dynamic is an embedded wallet provider that allows you to easily onboard users to your dapp. It is possible to use Dynamic as a signer with permissionless.js, allowing you to use Dynamic to create and control smart accounts and sign transactions. diff --git a/docs/pages/references/permissionless/how-to/signers/fireblocks.mdx b/docs/pages/references/permissionless/how-to/signers/fireblocks.mdx index cfe973ca..db567896 100644 --- a/docs/pages/references/permissionless/how-to/signers/fireblocks.mdx +++ b/docs/pages/references/permissionless/how-to/signers/fireblocks.mdx @@ -1,6 +1,6 @@ import SmartAccounts from "./smartAccounts.mdx" -# How to use a Fireblocks signer with permissionless.js +# How to use a Fireblocks signer with permissionless.js [Institutional MPC-CMP custody with policy-engine governance as a smart account signer] [Fireblocks](https://www.fireblocks.com/) is a user-friendly platform designed for building blockchain-based products and managing digital asset operations. It uses a direct custody approach, combining high performance with zero counterparty risk and multi-layered security. The platform includes secure MPC-based digital asset wallets, a policy engine for governance and transaction rules, and comprehensive treasury management. Fireblocks' security framework features multiple layers, including MPC-CMP technology, secure enclaves, and a robust policy engine, ensuring protection against cyberattacks, internal threats, and human errors. It's widely used for various operations like treasury, trading, and managing NFTs, smart contracts, and user wallets. diff --git a/docs/pages/references/permissionless/how-to/signers/index.mdx b/docs/pages/references/permissionless/how-to/signers/index.mdx index 1d05a491..8e27496b 100644 --- a/docs/pages/references/permissionless/how-to/signers/index.mdx +++ b/docs/pages/references/permissionless/how-to/signers/index.mdx @@ -1,4 +1,4 @@ -# Signers for permissionless.js +# Signers for permissionless.js [Overview of EOA and third-party wallet services that can own and authorize permissionless.js smart accounts] Smart accounts are able to define custom authentication and authorization schemes, but still require signatures to validate user operations coming from signers. permissionless.js which accepts `LocalAccount | EIP1193Provider | WalletClient`, that can be passed as an owner to `createSmartAccountClient`. While by default these owners have full control over the smart account, it's possible to define custom roles and permissions for owners, and mix-and-match them to create complex multi-signature schemes, as well as rotate signers and revoke their access. diff --git a/docs/pages/references/permissionless/how-to/signers/lit-protocol.mdx b/docs/pages/references/permissionless/how-to/signers/lit-protocol.mdx index 1c1b8886..8ba215d1 100644 --- a/docs/pages/references/permissionless/how-to/signers/lit-protocol.mdx +++ b/docs/pages/references/permissionless/how-to/signers/lit-protocol.mdx @@ -1,4 +1,4 @@ -# How to Integrate Pimlico with Lit Protocol OTP Authentication +# How to Integrate Pimlico with Lit Protocol OTP Authentication [Decentralized PKP key management with email/SMS/WhatsApp OTP login via Stytch] This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. diff --git a/docs/pages/references/permissionless/how-to/signers/magic.mdx b/docs/pages/references/permissionless/how-to/signers/magic.mdx index 37636ca1..1e4d4dc3 100644 --- a/docs/pages/references/permissionless/how-to/signers/magic.mdx +++ b/docs/pages/references/permissionless/how-to/signers/magic.mdx @@ -1,6 +1,6 @@ import SmartAccounts from "./smartAccounts.mdx" -# How to use a Magic signer with permissionless.js +# How to use a Magic signer with permissionless.js [Social-login embedded wallet as a smart account signer with gas sponsorship and batching] [Magic](https://magic.link/) is a popular embedded wallet provider that supports social logins. While social logins are great, your users still need to onramp in order to pay for gas, which introduces significant friction. diff --git a/docs/pages/references/permissionless/how-to/signers/para.mdx b/docs/pages/references/permissionless/how-to/signers/para.mdx index e42f00f2..1141b911 100644 --- a/docs/pages/references/permissionless/how-to/signers/para.mdx +++ b/docs/pages/references/permissionless/how-to/signers/para.mdx @@ -1,5 +1,5 @@ -# How to use a Para signer with permissionless.js +# How to use a Para signer with permissionless.js [Cross-app portable MPC wallet via email or social login as a smart account signer] [Para](https://www.getpara.com/) offers a signing solution enabling the creation of secure, embedded MPC wallets accessible via email or social login. These wallets, compatible across different applications, offer portability, recoverability, and programmability, eliminating the need for users to establish separate signers or contract accounts for each application. diff --git a/docs/pages/references/permissionless/how-to/signers/particle-network.mdx b/docs/pages/references/permissionless/how-to/signers/particle-network.mdx index 14f2785c..217c123b 100644 --- a/docs/pages/references/permissionless/how-to/signers/particle-network.mdx +++ b/docs/pages/references/permissionless/how-to/signers/particle-network.mdx @@ -1,5 +1,5 @@ -# How to use a Particle Network signer with permissionless.js +# How to use a Particle Network signer with permissionless.js [MPC-TSS key management via social/email login] [Particle Network](https://particle.network/) is an intent-centric, modular wallet-as-a-service (WaaS). By utilizing MPC-TSS for key management, Particle can streamline onboarding via familiar Web2 methods such as Google, emails, and phone numbers. diff --git a/docs/pages/references/permissionless/how-to/signers/passkey-server.mdx b/docs/pages/references/permissionless/how-to/signers/passkey-server.mdx index 2497768a..b5260c53 100644 --- a/docs/pages/references/permissionless/how-to/signers/passkey-server.mdx +++ b/docs/pages/references/permissionless/how-to/signers/passkey-server.mdx @@ -1,4 +1,4 @@ -# How to use a Passkey (WebAuthn) server +# How to use a Passkey (WebAuthn) server [Server-side credential verification for passkey-controlled smart accounts] This how-to guide will walk you through the steps to integrate Passkey (WebAuthn) server with a smart account whose user operations are relayed and sponsored by Pimlico. diff --git a/docs/pages/references/permissionless/how-to/signers/passkey.mdx b/docs/pages/references/permissionless/how-to/signers/passkey.mdx index 9bc078c8..7011e54e 100644 --- a/docs/pages/references/permissionless/how-to/signers/passkey.mdx +++ b/docs/pages/references/permissionless/how-to/signers/passkey.mdx @@ -1,4 +1,4 @@ -# How to use a Passkey (WebAuthn) signer +# How to use a Passkey (WebAuthn) signer [Client-side biometric or hardware key as a smart account signer] This how-to guide will walk you through the steps to integrate Passkey (WebAuthn) signer with a smart account whose user operations are relayed and sponsored by Pimlico. diff --git a/docs/pages/references/permissionless/how-to/signers/privy.mdx b/docs/pages/references/permissionless/how-to/signers/privy.mdx index 3bd37bbf..b44d3fc9 100644 --- a/docs/pages/references/permissionless/how-to/signers/privy.mdx +++ b/docs/pages/references/permissionless/how-to/signers/privy.mdx @@ -1,4 +1,4 @@ -# How to use a Privy signer with permissionless.js +# How to use a Privy signer with permissionless.js [Embedded wallet with React hooks driving a smart account] permissionless.js allows you to plug in custom signers to control the accounts that you create. Privy is an embedded wallet provider that allows you to easily onboard users to your dapp. It is possible to use Privy as a signer with permissionless.js, allowing you to use Privy to create and control smart accounts and sign transactions. diff --git a/docs/pages/references/permissionless/how-to/signers/turnkey.mdx b/docs/pages/references/permissionless/how-to/signers/turnkey.mdx index d2fabba2..61af4dc9 100644 --- a/docs/pages/references/permissionless/how-to/signers/turnkey.mdx +++ b/docs/pages/references/permissionless/how-to/signers/turnkey.mdx @@ -1,4 +1,4 @@ -# How to use a Turnkey signer with permissionless.js +# How to use a Turnkey signer with permissionless.js [Custodial key infrastructure with policy engine for smart accounts] [Turnkey](https://turnkey.com/) is a key infrastructure provider with a great developer API and a powerful security policy engine. diff --git a/docs/pages/references/permissionless/how-to/signers/web3auth.mdx b/docs/pages/references/permissionless/how-to/signers/web3auth.mdx index 60d5429a..a5818481 100644 --- a/docs/pages/references/permissionless/how-to/signers/web3auth.mdx +++ b/docs/pages/references/permissionless/how-to/signers/web3auth.mdx @@ -1,4 +1,4 @@ -# How to use a Web3Auth signer with permissionless.js +# How to use a Web3Auth signer with permissionless.js [Social login signer with gasless UX via smart account sponsorship] [Web3Auth](https://web3auth.io/) is a popular embedded wallet provider that supports social logins. While social logins are great, your users still need to onramp in order to pay for gas, which introduces significant friction. diff --git a/docs/pages/references/permissionless/how-to/testing/build-bear.mdx b/docs/pages/references/permissionless/how-to/testing/build-bear.mdx index beb139ec..e53c18b3 100644 --- a/docs/pages/references/permissionless/how-to/testing/build-bear.mdx +++ b/docs/pages/references/permissionless/how-to/testing/build-bear.mdx @@ -1,4 +1,4 @@ -# Testing with BuildBear Sandboxes +# Testing with BuildBear Sandboxes [Forked chain sandbox with bundler and mock paymaster for integration tests] This guide introduces how to setup a BuildBear Sandbox with for testing the Alto bundler and a mock paymaster. We will be using viem and permissionless to interact with the sandbox enviornment. diff --git a/docs/pages/references/permissionless/how-to/testing/docker.mdx b/docs/pages/references/permissionless/how-to/testing/docker.mdx index f2eaa3a8..b146da27 100644 --- a/docs/pages/references/permissionless/how-to/testing/docker.mdx +++ b/docs/pages/references/permissionless/how-to/testing/docker.mdx @@ -1,4 +1,4 @@ -# Local Testing With Docker +# Local Testing With Docker [Fully local ERC-4337 stack with Alto bundler and mock paymaster via Docker] This guide introduces a ready-to-use mock test environment, that contains: diff --git a/docs/pages/references/permissionless/index.mdx b/docs/pages/references/permissionless/index.mdx index 81a63798..be87e0f2 100644 --- a/docs/pages/references/permissionless/index.mdx +++ b/docs/pages/references/permissionless/index.mdx @@ -22,7 +22,7 @@ import { HomePage } from 'vocs/components'
-# Overview +# permissionless.js [Thin viem wrapper for ERC-4337 — smart accounts (Safe, Kernel, Biconomy, Light), bundlers, and paymasters with no lock-in] ```ts twoslash const pimlicoApiKey = "YOUR_API_KEY_HERE" @@ -53,7 +53,7 @@ opReceipt!.actualGasUsed ``` -# Features +## Features - **High-level smart account support**: We support a high-level API for deploying and managing smart accounts, including some of the most popular implementations ([Safe](https://safe.global), [Kernel](https://zerodev.app), [Biconomy](https://biconomy.io), [TrustWallet](https://trustwallet.com/swift), etc.) - **Bundler support**: We support all bundler actions following [ERC-4337](https://eips.ethereum.org/EIPS/eip-4337#rpc-methods-eth-namespace). @@ -63,7 +63,7 @@ opReceipt!.actualGasUsed - **Built on & for viem**: permissionless.js is designed to be a thin wrapper around viem, maintaining the same style and overall feel viem provides. - and a lot more... -# Source Code +## Source Code The source code for permissionless.js is available on [GitHub](https://github.com/pimlicolabs/permissionless.js) diff --git a/docs/pages/references/permissionless/reference/accounts/to7702KernelSmartAccount.mdx b/docs/pages/references/permissionless/reference/accounts/to7702KernelSmartAccount.mdx index 7af6dc8b..dca0b95c 100644 --- a/docs/pages/references/permissionless/reference/accounts/to7702KernelSmartAccount.mdx +++ b/docs/pages/references/permissionless/reference/accounts/to7702KernelSmartAccount.mdx @@ -1,4 +1,4 @@ -# to7702KernelSmartAccount +# to7702KernelSmartAccount [Delegates an EOA to a Kernel smart account via EIP-7702 and returns an account instance] Creates a KernelAccount instance by delegating `owner` using EIP-7702. Check out [this guide](/guides/eip7702/demo) for a complete tutorial. diff --git a/docs/pages/references/permissionless/reference/accounts/to7702SimpleSmartAccount.mdx b/docs/pages/references/permissionless/reference/accounts/to7702SimpleSmartAccount.mdx index 632b98ed..092d4f26 100644 --- a/docs/pages/references/permissionless/reference/accounts/to7702SimpleSmartAccount.mdx +++ b/docs/pages/references/permissionless/reference/accounts/to7702SimpleSmartAccount.mdx @@ -1,4 +1,4 @@ -# to7702SimpleSmartAccount +# to7702SimpleSmartAccount [Delegates an EOA to a SimpleAccount via EIP-7702 and returns an account instance] Creates a SimpleAccount instance by delegating `owner` using EIP-7702. diff --git a/docs/pages/references/permissionless/reference/accounts/toKernelSmartAccount.mdx b/docs/pages/references/permissionless/reference/accounts/toKernelSmartAccount.mdx index 30cfa319..00872ee1 100644 --- a/docs/pages/references/permissionless/reference/accounts/toKernelSmartAccount.mdx +++ b/docs/pages/references/permissionless/reference/accounts/toKernelSmartAccount.mdx @@ -1,4 +1,4 @@ -# toKernelSmartAccount +# toKernelSmartAccount [Constructs a Kernel smart account instance controlled by the given owner] Creates a KernelAccount instance controlled by a `owners`. Check out [this guide](/guides/how-to/accounts/use-kernel-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/reference/accounts/toLightSmartAccount.mdx b/docs/pages/references/permissionless/reference/accounts/toLightSmartAccount.mdx index ef1d519f..cb21d3b6 100644 --- a/docs/pages/references/permissionless/reference/accounts/toLightSmartAccount.mdx +++ b/docs/pages/references/permissionless/reference/accounts/toLightSmartAccount.mdx @@ -1,4 +1,4 @@ -# toLightSmartAccount +# toLightSmartAccount [Constructs an Alchemy LightAccount instance controlled by the given owner] Creates a LightAccount instance controlled by a `owner`. diff --git a/docs/pages/references/permissionless/reference/accounts/toNexusSmartAccount.mdx b/docs/pages/references/permissionless/reference/accounts/toNexusSmartAccount.mdx index 576cc1d2..e9b5e2dd 100644 --- a/docs/pages/references/permissionless/reference/accounts/toNexusSmartAccount.mdx +++ b/docs/pages/references/permissionless/reference/accounts/toNexusSmartAccount.mdx @@ -1,4 +1,4 @@ -# toNexusSmartAccount +# toNexusSmartAccount [Constructs a Biconomy Nexus smart account instance controlled by the given owner] Creates a Biconomy's [Nexus SmartAccount](https://github.com/bcnmy/nexus) instance controlled by a `owner`. diff --git a/docs/pages/references/permissionless/reference/accounts/toSafeSmartAccount.mdx b/docs/pages/references/permissionless/reference/accounts/toSafeSmartAccount.mdx index 6d871a13..27daa713 100644 --- a/docs/pages/references/permissionless/reference/accounts/toSafeSmartAccount.mdx +++ b/docs/pages/references/permissionless/reference/accounts/toSafeSmartAccount.mdx @@ -1,4 +1,4 @@ -# toSafeSmartAccount +# toSafeSmartAccount [Constructs a Safe smart account instance controlled by the given owners] Creates a Safe smart account instance controlled by a `owners`. diff --git a/docs/pages/references/permissionless/reference/accounts/toSimpleSmartAccount.mdx b/docs/pages/references/permissionless/reference/accounts/toSimpleSmartAccount.mdx index 71b45b7d..df7107f2 100644 --- a/docs/pages/references/permissionless/reference/accounts/toSimpleSmartAccount.mdx +++ b/docs/pages/references/permissionless/reference/accounts/toSimpleSmartAccount.mdx @@ -1,4 +1,4 @@ -# toSimpleSmartAccount +# toSimpleSmartAccount [Constructs an ERC-4337 SimpleAccount instance controlled by the given owner] Creates a SimpleAccount instance controlled by a `owner`. diff --git a/docs/pages/references/permissionless/reference/accounts/toTrustSmartAccount.mdx b/docs/pages/references/permissionless/reference/accounts/toTrustSmartAccount.mdx index 4a455a0f..1b568e2c 100644 --- a/docs/pages/references/permissionless/reference/accounts/toTrustSmartAccount.mdx +++ b/docs/pages/references/permissionless/reference/accounts/toTrustSmartAccount.mdx @@ -1,4 +1,4 @@ -# toTrustSmartAccount +# toTrustSmartAccount [Constructs a Trust Wallet smart account instance controlled by the given owner] Creates a Trust Wallet Smart Account instance controlled by a `owner`. Check out [this guide](/references/permissionless/how-to/accounts/use-trustwallet-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/reference/clients/pimlicoClient.mdx b/docs/pages/references/permissionless/reference/clients/pimlicoClient.mdx index a4a876a4..2a86b685 100644 --- a/docs/pages/references/permissionless/reference/clients/pimlicoClient.mdx +++ b/docs/pages/references/permissionless/reference/clients/pimlicoClient.mdx @@ -1,4 +1,4 @@ -# Pimlico Client +# Pimlico Client [Viem client extended with ERC-4337, ERC-7677, and Pimlico-specific bundler and paymaster actions] A Pimlico Bundler Client is an interface to official ERC-4337 & ERC-7677 JSON-RPC API methods that include sending user operations, estimation user operation gas limits, getting user operation receipts, supporting paymaster rpc methods and more as well as the Pimlico-specific bundler methods [pimlico_getUserOperationStatus](/references/bundler/endpoints/pimlico_getUserOperationStatus) and [pimlico_getUserOperationGasPrice](/references/bundler/endpoints/pimlico_getUserOperationGasPrice). diff --git a/docs/pages/references/permissionless/reference/clients/smartAccountClient.mdx b/docs/pages/references/permissionless/reference/clients/smartAccountClient.mdx index 9aef4809..167004e1 100644 --- a/docs/pages/references/permissionless/reference/clients/smartAccountClient.mdx +++ b/docs/pages/references/permissionless/reference/clients/smartAccountClient.mdx @@ -1,4 +1,4 @@ -# Smart Account Client +# Smart Account Client [Viem wallet client extended with smart account actions for sending user operations] A Smart Account Client is an almost drop-in replacement for a standard viem [walletClient](https://viem.sh/docs/clients/wallet) but for managing smart accounts instead of EOA accounts. In addition, a Smart Account Client also contains, depending on the underlying smart account implementation used, a few extra actions that are specific to smart accounts. diff --git a/docs/pages/references/permissionless/reference/erc7579-actions/accountId.mdx b/docs/pages/references/permissionless/reference/erc7579-actions/accountId.mdx index f37928f7..6adbd663 100644 --- a/docs/pages/references/permissionless/reference/erc7579-actions/accountId.mdx +++ b/docs/pages/references/permissionless/reference/erc7579-actions/accountId.mdx @@ -1,4 +1,4 @@ -# accountId +# accountId [Reads the ERC-7579 account ID string from an installed smart account] Gets the accountId of the smart account as defined in [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579). Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/reference/erc7579-actions/installModule.mdx b/docs/pages/references/permissionless/reference/erc7579-actions/installModule.mdx index 18b64729..3391642d 100644 --- a/docs/pages/references/permissionless/reference/erc7579-actions/installModule.mdx +++ b/docs/pages/references/permissionless/reference/erc7579-actions/installModule.mdx @@ -1,4 +1,4 @@ -# installModule +# installModule [Installs an ERC-7579 module on a smart account and returns the user operation hash] Installs a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module to the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/reference/erc7579-actions/isModuleInstalled.mdx b/docs/pages/references/permissionless/reference/erc7579-actions/isModuleInstalled.mdx index 5f8a2cc3..8a41f463 100644 --- a/docs/pages/references/permissionless/reference/erc7579-actions/isModuleInstalled.mdx +++ b/docs/pages/references/permissionless/reference/erc7579-actions/isModuleInstalled.mdx @@ -1,4 +1,4 @@ -# isModuleInstalled +# isModuleInstalled [Checks whether an ERC-7579 module is currently installed on a smart account, returning a boolean] Checks if an [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module is installed on the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/reference/erc7579-actions/supportsExecutionMode.mdx b/docs/pages/references/permissionless/reference/erc7579-actions/supportsExecutionMode.mdx index df344f65..87d58da3 100644 --- a/docs/pages/references/permissionless/reference/erc7579-actions/supportsExecutionMode.mdx +++ b/docs/pages/references/permissionless/reference/erc7579-actions/supportsExecutionMode.mdx @@ -1,4 +1,4 @@ -# supportsExecutionMode +# supportsExecutionMode [Queries an ERC-7579 smart account to determine if a given execution mode is supported, returning a boolean] Checks if a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) execution mode is supported on the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/reference/erc7579-actions/supportsModule.mdx b/docs/pages/references/permissionless/reference/erc7579-actions/supportsModule.mdx index 13da8770..afa35dfd 100644 --- a/docs/pages/references/permissionless/reference/erc7579-actions/supportsModule.mdx +++ b/docs/pages/references/permissionless/reference/erc7579-actions/supportsModule.mdx @@ -1,4 +1,4 @@ -# supportsModule +# supportsModule [Checks whether an ERC-7579 smart account supports a given module type, returning a boolean] Checks if a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module type is supported by the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/reference/erc7579-actions/uninstallModule.mdx b/docs/pages/references/permissionless/reference/erc7579-actions/uninstallModule.mdx index 04c48d8b..0fa3b507 100644 --- a/docs/pages/references/permissionless/reference/erc7579-actions/uninstallModule.mdx +++ b/docs/pages/references/permissionless/reference/erc7579-actions/uninstallModule.mdx @@ -1,4 +1,4 @@ -# uninstallModule +# uninstallModule [Removes an ERC-7579 module from a smart account and returns the resulting User Operation hash] Uninstalls a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module from the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/reference/index.mdx b/docs/pages/references/permissionless/reference/index.mdx index a6383b19..5734bce0 100644 --- a/docs/pages/references/permissionless/reference/index.mdx +++ b/docs/pages/references/permissionless/reference/index.mdx @@ -1,4 +1,4 @@ -# permissionless.js +# permissionless.js [TypeScript ERC-4337 library built on viem for bundlers, paymasters, and smart accounts] permissionless.js is a TypeScript library built on viem for interacting with ERC-4337 bundlers, paymasters, and User Operations. diff --git a/docs/pages/references/permissionless/reference/pimlico-actions/getPaymasterData.mdx b/docs/pages/references/permissionless/reference/pimlico-actions/getPaymasterData.mdx index af8db734..24be2c6e 100644 --- a/docs/pages/references/permissionless/reference/pimlico-actions/getPaymasterData.mdx +++ b/docs/pages/references/permissionless/reference/pimlico-actions/getPaymasterData.mdx @@ -2,7 +2,7 @@ description: Retrieves paymaster-related properties to be used for the User Operation. --- -# getPaymasterData +# getPaymasterData [Fetches final paymaster signature and data from Pimlico to attach to a ready-to-submit User Operation] Retrieves paymaster-related User Operation properties to be used for sending the User Operation from Pimlico. diff --git a/docs/pages/references/permissionless/reference/pimlico-actions/getPaymasterStubData.mdx b/docs/pages/references/permissionless/reference/pimlico-actions/getPaymasterStubData.mdx index e9454a2b..385aaccc 100644 --- a/docs/pages/references/permissionless/reference/pimlico-actions/getPaymasterStubData.mdx +++ b/docs/pages/references/permissionless/reference/pimlico-actions/getPaymasterStubData.mdx @@ -2,7 +2,7 @@ description: Retrieves paymaster-related properties to be used for the User Operation. --- -# getPaymasterStubData +# getPaymasterStubData [Fetches stub paymaster data from Pimlico for use during User Operation gas estimation] Retrieves paymaster-related User Operation properties to be used for User Operation gas estimation from Pimlico. diff --git a/docs/pages/references/permissionless/reference/pimlico-actions/getUserOperationGasPrice.mdx b/docs/pages/references/permissionless/reference/pimlico-actions/getUserOperationGasPrice.mdx index e550b678..ee275338 100644 --- a/docs/pages/references/permissionless/reference/pimlico-actions/getUserOperationGasPrice.mdx +++ b/docs/pages/references/permissionless/reference/pimlico-actions/getUserOperationGasPrice.mdx @@ -1,4 +1,4 @@ -# getUserOperationGasPrice +# getUserOperationGasPrice [Retrieves slow/medium/fast gas price tiers that Pimlico's bundler will accept for a User Operation] Return the gas price that Pimlico's bundler will accept for the User Operation. diff --git a/docs/pages/references/permissionless/reference/pimlico-actions/getUserOperationStatus.mdx b/docs/pages/references/permissionless/reference/pimlico-actions/getUserOperationStatus.mdx index 2e422173..dc02683d 100644 --- a/docs/pages/references/permissionless/reference/pimlico-actions/getUserOperationStatus.mdx +++ b/docs/pages/references/permissionless/reference/pimlico-actions/getUserOperationStatus.mdx @@ -1,4 +1,4 @@ -# getUserOperationStatus +# getUserOperationStatus [Returns the inclusion status and optional transaction hash for a submitted User Operation] Return a status of the User Operation as well as potentially the hash of the transaction being used to bundle the User Operation. diff --git a/docs/pages/references/permissionless/reference/pimlico-actions/validateSponsorshipPolicies.mdx b/docs/pages/references/permissionless/reference/pimlico-actions/validateSponsorshipPolicies.mdx index 111d5d72..8f6e3bc5 100644 --- a/docs/pages/references/permissionless/reference/pimlico-actions/validateSponsorshipPolicies.mdx +++ b/docs/pages/references/permissionless/reference/pimlico-actions/validateSponsorshipPolicies.mdx @@ -1,4 +1,4 @@ -# validateSponsorshipPolicies +# validateSponsorshipPolicies [Checks a User Operation against Pimlico sponsorship policies and returns the ones willing to sponsor it] Validates a User Operation against an array of [sponsorship policies](https://dashboard.pimlico.io/sponsorship-policies), and returns an array of sponsorship policies (alongside additional data for each policy) that are willing to sponsor the user operation. diff --git a/docs/pages/references/permissionless/reference/public-actions/getAccountNonce.mdx b/docs/pages/references/permissionless/reference/public-actions/getAccountNonce.mdx index ab5ac712..0a0f8fcc 100644 --- a/docs/pages/references/permissionless/reference/public-actions/getAccountNonce.mdx +++ b/docs/pages/references/permissionless/reference/public-actions/getAccountNonce.mdx @@ -1,4 +1,4 @@ -# getAccountNonce +# getAccountNonce [Reads the current ERC-4337 nonce for a smart account at a given key from the EntryPoint] Returns the current nonce of the smart account for a specified key. diff --git a/docs/pages/references/permissionless/reference/public-actions/getSenderAddress.mdx b/docs/pages/references/permissionless/reference/public-actions/getSenderAddress.mdx index a0ef79b4..1a6dbb7a 100644 --- a/docs/pages/references/permissionless/reference/public-actions/getSenderAddress.mdx +++ b/docs/pages/references/permissionless/reference/public-actions/getSenderAddress.mdx @@ -1,4 +1,4 @@ -# getSenderAddress +# getSenderAddress [Derives the counterfactual smart account address from an initCode using the EntryPoint's factory simulation] Return a sender address corresponding to the initCode of the User Operation where the smart account will be deployed. diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/estimateUserOperationGas.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/estimateUserOperationGas.mdx index 5f26a32b..4c82ece3 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/estimateUserOperationGas.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/estimateUserOperationGas.mdx @@ -1,4 +1,4 @@ -# estimateUserOperationGas +# estimateUserOperationGas [Estimates the gas limits required to execute a UserOperation via the bundler] `SmartAccountClient` extends viem's `BundlerClient` and so extends the `estimateUserOperationGas` method. diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/getChainId.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/getChainId.mdx index 70592931..9db0dbee 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/getChainId.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/getChainId.mdx @@ -1,4 +1,4 @@ -# getChainId +# getChainId [Fetches the chain ID of the connected bundler network and returns it as a number] `SmartAccountClient` extends viem's `BundlerClient` and so extends the `getChainId` method. diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/getSupportedEntryPoints.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/getSupportedEntryPoints.mdx index ea2af042..f2383c13 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/getSupportedEntryPoints.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/getSupportedEntryPoints.mdx @@ -1,4 +1,4 @@ -# getSupportedEntryPoints +# getSupportedEntryPoints [Queries the bundler for its supported EntryPoint contract addresses] `SmartAccountClient` extends viem's `BundlerClient` and so extends the `getSupportedEntryPoints` method. diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperation.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperation.mdx index 454472d5..a22a22d2 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperation.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperation.mdx @@ -1,4 +1,4 @@ -# getUserOperation +# getUserOperation [Retrieves a UserOperation and its status by hash from the bundler's mempool] `SmartAccountClient` extends viem's `BundlerClient` and so extends the `getUserOperation` method. diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperationReceipt.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperationReceipt.mdx index 831e680b..7b1d7643 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperationReceipt.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperationReceipt.mdx @@ -1,4 +1,4 @@ -# getUserOperationReceipt +# getUserOperationReceipt [Fetches the on-chain receipt of a mined UserOperation by its hash] `SmartAccountClient` extends viem's `BundlerClient` and so extends the `getUserOperationReceipt` method. diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/prepareUserOperation.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/prepareUserOperation.mdx index 04d8e32a..b799418a 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/prepareUserOperation.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/prepareUserOperation.mdx @@ -1,4 +1,4 @@ -# prepareUserOperation +# prepareUserOperation [Fills, signs, and encodes a UserOperation ready for submission to the bundler] `SmartAccountClient` extends viem's `BundlerClient` and so extends the `prepareUserOperation` method. diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/sendTransaction.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/sendTransaction.mdx index e383a60d..438d29ba 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/sendTransaction.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/sendTransaction.mdx @@ -1,4 +1,4 @@ -# sendTransaction +# sendTransaction [Sends a transaction from a smart account via a UserOperation and returns the transaction hash] Send a transaction from a smart account using the same `sendTransaction` interface as viem. diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/sendUserOperation.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/sendUserOperation.mdx index a59729cf..06d04a25 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/sendUserOperation.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/sendUserOperation.mdx @@ -1,4 +1,4 @@ -# sendUserOperation +# sendUserOperation [Submits a signed UserOperation to the bundler and returns its hash] `SmartAccountClient` extends viem's `BundlerClient` and so extends the `sendUserOperation` method. diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/waitForUserOperationReceipt.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/waitForUserOperationReceipt.mdx index b3ddfa7f..bb3f2630 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/waitForUserOperationReceipt.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/waitForUserOperationReceipt.mdx @@ -1,4 +1,4 @@ -# waitForUserOperationReceipt +# waitForUserOperationReceipt [Polls until a UserOperation is mined and returns its full receipt] `SmartAccountClient` extends viem's `BundlerClient` and so extends the `waitForUserOperationReceipt` method. diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/writeContract.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/writeContract.mdx index e254c354..711fc7cd 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/writeContract.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/writeContract.mdx @@ -1,4 +1,4 @@ -# writeContract +# writeContract [Encodes and sends a state-mutating contract call from a smart account as a UserOperation] Uses a smart account to executes a write function on a contract. diff --git a/docs/pages/references/permissionless/reference/utils/getRequiredPrefund.mdx b/docs/pages/references/permissionless/reference/utils/getRequiredPrefund.mdx index 25b33876..7f5d0d71 100644 --- a/docs/pages/references/permissionless/reference/utils/getRequiredPrefund.mdx +++ b/docs/pages/references/permissionless/reference/utils/getRequiredPrefund.mdx @@ -1,4 +1,4 @@ -# getRequiredPrefund +# getRequiredPrefund [Computes the minimum wei balance a smart account must hold to cover a UserOperation's gas costs] Returns the minimum required funds in wei in the senders's smart account to execute the user operation. diff --git a/docs/pages/references/permissionless/tutorial/index.mdx b/docs/pages/references/permissionless/tutorial/index.mdx index e98e9ecf..c3abbcba 100644 --- a/docs/pages/references/permissionless/tutorial/index.mdx +++ b/docs/pages/references/permissionless/tutorial/index.mdx @@ -1,4 +1,4 @@ -# Tutorials +# Tutorials [Step-by-step guides for building with permissionless.js and Pimlico] Learning-oriented lessons that take you through a series of steps to complete a project. Most useful when you want to get started with Pimlico. diff --git a/docs/pages/references/permissionless/tutorial/tutorial-1.mdx b/docs/pages/references/permissionless/tutorial/tutorial-1.mdx index c413941f..203ea0eb 100644 --- a/docs/pages/references/permissionless/tutorial/tutorial-1.mdx +++ b/docs/pages/references/permissionless/tutorial/tutorial-1.mdx @@ -1,4 +1,4 @@ -# Tutorial 1 — Send your first gasless transaction +# Tutorial 1 — Send your first gasless transaction [Sponsor a user operation with a verifying paymaster and submit it via Pimlico's bundler] In this tutorial, you will submit your first fully-gasless transaction from a smart account. diff --git a/docs/pages/references/permissionless/tutorial/tutorial-2.mdx b/docs/pages/references/permissionless/tutorial/tutorial-2.mdx index 016a2d45..91bec1eb 100644 --- a/docs/pages/references/permissionless/tutorial/tutorial-2.mdx +++ b/docs/pages/references/permissionless/tutorial/tutorial-2.mdx @@ -1,4 +1,4 @@ -# Tutorial 2 — Submit a user operation with an ERC-20 Paymaster +# Tutorial 2 — Submit a user operation with an ERC-20 Paymaster [Deploy a smart account on Base Sepolia and pay gas fees in USDC using an ERC-20 paymaster] :::info You can visit our [ERC-20 Paymaster overview page](/references/paymaster/erc20-paymaster) to learn more about the design and architecture of our ERC-20 Paymaster, and the deployed smart contract addresses. diff --git a/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterData.mdx b/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterData.mdx index 5e3c1cb5..ac645512 100644 --- a/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterData.mdx +++ b/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterData.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# getPaymasterData +# getPaymasterData [Fetches final paymaster signature and data for a UserOperation] Return values to be used in paymaster-related fields of a signed user operation. This method calls `pm_getPaymasterData` and is part of the experimental [ERC-7677 specification](https://github.com/ethereum/ERCs/pull/360/files). diff --git a/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterStubData.mdx b/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterStubData.mdx index fb0944cb..e36fa5a2 100644 --- a/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterStubData.mdx +++ b/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterStubData.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# getPaymasterStubData +# getPaymasterStubData [Fetches stub paymaster fields for gas estimation of a UserOperation] Returns stub values to be used in paymaster-related fields of an unsigned user operation for gas estimation. This method calls `pm_getPaymasterStubData` and is part of the experimental [ERC-7677 specification](https://github.com/ethereum/ERCs/pull/360/files). diff --git a/docs/pages/references/permissionless/v0_1/faqs.mdx b/docs/pages/references/permissionless/v0_1/faqs.mdx index 36709584..fe8bb7a3 100644 --- a/docs/pages/references/permissionless/v0_1/faqs.mdx +++ b/docs/pages/references/permissionless/v0_1/faqs.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../VersionWarning" -# permissionless.js FAQs +# permissionless.js FAQs [Common questions and answers for the v0.1 SDK] ## Getting `WaitForUserOperationReceiptTimeoutError`? diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/support.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/support.mdx index 9b716006..eef9104e 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/support.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/support.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# Account Support +# Account Support [EntryPoint v0.6 and v0.7 compatibility matrix for all six built-in account types] 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. diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-biconomy-account.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-biconomy-account.mdx index 9a60c7a7..8953036c 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-biconomy-account.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-biconomy-account.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# How to create and use a Biconomy account with permissionless.js +# How to create and use a Biconomy account with permissionless.js [EntryPoint v0.6 only; supports session keys and custom plugins via the Biconomy Smart Account] [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. diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-erc7579-account.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-erc7579-account.mdx index 2dc534c6..bad5fec2 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-erc7579-account.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-erc7579-account.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# 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 Safe or Kernel using the modular account interface] [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. diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-kernel-account.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-kernel-account.mdx index c799affe..b2bce8e3 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-kernel-account.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-kernel-account.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# How to create and use a Kernel account with permissionless.js +# How to create and use a Kernel account with permissionless.js [ERC-7579-compatible modular account with plugin support for session keys and recovery] :::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. diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-light-account.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-light-account.mdx index fca31b0b..f9565a56 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-light-account.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-light-account.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# How to create and use a LightAccount with permissionless.js +# How to create and use a LightAccount with permissionless.js [Alchemy's SimpleAccount fork with transferrable ownership and upgradability; EntryPoint v0.6 only] [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. diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-safe-account.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-safe-account.mdx index bf7162a8..8b594044 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-safe-account.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-safe-account.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# How to create and use a Safe account with permissionless.js +# How to create and use a Safe account with permissionless.js [Battle-tested multisig smart account via Safe's ERC-4337 module, compatible with EntryPoint v0.6 and v0.7] [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. diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-simple-account.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-simple-account.mdx index 9562cabf..9a1650ca 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-simple-account.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-simple-account.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# How to create and use a SimpleAccount with permissionless.js +# How to create and use a SimpleAccount with permissionless.js [The Eth-Infinitism reference ERC-4337 account — single ECDSA signer with minimal overhead] [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. diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-trustwallet-account.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-trustwallet-account.mdx index 305cd1fd..2be639c3 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-trustwallet-account.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-trustwallet-account.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# How to create and use a Trust smart account with permissionless.js +# How to create and use a Trust smart account with permissionless.js [Trust Wallet's ISO-certified Barz account with built-in on-chain security monitoring; EntryPoint v0.6 only] :::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. diff --git a/docs/pages/references/permissionless/v0_1/how-to/dapp-gas-sponsorship.mdx b/docs/pages/references/permissionless/v0_1/how-to/dapp-gas-sponsorship.mdx index 4b1fa86b..1fcfd3e5 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/dapp-gas-sponsorship.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/dapp-gas-sponsorship.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../VersionWarning" -# Update your existing app to sponsor gas fees for smart account users +# Update your existing app to sponsor gas fees for smart account users [Wire an ERC-7677 proxy and EIP-5792 paymaster capability into an existing dapp without embedding a wallet] If you are looking to sponsor gas fees for your users without embedding a wallet in your app, you can use this guide to update your existing app to sponsor gas fees for smart accounts. diff --git a/docs/pages/references/permissionless/v0_1/how-to/error-handling.mdx b/docs/pages/references/permissionless/v0_1/how-to/error-handling.mdx index a58fd789..3d4b8f65 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/error-handling.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/error-handling.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../VersionWarning" -# Error Handling +# Error Handling [Strongly-typed catch blocks using permissionless.js's per-module ErrorType exports, mirroring viem's error-handling pattern] Similarly to how [error handling in viem works](https://viem.sh/docs/error-handling), every module in permissionless.js exports an accompanying error type which you can use to strongly type your `catch` statements. diff --git a/docs/pages/references/permissionless/v0_1/how-to/local-testing.mdx b/docs/pages/references/permissionless/v0_1/how-to/local-testing.mdx index 064f8436..eeffcf1d 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/local-testing.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/local-testing.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../VersionWarning" -# Local Testing +# Local Testing [Docker Compose environment with Alto bundler, mock paymaster, Anvil, and all major account factories pre-deployed] This guide introduces a ready-to-use mock test environment, that contains: diff --git a/docs/pages/references/permissionless/v0_1/how-to/migration-guide.mdx b/docs/pages/references/permissionless/v0_1/how-to/migration-guide.mdx index 787296de..39bb7b38 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/migration-guide.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/migration-guide.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../VersionWarning" -# Migration Guide +# Migration Guide [Breaking changes when upgrading to v0.1.x while staying on EntryPoint v0.6] ## 0.1.0 diff --git a/docs/pages/references/permissionless/v0_1/how-to/parallel-transactions.mdx b/docs/pages/references/permissionless/v0_1/how-to/parallel-transactions.mdx index 89a1feef..11e9806e 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/parallel-transactions.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/parallel-transactions.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../VersionWarning" -# How to send multiple user operations in parallel +# How to send multiple user operations in parallel [Batch calls or submit concurrent ops without nonce collisions] 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. diff --git a/docs/pages/references/permissionless/v0_1/how-to/paymasters/conditional-sponsoring.mdx b/docs/pages/references/permissionless/v0_1/how-to/paymasters/conditional-sponsoring.mdx index 1d95413d..db8a9772 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/paymasters/conditional-sponsoring.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/paymasters/conditional-sponsoring.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# How to conditionally sponsor a user operation +# How to conditionally sponsor a user operation [Apply custom logic to decide which ops get gas sponsorship] The permissionless.js library allows you to conditionally sponsor a user operation. This can be useful in situations like: diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/dfns.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/dfns.mdx index f8647983..66ce870b 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/dfns.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/dfns.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" import SmartAccounts from "./smartAccounts.mdx" -# How to use a DFNS signer with permissionless.js +# How to use a DFNS signer with permissionless.js [MPC/TSS wallet-as-a-service with WebAuthn-based key access] [Dfns](https://www.dfns.co/) is an MPC/TSS Wallet-as-a-Service API/SDK provider. Dfns aims to optimize the balance of security and UX by deploying key shares into a decentralized network on the backend while enabling wallet access via biometric open standards on the frontend like Webauthn. Reach out [here](https://www.dfns.co/) to set up a sandbox environment to get started. diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/dynamic.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/dynamic.mdx index d8e291c4..a95b0c07 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/dynamic.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/dynamic.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# How to use a Dynamic signer with permissionless.js +# How to use a Dynamic signer with permissionless.js [Embedded wallet with social and email login for smart account control] permissionless.js allows you to plug in custom signers to control the accounts that you create. Dynamic is an embedded wallet provider that allows you to easily onboard users to your dapp. It is possible to use Dynamic as a signer with permissionless.js, allowing you to use Dynamic to create and control smart accounts and sign transactions. diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/fireblocks.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/fireblocks.mdx index 14a336a4..141e9484 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/fireblocks.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/fireblocks.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" import SmartAccounts from "./smartAccounts.mdx" -# How to use a Fireblocks signer with permissionless.js +# How to use a Fireblocks signer with permissionless.js [Institutional-grade MPC-CMP custody with policy engine governance] [Fireblocks](https://www.fireblocks.com/) is a user-friendly platform designed for building blockchain-based products and managing digital asset operations. It uses a direct custody approach, combining high performance with zero counterparty risk and multi-layered security. The platform includes secure MPC-based digital asset wallets, a policy engine for governance and transaction rules, and comprehensive treasury management. Fireblocks' security framework features multiple layers, including MPC-CMP technology, secure enclaves, and a robust policy engine, ensuring protection against cyberattacks, internal threats, and human errors. It's widely used for various operations like treasury, trading, and managing NFTs, smart contracts, and user wallets. diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/index.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/index.mdx index 4de65cc7..39852ffe 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/index.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/index.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# Signers for permissionless.js +# Signers for permissionless.js [Overview of EOA and third-party wallet services that implement SmartAccountSigner] Smart accounts are able to define custom authentication and authorization schemes, but still require signatures to validate user operations coming from signers. permissionless.js defines the `SmartAccountSigner` interface, which is a generic interface that signers for smart accounts can implement. While by default these signers have full control over the smart account, it's possible to define custom roles and permissions for signers, and mix-and-match them to create complex multi-signature schemes, as well as rotate signers and revoke their access. diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/lit-protocol.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/lit-protocol.mdx index ffa97218..35d59843 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/lit-protocol.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/lit-protocol.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# How to Integrate Pimlico with Lit Protocol OTP Authentication +# How to Integrate Pimlico with Lit Protocol OTP Authentication [Decentralized PKP signing via email, SMS, or WhatsApp OTP] This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/magic.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/magic.mdx index a8025a45..de79597d 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/magic.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/magic.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" import SmartAccounts from "./smartAccounts.mdx" -# How to use a Magic signer with permissionless.js +# How to use a Magic signer with permissionless.js [Embedded wallet with social login, gas abstracted via Pimlico paymaster] [Magic](https://magic.link/) is a popular embedded wallet provider that supports social logins. While social logins are great, your users still need to onramp in order to pay for gas, which introduces significant friction. diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/para.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/para.mdx index ae1bbe4a..069513da 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/para.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/para.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" import SmartAccounts from "./smartAccounts.mdx" -# How to use a Para signer with permissionless.js +# How to use a Para signer with permissionless.js [Embedded MPC wallet portable across apps via email or social login] [Para](https://www.getpara.com/) offers a signing solution enabling the creation of secure, embedded MPC wallets accessible via email or social login. These wallets, compatible across different applications, offer portability, recoverability, and programmability, eliminating the need for users to establish separate signers or contract accounts for each application. diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/particle-network.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/particle-network.mdx index 22ee6565..ea8291e5 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/particle-network.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/particle-network.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" import SmartAccounts from "./smartAccounts.mdx" -# How to use a Particle Network signer with permissionless.js +# How to use a Particle Network signer with permissionless.js [MPC-TSS wallet-as-a-service with Web2 social onboarding] [Particle Network](https://particle.network/) is an intent-centric, modular wallet-as-a-service (WaaS). By utilizing MPC-TSS for key management, Particle can streamline onboarding via familiar Web2 methods such as Google, emails, and phone numbers. diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/privy.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/privy.mdx index 0e36fe3f..eed689b4 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/privy.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/privy.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# How to use a Privy signer with permissionless.js +# How to use a Privy signer with permissionless.js [Embedded wallet with social and email login for smart account control] permissionless.js allows you to plug in custom signers to control the accounts that you create. Privy is an embedded wallet provider that allows you to easily onboard users to your dapp. It is possible to use Privy as a signer with permissionless.js, allowing you to use Privy to create and control smart accounts and sign transactions. diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/turnkey.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/turnkey.mdx index 791f85e3..eaba17fb 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/turnkey.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/turnkey.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" import SmartAccounts from "./smartAccounts.mdx" -# How to use a Turnkey signer with permissionless.js +# How to use a Turnkey signer with permissionless.js [API-first key infrastructure with a programmable security policy engine] [Turnkey](https://turnkey.com/) is a key infrastructure provider with a great developer API and a powerful security policy engine. diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/web3auth.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/web3auth.mdx index 37682ce5..6308cf52 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/web3auth.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/web3auth.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" import SmartAccounts from "./smartAccounts.mdx" -# How to use a Web3Auth signer with permissionless.js +# How to use a Web3Auth signer with permissionless.js [Plug social-login wallets into smart accounts for gas sponsorship and batched transactions] [Web3Auth](https://web3auth.io/) is a popular embedded wallet provider that supports social logins. While social logins are great, your users still need to onramp in order to pay for gas, which introduces significant friction. diff --git a/docs/pages/references/permissionless/v0_1/index.mdx b/docs/pages/references/permissionless/v0_1/index.mdx index 0150c6b9..61de052a 100644 --- a/docs/pages/references/permissionless/v0_1/index.mdx +++ b/docs/pages/references/permissionless/v0_1/index.mdx @@ -26,7 +26,7 @@ import { HomePage } from 'vocs/components'
-# Overview +# permissionless.js v0.1 [Legacy v0.1 of permissionless.js — the previous major version superseded by permissionless.js 0.2.x at /references/permissionless] ```ts const pimlicoApiKey = "YOUR_API_KEY_HERE" @@ -58,7 +58,7 @@ opReceipt!.actualGasUsed ``` -# Features +## Features - **High-level smart account support**: We support a high-level API for deploying and managing smart accounts, including some of the most popular implementations ([Safe](https://safe.global), [Kernel](https://zerodev.app), [Biconomy](https://biconomy.io), [TrustWallet](https://trustwallet.com/swift), etc.) - **Bundler support**: We support all bundler actions following [ERC-4337](https://eips.ethereum.org/EIPS/eip-4337#rpc-methods-eth-namespace). @@ -68,7 +68,7 @@ opReceipt!.actualGasUsed - **Built on & for viem**: permissionless.js is designed to be a thin wrapper around viem, maintaining the same style and overall feel viem provides. - and a lot more... -# Source Code +## Source Code The source code for permissionless.js is available on [GitHub](https://github.com/pimlicolabs/permissionless.js) diff --git a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToKernelSmartAccount.mdx b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToKernelSmartAccount.mdx index af784049..e93cff12 100644 --- a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToKernelSmartAccount.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToKernelSmartAccount.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# signerToKernelSmartAccount +# signerToKernelSmartAccount [Creates a Kernel smart account controlled by a signer and returns a viem account instance] Creates a KernelAccount instance controlled by a `SmartAccountSigner`. Check out [this guide](/references/permissionless/how-to/accounts/use-kernel-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToLightSmartAccount.mdx b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToLightSmartAccount.mdx index 3a790351..46f01d25 100644 --- a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToLightSmartAccount.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToLightSmartAccount.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# signerToLightSmartAccount +# signerToLightSmartAccount [Creates a Light Account smart account controlled by a signer and returns a viem account instance] Creates a LightAccount instance controlled by a `SmartAccountSigner`. diff --git a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSafeSmartAccount.mdx b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSafeSmartAccount.mdx index 967e4ec8..688d6ef7 100644 --- a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSafeSmartAccount.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSafeSmartAccount.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# signerToSafeSmartAccount +# signerToSafeSmartAccount [Creates a Safe smart account controlled by a signer and returns a viem account instance] Creates a Safe smart account instance controlled by a `SmartAccountSigner`. diff --git a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSimpleSmartAccount.mdx b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSimpleSmartAccount.mdx index d04c5496..45314011 100644 --- a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSimpleSmartAccount.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSimpleSmartAccount.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# signerToSimpleSmartAccount +# signerToSimpleSmartAccount [Creates a SimpleAccount smart account controlled by a signer and returns a viem account instance] Creates a SimpleAccount instance controlled by a `SmartAccountSigner`. diff --git a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToTrustSmartAccount.mdx b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToTrustSmartAccount.mdx index a94e6036..93eb1c57 100644 --- a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToTrustSmartAccount.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToTrustSmartAccount.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# signerToTrustSmartAccount +# signerToTrustSmartAccount [Creates a Trust smart account controlled by a signer and returns a viem account instance] Creates a Trust Wallet Smart Account instance controlled by a `SmartAccountSigner`. Check out [this guide](/references/permissionless/how-to/accounts/use-trustwallet-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/estimateUserOperationGas.mdx b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/estimateUserOperationGas.mdx index 7be6eac6..9863b5d3 100644 --- a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/estimateUserOperationGas.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/estimateUserOperationGas.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# estimateUserOperationGas +# estimateUserOperationGas [Estimates gas limits for a UserOperation and returns preVerificationGas, verificationGasLimit, and callGasLimit] Estimate the gas limits for a User Operation. diff --git a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationByHash.mdx b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationByHash.mdx index 90256622..62b4a0e5 100644 --- a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationByHash.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationByHash.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# getUserOperationByHash +# getUserOperationByHash [Fetches a UserOperation by its hash and returns the operation data with block and transaction context] Return a User Operation based on a User Operation hash. diff --git a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationReceipt.mdx b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationReceipt.mdx index 23f0a123..363f26d8 100644 --- a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationReceipt.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationReceipt.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# getUserOperationReceipt +# getUserOperationReceipt [Fetches the receipt of a mined UserOperation by hash and returns execution status and gas usage] Return a User Operation receipt based on a User Operation hash. diff --git a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/sendUserOperation.mdx b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/sendUserOperation.mdx index b3cfffe5..41fc11d4 100644 --- a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/sendUserOperation.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/sendUserOperation.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# sendUserOperation +# sendUserOperation [Submits a signed UserOperation to the bundler mempool and returns the userOpHash] Submits a user operation to the bundler. diff --git a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/supportedEntryPoints.mdx b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/supportedEntryPoints.mdx index 85ad301d..79169233 100644 --- a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/supportedEntryPoints.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/supportedEntryPoints.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# supportedEntryPoints +# supportedEntryPoints [Queries the bundler for its supported EntryPoint addresses and returns an array of address strings] Return the Entry Points supported by the bundler. diff --git a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/waitForUserOperationReceipt.mdx b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/waitForUserOperationReceipt.mdx index cccd22d6..6f882dd2 100644 --- a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/waitForUserOperationReceipt.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/waitForUserOperationReceipt.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# waitForUserOperationReceipt +# waitForUserOperationReceipt [Polls until a UserOperation is mined and returns its receipt with execution status and gas usage] Waits for the User Operation to be included on a block (one confirmation), and then returns the User Operation Receipt. diff --git a/docs/pages/references/permissionless/v0_1/reference/clients/bundlerClient.mdx b/docs/pages/references/permissionless/v0_1/reference/clients/bundlerClient.mdx index 95d07165..705655ab 100644 --- a/docs/pages/references/permissionless/v0_1/reference/clients/bundlerClient.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/clients/bundlerClient.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# Bundler Client +# Bundler Client [Creates a viem client extended with ERC-4337 bundler actions for sending and tracking UserOperations] A Bundler Client is an interface to official ERC-4337 JSON-RPC API methods that include sending user operations, estimation user operation gas limits, getting user operation receipts and more. diff --git a/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoBundlerClient.mdx b/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoBundlerClient.mdx index 41f1c01c..3aa82470 100644 --- a/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoBundlerClient.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoBundlerClient.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# Pimlico Bundler Client +# Pimlico Bundler Client [Viem client for Pimlico-specific bundler RPC methods including gas price and UserOperation status] A Pimlico Bundler Client is an interface to official ERC-4337 JSON-RPC API methods that include sending user operations, estimation user operation gas limits, getting user operation receipts and more as well as the Pimlico-specific bundler methods [pimlico_getUserOperationStatus](/references/bundler/endpoints/pimlico_getUserOperationStatus) and [pimlico_getUserOperationGasPrice](/references/bundler/endpoints/pimlico_getUserOperationGasPrice). diff --git a/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoPaymasterClient.mdx b/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoPaymasterClient.mdx index bf2a064b..a22469f2 100644 --- a/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoPaymasterClient.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoPaymasterClient.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# Pimlico Paymaster Client +# Pimlico Paymaster Client [Viem client for Pimlico paymaster RPC methods to sponsor or ERC-20-pay UserOperations] :::warning The Pimlico paymaster actions in permissionless.js only work with the v2 Pimlico API. The v1 API for paymasters is deprecated and will be removed in the future. diff --git a/docs/pages/references/permissionless/v0_1/reference/clients/smartAccountClient.mdx b/docs/pages/references/permissionless/v0_1/reference/clients/smartAccountClient.mdx index d0ae5a5f..3a59e9b2 100644 --- a/docs/pages/references/permissionless/v0_1/reference/clients/smartAccountClient.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/clients/smartAccountClient.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# Smart Account Client +# Smart Account Client [Viem client that wraps a smart account to build, sign, and submit UserOperations via a bundler] A Smart Account Client is an almost drop-in replacement for a standard viem [walletClient](https://viem.sh/docs/clients/wallet) but for managing smart accounts instead of EOA accounts. In addition, a Smart Account Client also contains, depending on the underlying smart account implementation used, a few extra actions that are specific to smart accounts. diff --git a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/accountId.mdx b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/accountId.mdx index a629d693..2584dc8a 100644 --- a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/accountId.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/accountId.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# accountId +# accountId [Reads and returns the ERC-7579 account ID string from a smart account] Gets the accountId of the smart account as defined in [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579). Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/installModule.mdx b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/installModule.mdx index 741fd0c5..0058e646 100644 --- a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/installModule.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/installModule.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# installModule +# installModule [Installs an ERC-7579 module on a smart account and returns the UserOperation hash] Installs a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module to the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/isModuleInstalled.mdx b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/isModuleInstalled.mdx index e47512bb..07d48cf9 100644 --- a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/isModuleInstalled.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/isModuleInstalled.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# isModuleInstalled +# isModuleInstalled [Checks whether a given ERC-7579 module is installed on a smart account and returns a boolean] Checks if an [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module is installed on the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsExecutionMode.mdx b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsExecutionMode.mdx index 206e1ab9..9ad19809 100644 --- a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsExecutionMode.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsExecutionMode.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# supportsExecutionMode +# supportsExecutionMode [Queries whether a smart account supports a specific ERC-7579 execution mode and returns a boolean] Checks if a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) execution mode is supported on the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsModule.mdx b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsModule.mdx index 96f44f98..49800d4d 100644 --- a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsModule.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsModule.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# supportsModule +# supportsModule [Queries whether a smart account supports a given ERC-7579 module type and returns a boolean] Checks if a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module type is supported by the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/uninstallModule.mdx b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/uninstallModule.mdx index 15cbd1f8..538ed0dd 100644 --- a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/uninstallModule.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/uninstallModule.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# uninstallModule +# uninstallModule [Uninstalls an ERC-7579 module from a smart account and returns the UserOperation hash] Uninstalls a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module from the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/v0_1/reference/index.mdx b/docs/pages/references/permissionless/v0_1/reference/index.mdx index 1c1b28c5..7367e345 100644 --- a/docs/pages/references/permissionless/v0_1/reference/index.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/index.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../VersionWarning" -# permissionless.js +# permissionless.js [Legacy v0.1 reference — action and client APIs for ERC-4337 smart accounts, bundlers, and paymasters] permissionless.js is a TypeScript library built on viem for interacting with ERC-4337 bundlers, paymasters, and User Operations. diff --git a/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationGasPrice.mdx b/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationGasPrice.mdx index 345467e1..cf393aaa 100644 --- a/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationGasPrice.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationGasPrice.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# getUserOperationGasPrice +# getUserOperationGasPrice [Fetches Pimlico's current recommended slow, standard, and fast gas prices for UserOperations] Return a User Operation based on a User Operation hash. diff --git a/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationStatus.mdx b/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationStatus.mdx index 641fad5c..8f022c5f 100644 --- a/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationStatus.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationStatus.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# getUserOperationStatus +# getUserOperationStatus [Fetches the current status and transaction hash of a submitted UserOperation by its hash] Return a status of the User Operation as well as potentially the hash of the transaction being used to bundle the User Operation. diff --git a/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/sponsorUserOperation.mdx b/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/sponsorUserOperation.mdx index 32dffde7..75801304 100644 --- a/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/sponsorUserOperation.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/sponsorUserOperation.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# sponsorUserOperation +# sponsorUserOperation [Estimates gas and fetches paymaster sponsorship data for a user operation, returning paymasterAndData plus updated gas limits] :::warning The Pimlico paymaster actions in permissionless.js only work with the v2 Pimlico API. The v1 API for paymasters is deprecated and will be removed in the future. diff --git a/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/validateSponsorshipPolicies.mdx b/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/validateSponsorshipPolicies.mdx index 76be0989..d374a40c 100644 --- a/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/validateSponsorshipPolicies.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/validateSponsorshipPolicies.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# validateSponsorshipPolicies +# validateSponsorshipPolicies [Checks a user operation against your sponsorship policies and returns the subset willing to sponsor it] Validates a User Operation against an array of [sponsorship policies](https://dashboard.pimlico.io/sponsorship-policies), and returns an array of sponsorship policies (alongside additional data for each policy) that are willing to sponsor the user operation. diff --git a/docs/pages/references/permissionless/v0_1/reference/public-actions/getAccountNonce.mdx b/docs/pages/references/permissionless/v0_1/reference/public-actions/getAccountNonce.mdx index 7027abd2..dec9f57c 100644 --- a/docs/pages/references/permissionless/v0_1/reference/public-actions/getAccountNonce.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/public-actions/getAccountNonce.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# getAccountNonce +# getAccountNonce [Fetches the current nonce of a smart account for a given key, returning a bigint] Returns the current nonce of the smart account for a specified key. diff --git a/docs/pages/references/permissionless/v0_1/reference/public-actions/getSenderAddress.mdx b/docs/pages/references/permissionless/v0_1/reference/public-actions/getSenderAddress.mdx index e1916769..8e327026 100644 --- a/docs/pages/references/permissionless/v0_1/reference/public-actions/getSenderAddress.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/public-actions/getSenderAddress.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# getSenderAddress +# getSenderAddress [Derives the counterfactual smart account address from an initCode, returning the address before deployment] Return a sender address corresponding to the initCode of the User Operation where the smart account will be deployed. diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/deployContract.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/deployContract.mdx index 7b4d6ad1..63dad939 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/deployContract.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/deployContract.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# deployContract +# deployContract [Deploys a contract from a smart account using bytecode and constructor args, returning the transaction hash] deploys a contract to the network from a smart account, given bytecode & constructor arguments. diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/prepareUserOperationRequest.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/prepareUserOperationRequest.mdx index 8eec65b1..4b6e7666 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/prepareUserOperationRequest.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/prepareUserOperationRequest.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# prepareUserOperationRequest +# prepareUserOperationRequest [Populates sender, nonce, initCode, gas values, and optional paymaster data to produce a ready-to-sign user operation] Prepares a user operation request for signing by populating a `sender`, `nonce`, `initCode`, gas price values, gas limit values, and optionally requesting sponsorship from a paymaster. diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransaction.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransaction.mdx index 6c7cf158..3c42547f 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransaction.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransaction.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# sendTransaction +# sendTransaction [Sends a transaction from a smart account via the viem interface, returning the transaction hash] Send a transaction from a smart account using the same `sendTransaction` interface as viem. diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransactions.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransactions.mdx index e8fe2ebe..e4569ec9 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransactions.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransactions.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# sendTransactions +# sendTransactions [Batches multiple transactions into a single user operation from a smart account, returning the transaction hash] Send a batch of transaction from a smart account. diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendUserOperation.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendUserOperation.mdx index dea7da48..5ae8574b 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendUserOperation.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendUserOperation.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# sendUserOperation +# sendUserOperation [Submits a signed user operation to the bundler and returns the user operation hash] Submits a user operation to the smart account client's underlying bundler. diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signMessage.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signMessage.mdx index 319dc8a3..9d6d5240 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signMessage.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signMessage.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# signMessage +# signMessage [Signs an arbitrary message from a smart account using EIP-191 encoding, returning the hex signature] Uses a smart account to sign and calculate an Ethereum-specific signature in [EIP-191 format](https://eips.ethereum.org/EIPS/eip-191): `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`. diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signTypedData.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signTypedData.mdx index bb9662e3..69e00524 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signTypedData.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signTypedData.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# signTypedData +# signTypedData [Signs EIP-712 typed structured data from a smart account, returning the hex signature] Signs typed data from a smart account and calculates an Ethereum-specific signature in [https://eips.ethereum.org/EIPS/eip-712](https://eips.ethereum.org/EIPS/eip-712): `sign(keccak256("\x19\x01" ‖ domainSeparator ‖ hashStruct(message)))` diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/writeContract.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/writeContract.mdx index 538b2251..6eeb6a96 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/writeContract.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/writeContract.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# writeContract +# writeContract [Executes a state-mutating contract function from a smart account, returning the transaction hash] Uses a smart account to executes a write function on a contract. diff --git a/docs/pages/references/permissionless/v0_1/reference/utils/getRequiredPrefund.mdx b/docs/pages/references/permissionless/v0_1/reference/utils/getRequiredPrefund.mdx index 012e7585..d5fbde1a 100644 --- a/docs/pages/references/permissionless/v0_1/reference/utils/getRequiredPrefund.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/utils/getRequiredPrefund.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# getRequiredPrefund +# getRequiredPrefund [Computes the minimum wei a smart account must hold to cover a user operation's gas costs] Returns the minimum required funds in wei in the senders's smart account to execute the user operation. diff --git a/docs/pages/references/permissionless/v0_1/reference/utils/getUserOperationHash.mdx b/docs/pages/references/permissionless/v0_1/reference/utils/getUserOperationHash.mdx index 24ddb42a..c8602da9 100644 --- a/docs/pages/references/permissionless/v0_1/reference/utils/getUserOperationHash.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/utils/getUserOperationHash.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# getUserOperationHash +# getUserOperationHash [Computes the ERC-4337 user operation hash as calculated by the EntryPoint contract] Generates the hash of the User Operation [as calculated by the EntryPoint](https://github.com/eth-infinitism/account-abstraction/blob/465f22310fcc639964e6ab5f8aa648770c6d8981/contracts/core/EntryPoint.sol#L296-L302). diff --git a/docs/pages/references/permissionless/v0_1/reference/utils/providerToSmartAccountSigner.mdx b/docs/pages/references/permissionless/v0_1/reference/utils/providerToSmartAccountSigner.mdx index d0526b7c..7511b438 100644 --- a/docs/pages/references/permissionless/v0_1/reference/utils/providerToSmartAccountSigner.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/utils/providerToSmartAccountSigner.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# providerToSmartAccountSigner +# providerToSmartAccountSigner [Wraps an EIP-1193 provider into a SmartAccountSigner compatible with permissionless accounts] Takes an EIP-1193 provider and returns a signer that can be used as a signer with permissionless accounts. diff --git a/docs/pages/references/permissionless/v0_1/reference/utils/signUserOperationHashWithECDSA.mdx b/docs/pages/references/permissionless/v0_1/reference/utils/signUserOperationHashWithECDSA.mdx index b2365d4f..c520383f 100644 --- a/docs/pages/references/permissionless/v0_1/reference/utils/signUserOperationHashWithECDSA.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/utils/signUserOperationHashWithECDSA.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# signUserOperationHashWithECDSA +# signUserOperationHashWithECDSA [Signs a user operation hash with ECDSA using a wallet client or local account] Signs the hash of the User Operation with the standard ECDSA signature scheme (used by all EOAs and most smart wallets). diff --git a/docs/pages/references/permissionless/v0_1/reference/utils/walletClientToSmartAccountSigner.mdx b/docs/pages/references/permissionless/v0_1/reference/utils/walletClientToSmartAccountSigner.mdx index 135e41c6..2c1745e6 100644 --- a/docs/pages/references/permissionless/v0_1/reference/utils/walletClientToSmartAccountSigner.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/utils/walletClientToSmartAccountSigner.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# walletClientToSmartAccountSigner +# walletClientToSmartAccountSigner [Converts a viem WalletClient (including wagmi) into a SmartAccountSigner for permissionless accounts] Takes a walletClient and returns a custom signer that can be used as a signer with permissionless accounts. This is especially useful when using `useWallet` from wagmi, allowing for an easy way to plug in custom frontend wagmi signers to permissionless accounts. diff --git a/docs/pages/references/permissionless/v0_1/tutorial/index.mdx b/docs/pages/references/permissionless/v0_1/tutorial/index.mdx index 78e9336e..07a0a804 100644 --- a/docs/pages/references/permissionless/v0_1/tutorial/index.mdx +++ b/docs/pages/references/permissionless/v0_1/tutorial/index.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../VersionWarning" -# Tutorials +# Tutorials [Step-by-step guides for sending gasless transactions and sponsored user operations with permissionless.js v0.1] Learning-oriented lessons that take you through a series of steps to complete a project. Most useful when you want to get started with Pimlico. diff --git a/docs/pages/references/permissionless/v0_1/tutorial/tutorial-1.mdx b/docs/pages/references/permissionless/v0_1/tutorial/tutorial-1.mdx index 0bda330c..0a4e583c 100644 --- a/docs/pages/references/permissionless/v0_1/tutorial/tutorial-1.mdx +++ b/docs/pages/references/permissionless/v0_1/tutorial/tutorial-1.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../VersionWarning" -# Tutorial 1 — Send your first gasless transaction +# Tutorial 1 — Send your first gasless transaction [Build and submit a sponsored user operation end-to-end using permissionless.js high-level APIs] In this tutorial, you will submit your first fully-gasless transaction from a smart account. diff --git a/docs/pages/references/permissionless/v0_1/tutorial/tutorial-2.mdx b/docs/pages/references/permissionless/v0_1/tutorial/tutorial-2.mdx index b03a2805..4cffa0c1 100644 --- a/docs/pages/references/permissionless/v0_1/tutorial/tutorial-2.mdx +++ b/docs/pages/references/permissionless/v0_1/tutorial/tutorial-2.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../VersionWarning" -# Tutorial 2 — Submit a user operation with a Verifying Paymaster +# Tutorial 2 — Submit a user operation with a Verifying Paymaster [Manually construct, sponsor, and submit a user operation on-chain using Pimlico's bundler and paymaster] :::note This is a low-level tutorial that walks you through the steps of constructing a user operation from scratch. If you would like to leverage permissionless.js's high-level functions, take a look at [tutorial 1](/references/permissionless/tutorial/tutorial-1). diff --git a/docs/pages/references/permissionless/wagmi/how-to/check-paymaster-support.mdx b/docs/pages/references/permissionless/wagmi/how-to/check-paymaster-support.mdx index 34fd12ec..766e7592 100644 --- a/docs/pages/references/permissionless/wagmi/how-to/check-paymaster-support.mdx +++ b/docs/pages/references/permissionless/wagmi/how-to/check-paymaster-support.mdx @@ -1,4 +1,4 @@ -# Check if an external account supports paymasters +# Check if an external account supports paymasters [Detect ERC-7677 paymaster support on a connected wallet to conditionally enable gas sponsorship] If you have added support to sponsor transactions for external accounts using `@permissionless/wagmi`, you can use this guide to check if the external account supports ERC-7677 paymasters and display custom UI for your users. diff --git a/docs/pages/references/permissionless/wagmi/index.mdx b/docs/pages/references/permissionless/wagmi/index.mdx index c449d92f..01fd3935 100644 --- a/docs/pages/references/permissionless/wagmi/index.mdx +++ b/docs/pages/references/permissionless/wagmi/index.mdx @@ -22,7 +22,7 @@ import { HomePage } from 'vocs/components'
-# Overview +# @permissionless/wagmi [wagmi hooks and provider for adding EIP-5792 gas sponsorship and transaction batching with minimal integration] ```tsx [main.tsx] import { PermissionlessProvider } from "@permissionless/wagmi" // [!code ++] @@ -75,14 +75,14 @@ function App() { And that's it! -# Features +## Features - **ERC-7677 Paymaster service**: Makes it easier to interact with an external smart account that offers support. - **Sending multiple transactions**: Makes it easier to send multiple transactions from an external smart account. - **Built on & for wagmi**: `@permissionless/wagmi` is designed to be a thin wrapper around wagmi, maintaining the same style and overall feel wagmi provides. - and a lot more coming soon... -# Source Code +## Source Code The source code for `@permissionless/wagmi` is available on [GitHub](https://github.com/pimlicolabs/permissionless.js) diff --git a/docs/pages/references/permissionless/wagmi/reference/configuration/PermissionlessProvider.mdx b/docs/pages/references/permissionless/wagmi/reference/configuration/PermissionlessProvider.mdx index 1b238958..e15d39c2 100644 --- a/docs/pages/references/permissionless/wagmi/reference/configuration/PermissionlessProvider.mdx +++ b/docs/pages/references/permissionless/wagmi/reference/configuration/PermissionlessProvider.mdx @@ -1,4 +1,4 @@ -# PermissionlessProvider +# PermissionlessProvider [React context provider that injects paymaster capabilities into wagmi hooks across your component tree] React Context Provider for Permissionless. diff --git a/docs/pages/references/permissionless/wagmi/reference/hooks/useSendTransaction.mdx b/docs/pages/references/permissionless/wagmi/reference/hooks/useSendTransaction.mdx index 5648a8c6..e8e246f7 100644 --- a/docs/pages/references/permissionless/wagmi/reference/hooks/useSendTransaction.mdx +++ b/docs/pages/references/permissionless/wagmi/reference/hooks/useSendTransaction.mdx @@ -3,7 +3,7 @@ title: useSendTransaction description: Hook for creating, signing, and sending transactions to networks. --- -# useSendTransaction +# useSendTransaction [Drop-in wagmi replacement that automatically applies gas sponsorship and batching via EIP-5792] Hook for creating, signing, and sending transactions to networks. diff --git a/docs/pages/references/permissionless/wagmi/reference/hooks/useWaitForTransactionReceipt.mdx b/docs/pages/references/permissionless/wagmi/reference/hooks/useWaitForTransactionReceipt.mdx index 65bd6cb3..5eae6233 100644 --- a/docs/pages/references/permissionless/wagmi/reference/hooks/useWaitForTransactionReceipt.mdx +++ b/docs/pages/references/permissionless/wagmi/reference/hooks/useWaitForTransactionReceipt.mdx @@ -3,7 +3,7 @@ title: useWaitForTransactionReceipt description: Hook that waits for the transaction to be included on a block, and then returns the transaction receipt. If the transaction reverts, then the action will throw an error. Replacement detection (e.g. sped up transactions) is also supported. --- -# useWaitForTransactionReceipt +# useWaitForTransactionReceipt [Drop-in wagmi replacement that resolves EIP-5792 transaction bundle IDs to on-chain receipts] Hook that waits for the transaction to be included on a block, and then returns the transaction receipt. If the transaction reverts, then the action will throw an error. Replacement detection (e.g. sped up transactions) is also supported. diff --git a/docs/pages/references/permissionless/wagmi/tutorial/index.mdx b/docs/pages/references/permissionless/wagmi/tutorial/index.mdx index 4dfd1cbe..b76bf060 100644 --- a/docs/pages/references/permissionless/wagmi/tutorial/index.mdx +++ b/docs/pages/references/permissionless/wagmi/tutorial/index.mdx @@ -1,4 +1,4 @@ -# Tutorials +# Tutorials [Step-by-step guides for adding gas sponsorship and transaction batching to wagmi apps] Learning-oriented lessons that take you through a series of steps to complete a project. Most useful when you want to get started with Pimlico. diff --git a/docs/pages/references/permissionless/wagmi/tutorial/tutorial-1.mdx b/docs/pages/references/permissionless/wagmi/tutorial/tutorial-1.mdx index be440719..ea23564f 100644 --- a/docs/pages/references/permissionless/wagmi/tutorial/tutorial-1.mdx +++ b/docs/pages/references/permissionless/wagmi/tutorial/tutorial-1.mdx @@ -1,4 +1,4 @@ -# Tutorial 1 — Send your first gasless transaction +# Tutorial 1 — Send your first gasless transaction [Sponsor a transaction for an external smart account using PermissionlessProvider and Pimlico's ERC-7677 paymaster] In this tutorial, you will submit your first fully-gasless transaction from an external smart account. diff --git a/docs/pages/references/platform/api/pagination.mdx b/docs/pages/references/platform/api/pagination.mdx index 1f7616f7..b8dc61f1 100644 --- a/docs/pages/references/platform/api/pagination.mdx +++ b/docs/pages/references/platform/api/pagination.mdx @@ -1,4 +1,4 @@ -# Pagination +# Pagination [Cursor-based pagination for Pimlico list API methods using limit, starting_after, and ending_before] The Pimlico platform API supports certain “list” API methods. For example, you can list sponsorship policies. These list API methods share a common structure and accept, at a minimum, the following three parameters: `limit`, `starting_after`, and `ending_before`. diff --git a/docs/pages/references/platform/api/sponsorship-policies/create.mdx b/docs/pages/references/platform/api/sponsorship-policies/create.mdx index 72c00acd..c0eec3e1 100644 --- a/docs/pages/references/platform/api/sponsorship-policies/create.mdx +++ b/docs/pages/references/platform/api/sponsorship-policies/create.mdx @@ -1,4 +1,4 @@ -# Create a sponsorship policy +# Create a sponsorship policy [POSTs a new sponsorship policy and returns the created policy object] Creates a sponsorship policy. diff --git a/docs/pages/references/platform/api/sponsorship-policies/index.mdx b/docs/pages/references/platform/api/sponsorship-policies/index.mdx index 659859b5..ddba7c13 100644 --- a/docs/pages/references/platform/api/sponsorship-policies/index.mdx +++ b/docs/pages/references/platform/api/sponsorship-policies/index.mdx @@ -1,4 +1,4 @@ -# Sponsorship Policies API +# Sponsorship Policies API [REST endpoints for creating, retrieving, updating, and listing gas sponsorship policies] Sponsorship policies represent the rules that govern which user operations you are willing to sponsor. Use it to customize the conditions under which you are willing to subsidize the gas fees for your users. diff --git a/docs/pages/references/platform/api/sponsorship-policies/list.mdx b/docs/pages/references/platform/api/sponsorship-policies/list.mdx index 9d96d063..8adf3af8 100644 --- a/docs/pages/references/platform/api/sponsorship-policies/list.mdx +++ b/docs/pages/references/platform/api/sponsorship-policies/list.mdx @@ -1,4 +1,4 @@ -# List all sponsorship policies +# List all sponsorship policies [GETs a reverse-chronological paginated list of all sponsorship policies on your account] Returns a list of your sponsorship policies. The sponsorship policies are returned sorted by creation date, with the most recent sponsorship policies appearing first. diff --git a/docs/pages/references/platform/api/sponsorship-policies/object.mdx b/docs/pages/references/platform/api/sponsorship-policies/object.mdx index 0edea4a2..5c4dc8e5 100644 --- a/docs/pages/references/platform/api/sponsorship-policies/object.mdx +++ b/docs/pages/references/platform/api/sponsorship-policies/object.mdx @@ -1,4 +1,4 @@ -# The Sponsorship Policy object +# The Sponsorship Policy object [Schema and field definitions for the sponsorship policy resource, including limits and chain allowlists] ## Attributes diff --git a/docs/pages/references/platform/api/sponsorship-policies/retrieve.mdx b/docs/pages/references/platform/api/sponsorship-policies/retrieve.mdx index 2fc8327d..01bd568f 100644 --- a/docs/pages/references/platform/api/sponsorship-policies/retrieve.mdx +++ b/docs/pages/references/platform/api/sponsorship-policies/retrieve.mdx @@ -1,4 +1,4 @@ -# Retrieve a sponsorship policy +# Retrieve a sponsorship policy [GETs a single sponsorship policy by ID and returns the policy object] Retrieves a sponsorship policy by its ID. diff --git a/docs/pages/references/platform/api/sponsorship-policies/update.mdx b/docs/pages/references/platform/api/sponsorship-policies/update.mdx index 3d768233..999e7cb0 100644 --- a/docs/pages/references/platform/api/sponsorship-policies/update.mdx +++ b/docs/pages/references/platform/api/sponsorship-policies/update.mdx @@ -1,4 +1,4 @@ -# Update a sponsorship policy +# Update a sponsorship policy [POSTs partial changes to an existing sponsorship policy and returns the updated object] Updates a sponsorship policy. Any parameters not provided will be left unchanged. diff --git a/docs/pages/references/platform/api/upgrade.mdx b/docs/pages/references/platform/api/upgrade.mdx index c87b5d67..f4625dc5 100644 --- a/docs/pages/references/platform/api/upgrade.mdx +++ b/docs/pages/references/platform/api/upgrade.mdx @@ -1,4 +1,4 @@ -# API Upgrade +# API Upgrade [Opt-in migration that removes the default ETH balance override from eth_estimateUserOperationGas] We are announcing a change to our API behavior for the `eth_estimateUserOperationGas` method. Previously, our system provided a default ETH balance override when estimating gas for User Operations. This is an optional upgrade to make sure your users have enough ETH to cover the operation’s cost. diff --git a/docs/pages/references/platform/index.mdx b/docs/pages/references/platform/index.mdx index 57ef3df6..c414133c 100644 --- a/docs/pages/references/platform/index.mdx +++ b/docs/pages/references/platform/index.mdx @@ -1,3 +1,3 @@ -# Pimlico Platform +# Pimlico Platform [Pimlico's ERC-4337 bundler, paymaster, and platform management APIs at a glance] **Pimlico** is the world's most popular ERC-4337 account abstraction infrastructure platform. Pimlico provides a suite of tools and services to help you build, deploy, and manage smart accounts on Ethereum and other EVM-compatible chains. \ No newline at end of file From 6f40eaee2fc25a16ac126bae57d8e302e0d5f1d1 Mon Sep 17 00:00:00 2001 From: plusminushalf Date: Fri, 22 May 2026 12:02:51 +0100 Subject: [PATCH 2/3] Revert "Add description for better llms.txt" This reverts commit afe8c445d25d5c3d3baeb05991966a5cca080efe. --- .../guides/boosted-paymaster/use-boosted-paymaster.mdx | 2 +- docs/pages/guides/conceptual/account-abstraction.mdx | 4 ++-- docs/pages/guides/create-api-key.mdx | 2 +- docs/pages/guides/eip7702/demo.mdx | 2 +- docs/pages/guides/eip7702/erc4337-vs-eip7702.mdx | 2 +- docs/pages/guides/eip7702/external.mdx | 2 +- docs/pages/guides/eip7702/faqs.mdx | 2 +- docs/pages/guides/eip7702/index.mdx | 2 +- docs/pages/guides/getting-started.mdx | 2 +- docs/pages/guides/how-to/accounts/comparison.mdx | 2 +- docs/pages/guides/how-to/accounts/support.mdx | 2 +- docs/pages/guides/how-to/accounts/use-biconomy-account.mdx | 2 +- docs/pages/guides/how-to/accounts/use-coinbase-account.mdx | 4 ++-- docs/pages/guides/how-to/accounts/use-erc7579-account.mdx | 2 +- docs/pages/guides/how-to/accounts/use-kernel-account.mdx | 2 +- docs/pages/guides/how-to/accounts/use-light-account.mdx | 2 +- docs/pages/guides/how-to/accounts/use-metamask-account.mdx | 2 +- docs/pages/guides/how-to/accounts/use-nexus-account.mdx | 2 +- .../accounts/use-safe-account-with-multiple-signers.mdx | 2 +- docs/pages/guides/how-to/accounts/use-safe-account.mdx | 2 +- docs/pages/guides/how-to/accounts/use-simple-account.mdx | 2 +- docs/pages/guides/how-to/accounts/use-thirdweb-account.mdx | 2 +- .../guides/how-to/accounts/use-trustwallet-account.mdx | 2 +- .../guides/how-to/debugging/dropped-user-operations.mdx | 2 +- docs/pages/guides/how-to/debugging/user-operations.mdx | 2 +- docs/pages/guides/how-to/erc20-paymaster/architecture.mdx | 2 +- .../guides/how-to/erc20-paymaster/contract-addresses.mdx | 2 +- .../erc20-paymaster/endpoints/pimlico_getTokenQuotes.mdx | 2 +- .../erc20-paymaster/endpoints/pm_getPaymasterData.mdx | 2 +- .../erc20-paymaster/endpoints/pm_getPaymasterStubData.mdx | 2 +- .../erc20-paymaster/endpoints/pm_sponsorUserOperation.mdx | 2 +- docs/pages/guides/how-to/erc20-paymaster/faqs.mdx | 2 +- .../how-to/erc20-paymaster/how-to/calculate-costs.mdx | 2 +- .../how-to/use-paymaster-with-unlimited-approval.mdx | 2 +- .../guides/how-to/erc20-paymaster/how-to/use-paymaster.mdx | 2 +- docs/pages/guides/how-to/erc20-paymaster/index.mdx | 2 +- .../guides/how-to/erc20-paymaster/supported-tokens.mdx | 2 +- docs/pages/guides/how-to/gas-programs/claim.mdx | 2 +- docs/pages/guides/how-to/gas-programs/gas-program.mdx | 2 +- docs/pages/guides/how-to/gas-programs/use.mdx | 2 +- docs/pages/guides/how-to/integrations/privy.mdx | 2 +- docs/pages/guides/how-to/migration-guide.mdx | 2 +- docs/pages/guides/how-to/parallel-transactions.mdx | 2 +- .../guides/how-to/paymasters/conditional-sponsoring.mdx | 2 +- .../how-to/paymasters/extending-sponsorship-duration.mdx | 2 +- docs/pages/guides/how-to/security/protect-api-keys.mdx | 2 +- docs/pages/guides/how-to/signers/dfns.mdx | 2 +- docs/pages/guides/how-to/signers/dynamic.mdx | 4 ++-- docs/pages/guides/how-to/signers/fireblocks.mdx | 4 ++-- docs/pages/guides/how-to/signers/index.mdx | 4 ++-- docs/pages/guides/how-to/signers/lit-protocol.mdx | 2 +- docs/pages/guides/how-to/signers/magic.mdx | 4 ++-- docs/pages/guides/how-to/signers/openfort.mdx | 2 +- docs/pages/guides/how-to/signers/para.mdx | 2 +- docs/pages/guides/how-to/signers/particle-network.mdx | 2 +- docs/pages/guides/how-to/signers/passkey-server.mdx | 2 +- docs/pages/guides/how-to/signers/passkey.mdx | 4 ++-- docs/pages/guides/how-to/signers/privy.mdx | 2 +- docs/pages/guides/how-to/signers/social-logins.mdx | 2 +- docs/pages/guides/how-to/signers/turnkey.mdx | 2 +- docs/pages/guides/how-to/signers/web3auth.mdx | 2 +- docs/pages/guides/how-to/sponsorship-policies/index.mdx | 2 +- docs/pages/guides/how-to/sponsorship-policies/webhook.mdx | 2 +- docs/pages/guides/how-to/testing/build-bear.mdx | 2 +- docs/pages/guides/how-to/testing/docker.mdx | 2 +- docs/pages/guides/how-to/testing/prool.mdx | 4 ++-- docs/pages/guides/pricing.mdx | 2 +- docs/pages/guides/supported-chains.mdx | 4 ++-- docs/pages/guides/tutorials/index.mdx | 2 +- docs/pages/guides/tutorials/send-transaction.mdx | 2 +- docs/pages/guides/tutorials/tutorial-1.mdx | 2 +- docs/pages/guides/tutorials/tutorial-2.mdx | 2 +- docs/pages/guides/why-pimlico/enterprise.mdx | 2 +- docs/pages/guides/why-pimlico/startups.mdx | 2 +- docs/pages/references/bundler/bundler-error-codes.mdx | 2 +- .../bundler/bundler-errors/chain-not-supported.mdx | 2 +- .../references/bundler/bundler-errors/invalid-api-key.mdx | 2 +- .../bundler/bundler-errors/invalid-discriminator-value.mdx | 2 +- .../references/bundler/bundler-errors/unknown-error.mdx | 2 +- .../bundler/endpoints/eth_estimateUserOperationGas.mdx | 2 +- .../bundler/endpoints/eth_getUserOperationByHash.mdx | 2 +- .../bundler/endpoints/eth_getUserOperationReceipt.mdx | 2 +- .../references/bundler/endpoints/eth_sendUserOperation.mdx | 2 +- .../bundler/endpoints/eth_supportedEntryPoints.mdx | 4 ++-- .../bundler/endpoints/pimlico_getUserOperationGasPrice.mdx | 2 +- .../bundler/endpoints/pimlico_getUserOperationStatus.mdx | 2 +- .../bundler/endpoints/pimlico_simulateAssetChanges.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa10.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa13.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa14.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa15.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa20.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa21.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa22.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa23.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa24.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa25.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa30.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa31.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa32.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa33.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa34.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa40.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa41.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa50.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa51.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa90.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa91.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa92.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa93.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa94.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa95.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/aa96.mdx | 2 +- docs/pages/references/bundler/entrypoint-errors/index.mdx | 2 +- docs/pages/references/bundler/faqs.mdx | 2 +- docs/pages/references/bundler/index.mdx | 2 +- docs/pages/references/bundler/public-endpoint.mdx | 2 +- docs/pages/references/bundler/self-host.mdx | 2 +- docs/pages/references/bundler/testing.mdx | 2 +- docs/pages/references/bundler/usage.mdx | 2 +- .../references/paymaster/erc20-paymaster/architecture.mdx | 2 +- .../paymaster/erc20-paymaster/contract-addresses.mdx | 2 +- .../endpoints/pimlico_getSupportedTokens.mdx | 2 +- .../erc20-paymaster/endpoints/pimlico_getTokenQuotes.mdx | 2 +- .../erc20-paymaster/endpoints/pm_getPaymasterData.mdx | 2 +- .../erc20-paymaster/endpoints/pm_getPaymasterStubData.mdx | 2 +- .../erc20-paymaster/endpoints/pm_sponsorUserOperation.mdx | 2 +- docs/pages/references/paymaster/erc20-paymaster/faqs.mdx | 2 +- docs/pages/references/paymaster/erc20-paymaster/index.mdx | 2 +- .../paymaster/erc20-paymaster/supported-tokens.mdx | 2 +- docs/pages/references/paymaster/index.mdx | 4 ++-- .../paymaster/verifying-paymaster/common-errors.mdx | 4 ++-- .../references/paymaster/verifying-paymaster/endpoints.mdx | 2 +- .../references/paymaster/verifying-paymaster/index.mdx | 2 +- .../references/paymaster/verifying-paymaster/usage.mdx | 2 +- docs/pages/references/permissionless/faqs.mdx | 2 +- .../permissionless/how-to/accounts/comparison.mdx | 2 +- .../references/permissionless/how-to/accounts/support.mdx | 2 +- .../permissionless/how-to/accounts/use-biconomy-account.mdx | 2 +- .../permissionless/how-to/accounts/use-coinbase-account.mdx | 2 +- .../permissionless/how-to/accounts/use-erc7579-account.mdx | 2 +- .../permissionless/how-to/accounts/use-kernel-account.mdx | 2 +- .../permissionless/how-to/accounts/use-light-account.mdx | 2 +- .../permissionless/how-to/accounts/use-nexus-account.mdx | 2 +- .../accounts/use-safe-account-with-multiple-signers.mdx | 2 +- .../permissionless/how-to/accounts/use-safe-account.mdx | 2 +- .../permissionless/how-to/accounts/use-simple-account.mdx | 2 +- .../permissionless/how-to/accounts/use-thirdweb-account.mdx | 2 +- .../how-to/accounts/use-trustwallet-account.mdx | 2 +- .../permissionless/how-to/dapp-gas-sponsorship.mdx | 2 +- .../references/permissionless/how-to/migration-guide.mdx | 2 +- .../permissionless/how-to/parallel-transactions.mdx | 2 +- .../how-to/paymasters/conditional-sponsoring.mdx | 2 +- .../pages/references/permissionless/how-to/signers/dfns.mdx | 2 +- .../references/permissionless/how-to/signers/dynamic.mdx | 2 +- .../references/permissionless/how-to/signers/fireblocks.mdx | 2 +- .../references/permissionless/how-to/signers/index.mdx | 2 +- .../permissionless/how-to/signers/lit-protocol.mdx | 2 +- .../references/permissionless/how-to/signers/magic.mdx | 2 +- .../pages/references/permissionless/how-to/signers/para.mdx | 2 +- .../permissionless/how-to/signers/particle-network.mdx | 2 +- .../permissionless/how-to/signers/passkey-server.mdx | 2 +- .../references/permissionless/how-to/signers/passkey.mdx | 2 +- .../references/permissionless/how-to/signers/privy.mdx | 2 +- .../references/permissionless/how-to/signers/turnkey.mdx | 2 +- .../references/permissionless/how-to/signers/web3auth.mdx | 2 +- .../references/permissionless/how-to/testing/build-bear.mdx | 2 +- .../references/permissionless/how-to/testing/docker.mdx | 2 +- docs/pages/references/permissionless/index.mdx | 6 +++--- .../reference/accounts/to7702KernelSmartAccount.mdx | 2 +- .../reference/accounts/to7702SimpleSmartAccount.mdx | 2 +- .../reference/accounts/toKernelSmartAccount.mdx | 2 +- .../reference/accounts/toLightSmartAccount.mdx | 2 +- .../reference/accounts/toNexusSmartAccount.mdx | 2 +- .../reference/accounts/toSafeSmartAccount.mdx | 2 +- .../reference/accounts/toSimpleSmartAccount.mdx | 2 +- .../reference/accounts/toTrustSmartAccount.mdx | 2 +- .../permissionless/reference/clients/pimlicoClient.mdx | 2 +- .../permissionless/reference/clients/smartAccountClient.mdx | 2 +- .../permissionless/reference/erc7579-actions/accountId.mdx | 2 +- .../reference/erc7579-actions/installModule.mdx | 2 +- .../reference/erc7579-actions/isModuleInstalled.mdx | 2 +- .../reference/erc7579-actions/supportsExecutionMode.mdx | 2 +- .../reference/erc7579-actions/supportsModule.mdx | 2 +- .../reference/erc7579-actions/uninstallModule.mdx | 2 +- docs/pages/references/permissionless/reference/index.mdx | 2 +- .../reference/pimlico-actions/getPaymasterData.mdx | 2 +- .../reference/pimlico-actions/getPaymasterStubData.mdx | 2 +- .../reference/pimlico-actions/getUserOperationGasPrice.mdx | 2 +- .../reference/pimlico-actions/getUserOperationStatus.mdx | 2 +- .../pimlico-actions/validateSponsorshipPolicies.mdx | 2 +- .../reference/public-actions/getAccountNonce.mdx | 2 +- .../reference/public-actions/getSenderAddress.mdx | 2 +- .../smart-account-actions/estimateUserOperationGas.mdx | 2 +- .../reference/smart-account-actions/getChainId.mdx | 2 +- .../smart-account-actions/getSupportedEntryPoints.mdx | 2 +- .../reference/smart-account-actions/getUserOperation.mdx | 2 +- .../smart-account-actions/getUserOperationReceipt.mdx | 2 +- .../smart-account-actions/prepareUserOperation.mdx | 2 +- .../reference/smart-account-actions/sendTransaction.mdx | 2 +- .../reference/smart-account-actions/sendUserOperation.mdx | 2 +- .../smart-account-actions/waitForUserOperationReceipt.mdx | 2 +- .../reference/smart-account-actions/writeContract.mdx | 2 +- .../permissionless/reference/utils/getRequiredPrefund.mdx | 2 +- docs/pages/references/permissionless/tutorial/index.mdx | 2 +- .../pages/references/permissionless/tutorial/tutorial-1.mdx | 2 +- .../pages/references/permissionless/tutorial/tutorial-2.mdx | 2 +- .../v0_1/experimental/eip7677/getPaymasterData.mdx | 2 +- .../v0_1/experimental/eip7677/getPaymasterStubData.mdx | 2 +- docs/pages/references/permissionless/v0_1/faqs.mdx | 2 +- .../permissionless/v0_1/how-to/accounts/support.mdx | 2 +- .../v0_1/how-to/accounts/use-biconomy-account.mdx | 2 +- .../v0_1/how-to/accounts/use-erc7579-account.mdx | 2 +- .../v0_1/how-to/accounts/use-kernel-account.mdx | 2 +- .../v0_1/how-to/accounts/use-light-account.mdx | 2 +- .../v0_1/how-to/accounts/use-safe-account.mdx | 2 +- .../v0_1/how-to/accounts/use-simple-account.mdx | 2 +- .../v0_1/how-to/accounts/use-trustwallet-account.mdx | 2 +- .../permissionless/v0_1/how-to/dapp-gas-sponsorship.mdx | 2 +- .../permissionless/v0_1/how-to/error-handling.mdx | 2 +- .../references/permissionless/v0_1/how-to/local-testing.mdx | 2 +- .../permissionless/v0_1/how-to/migration-guide.mdx | 2 +- .../permissionless/v0_1/how-to/parallel-transactions.mdx | 2 +- .../v0_1/how-to/paymasters/conditional-sponsoring.mdx | 2 +- .../references/permissionless/v0_1/how-to/signers/dfns.mdx | 2 +- .../permissionless/v0_1/how-to/signers/dynamic.mdx | 2 +- .../permissionless/v0_1/how-to/signers/fireblocks.mdx | 2 +- .../references/permissionless/v0_1/how-to/signers/index.mdx | 2 +- .../permissionless/v0_1/how-to/signers/lit-protocol.mdx | 2 +- .../references/permissionless/v0_1/how-to/signers/magic.mdx | 2 +- .../references/permissionless/v0_1/how-to/signers/para.mdx | 2 +- .../permissionless/v0_1/how-to/signers/particle-network.mdx | 2 +- .../references/permissionless/v0_1/how-to/signers/privy.mdx | 2 +- .../permissionless/v0_1/how-to/signers/turnkey.mdx | 2 +- .../permissionless/v0_1/how-to/signers/web3auth.mdx | 2 +- docs/pages/references/permissionless/v0_1/index.mdx | 6 +++--- .../v0_1/reference/accounts/signerToKernelSmartAccount.mdx | 2 +- .../v0_1/reference/accounts/signerToLightSmartAccount.mdx | 2 +- .../v0_1/reference/accounts/signerToSafeSmartAccount.mdx | 2 +- .../v0_1/reference/accounts/signerToSimpleSmartAccount.mdx | 2 +- .../v0_1/reference/accounts/signerToTrustSmartAccount.mdx | 2 +- .../reference/bundler-actions/estimateUserOperationGas.mdx | 2 +- .../reference/bundler-actions/getUserOperationByHash.mdx | 2 +- .../reference/bundler-actions/getUserOperationReceipt.mdx | 2 +- .../v0_1/reference/bundler-actions/sendUserOperation.mdx | 2 +- .../v0_1/reference/bundler-actions/supportedEntryPoints.mdx | 2 +- .../bundler-actions/waitForUserOperationReceipt.mdx | 2 +- .../permissionless/v0_1/reference/clients/bundlerClient.mdx | 2 +- .../v0_1/reference/clients/pimlicoBundlerClient.mdx | 2 +- .../v0_1/reference/clients/pimlicoPaymasterClient.mdx | 2 +- .../v0_1/reference/clients/smartAccountClient.mdx | 2 +- .../v0_1/reference/erc7579-actions/accountId.mdx | 2 +- .../v0_1/reference/erc7579-actions/installModule.mdx | 2 +- .../v0_1/reference/erc7579-actions/isModuleInstalled.mdx | 2 +- .../reference/erc7579-actions/supportsExecutionMode.mdx | 2 +- .../v0_1/reference/erc7579-actions/supportsModule.mdx | 2 +- .../v0_1/reference/erc7579-actions/uninstallModule.mdx | 2 +- .../references/permissionless/v0_1/reference/index.mdx | 2 +- .../pimlico-bundler-actions/getUserOperationGasPrice.mdx | 2 +- .../pimlico-bundler-actions/getUserOperationStatus.mdx | 2 +- .../pimlico-paymaster-actions/sponsorUserOperation.mdx | 2 +- .../validateSponsorshipPolicies.mdx | 2 +- .../v0_1/reference/public-actions/getAccountNonce.mdx | 2 +- .../v0_1/reference/public-actions/getSenderAddress.mdx | 2 +- .../v0_1/reference/smart-account-actions/deployContract.mdx | 2 +- .../smart-account-actions/prepareUserOperationRequest.mdx | 2 +- .../reference/smart-account-actions/sendTransaction.mdx | 2 +- .../reference/smart-account-actions/sendTransactions.mdx | 2 +- .../reference/smart-account-actions/sendUserOperation.mdx | 2 +- .../v0_1/reference/smart-account-actions/signMessage.mdx | 2 +- .../v0_1/reference/smart-account-actions/signTypedData.mdx | 2 +- .../v0_1/reference/smart-account-actions/writeContract.mdx | 2 +- .../v0_1/reference/utils/getRequiredPrefund.mdx | 2 +- .../v0_1/reference/utils/getUserOperationHash.mdx | 2 +- .../v0_1/reference/utils/providerToSmartAccountSigner.mdx | 2 +- .../v0_1/reference/utils/signUserOperationHashWithECDSA.mdx | 2 +- .../reference/utils/walletClientToSmartAccountSigner.mdx | 2 +- .../pages/references/permissionless/v0_1/tutorial/index.mdx | 2 +- .../references/permissionless/v0_1/tutorial/tutorial-1.mdx | 2 +- .../references/permissionless/v0_1/tutorial/tutorial-2.mdx | 2 +- .../permissionless/wagmi/how-to/check-paymaster-support.mdx | 2 +- docs/pages/references/permissionless/wagmi/index.mdx | 6 +++--- .../reference/configuration/PermissionlessProvider.mdx | 2 +- .../wagmi/reference/hooks/useSendTransaction.mdx | 2 +- .../wagmi/reference/hooks/useWaitForTransactionReceipt.mdx | 2 +- .../references/permissionless/wagmi/tutorial/index.mdx | 2 +- .../references/permissionless/wagmi/tutorial/tutorial-1.mdx | 2 +- docs/pages/references/platform/api/pagination.mdx | 2 +- .../references/platform/api/sponsorship-policies/create.mdx | 2 +- .../references/platform/api/sponsorship-policies/index.mdx | 2 +- .../references/platform/api/sponsorship-policies/list.mdx | 2 +- .../references/platform/api/sponsorship-policies/object.mdx | 2 +- .../platform/api/sponsorship-policies/retrieve.mdx | 2 +- .../references/platform/api/sponsorship-policies/update.mdx | 2 +- docs/pages/references/platform/api/upgrade.mdx | 2 +- docs/pages/references/platform/index.mdx | 2 +- 296 files changed, 314 insertions(+), 314 deletions(-) diff --git a/docs/pages/guides/boosted-paymaster/use-boosted-paymaster.mdx b/docs/pages/guides/boosted-paymaster/use-boosted-paymaster.mdx index eae8f8c2..27976be8 100644 --- a/docs/pages/guides/boosted-paymaster/use-boosted-paymaster.mdx +++ b/docs/pages/guides/boosted-paymaster/use-boosted-paymaster.mdx @@ -1,4 +1,4 @@ -# Boosted Paymaster [An offchain paymaster that reduces latency by skipping paymaster RPC calls and setting gas fees to zero] +# Boosted Paymaster 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. diff --git a/docs/pages/guides/conceptual/account-abstraction.mdx b/docs/pages/guides/conceptual/account-abstraction.mdx index d1176bcb..649a4b2d 100644 --- a/docs/pages/guides/conceptual/account-abstraction.mdx +++ b/docs/pages/guides/conceptual/account-abstraction.mdx @@ -2,7 +2,7 @@ title: 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 (ERC-4337) 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. @@ -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. \ No newline at end of file diff --git a/docs/pages/guides/create-api-key.mdx b/docs/pages/guides/create-api-key.mdx index 133b11fb..dbaf66b9 100644 --- a/docs/pages/guides/create-api-key.mdx +++ b/docs/pages/guides/create-api-key.mdx @@ -2,7 +2,7 @@ title: Create API Key --- -# Create API Key [How to generate a Pimlico API key via the CLI or dashboard and configure it in your project] +# Create API Key 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. diff --git a/docs/pages/guides/eip7702/demo.mdx b/docs/pages/guides/eip7702/demo.mdx index 0b468cc0..a2c11c3f 100644 --- a/docs/pages/guides/eip7702/demo.mdx +++ b/docs/pages/guides/eip7702/demo.mdx @@ -1,4 +1,4 @@ -# 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] +# EIP-7702 Quickstart — Send a user operation from an 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. diff --git a/docs/pages/guides/eip7702/erc4337-vs-eip7702.mdx b/docs/pages/guides/eip7702/erc4337-vs-eip7702.mdx index 76c9759d..867877ed 100644 --- a/docs/pages/guides/eip7702/erc4337-vs-eip7702.mdx +++ b/docs/pages/guides/eip7702/erc4337-vs-eip7702.mdx @@ -1,4 +1,4 @@ -# ERC-4337 vs EIP-7702 [Compares the two account abstraction approaches — their mechanisms, trade-offs, and how they complement each other] +# ERC-4337 vs EIP-7702 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. diff --git a/docs/pages/guides/eip7702/external.mdx b/docs/pages/guides/eip7702/external.mdx index 26e4859d..56f41bbc 100644 --- a/docs/pages/guides/eip7702/external.mdx +++ b/docs/pages/guides/eip7702/external.mdx @@ -1,4 +1,4 @@ -# 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] +# Batch / sponsor transactions for an external wallets This guide showcases a simple demo that sends a batch of transactions that are sponsored to an external EIP-7702 enabled wallet. diff --git a/docs/pages/guides/eip7702/faqs.mdx b/docs/pages/guides/eip7702/faqs.mdx index 5264177c..8bb0a81e 100644 --- a/docs/pages/guides/eip7702/faqs.mdx +++ b/docs/pages/guides/eip7702/faqs.mdx @@ -1,4 +1,4 @@ -# EIP-7702 FAQs [Answers common questions about EIP-7702 mechanics, ERC-4337 compatibility, chain support, and Pimlico's implementation] +# EIP-7702 FAQs ## What is EIP-7702? diff --git a/docs/pages/guides/eip7702/index.mdx b/docs/pages/guides/eip7702/index.mdx index 03cb7d61..736299e0 100644 --- a/docs/pages/guides/eip7702/index.mdx +++ b/docs/pages/guides/eip7702/index.mdx @@ -1,4 +1,4 @@ -# EIP-7702 [Pectra hardfork proposal that lets EOAs delegate execution to a smart contract, enabling batching, sponsorship, and passkey signers] +# EIP-7702 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. diff --git a/docs/pages/guides/getting-started.mdx b/docs/pages/guides/getting-started.mdx index 80fc8efb..ebf87770 100644 --- a/docs/pages/guides/getting-started.mdx +++ b/docs/pages/guides/getting-started.mdx @@ -2,7 +2,7 @@ title: Getting Started with Pimlico --- -# Getting Started with Pimlico [Send your first sponsored transaction using permissionless.js and Pimlico's bundler and paymaster] +# Getting Started with Pimlico 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. diff --git a/docs/pages/guides/how-to/accounts/comparison.mdx b/docs/pages/guides/how-to/accounts/comparison.mdx index 2eee3373..88de8172 100644 --- a/docs/pages/guides/how-to/accounts/comparison.mdx +++ b/docs/pages/guides/how-to/accounts/comparison.mdx @@ -1,4 +1,4 @@ -# 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] +# Difference between various Smart Account types in permissionless.js permissionless.js supports 8 types of accounts. Below is an overview of each account type and their key features: diff --git a/docs/pages/guides/how-to/accounts/support.mdx b/docs/pages/guides/how-to/accounts/support.mdx index 2f08f441..614812f9 100644 --- a/docs/pages/guides/how-to/accounts/support.mdx +++ b/docs/pages/guides/how-to/accounts/support.mdx @@ -1,4 +1,4 @@ -# Account Support [EntryPoint v0.6, v0.7, and v0.8 compatibility matrix for every natively supported account type] +# Account Support 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. diff --git a/docs/pages/guides/how-to/accounts/use-biconomy-account.mdx b/docs/pages/guides/how-to/accounts/use-biconomy-account.mdx index ab4957df..17ce1a44 100644 --- a/docs/pages/guides/how-to/accounts/use-biconomy-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-biconomy-account.mdx @@ -1,4 +1,4 @@ -# 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] +# How to create and use a Biconomy account with permissionless.js [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. diff --git a/docs/pages/guides/how-to/accounts/use-coinbase-account.mdx b/docs/pages/guides/how-to/accounts/use-coinbase-account.mdx index 54b1eeda..cc75dae6 100644 --- a/docs/pages/guides/how-to/accounts/use-coinbase-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-coinbase-account.mdx @@ -1,8 +1,8 @@ -# How to create and use a Coinbase smart account with permissionless.js [Coinbase Smart Wallet via viem's native toCoinbaseSmartAccount, with Pimlico bundler] +# How to create and use a Coinbase smart account with permissionless.js :::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). \ No newline at end of file diff --git a/docs/pages/guides/how-to/accounts/use-erc7579-account.mdx b/docs/pages/guides/how-to/accounts/use-erc7579-account.mdx index 6ee3bd0c..ded8fe5c 100644 --- a/docs/pages/guides/how-to/accounts/use-erc7579-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-erc7579-account.mdx @@ -1,4 +1,4 @@ -# 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] +# How to use an ERC-7579 compatible smart account with permissionless.js [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. diff --git a/docs/pages/guides/how-to/accounts/use-kernel-account.mdx b/docs/pages/guides/how-to/accounts/use-kernel-account.mdx index fa5f9341..4292ee2b 100644 --- a/docs/pages/guides/how-to/accounts/use-kernel-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-kernel-account.mdx @@ -1,4 +1,4 @@ -# 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] +# How to create and use a Kernel account with permissionless.js :::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. diff --git a/docs/pages/guides/how-to/accounts/use-light-account.mdx b/docs/pages/guides/how-to/accounts/use-light-account.mdx index 6c5564f6..27e11f09 100644 --- a/docs/pages/guides/how-to/accounts/use-light-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-light-account.mdx @@ -1,4 +1,4 @@ -# How to create and use a LightAccount with permissionless.js [Alchemy's SimpleAccount-inspired implementation with transferrable ownership and in-place upgradeability] +# How to create and use a LightAccount with permissionless.js [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. diff --git a/docs/pages/guides/how-to/accounts/use-metamask-account.mdx b/docs/pages/guides/how-to/accounts/use-metamask-account.mdx index 4e9d3456..71c0790c 100644 --- a/docs/pages/guides/how-to/accounts/use-metamask-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-metamask-account.mdx @@ -1,4 +1,4 @@ -# How to use MetaMask Smart Accounts with permissionless.js [MetaMask Delegation Toolkit accounts using ERC-7710/ERC-7715 for granular cross-account permission delegation] +# How to use MetaMask Smart Accounts with permissionless.js :::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. diff --git a/docs/pages/guides/how-to/accounts/use-nexus-account.mdx b/docs/pages/guides/how-to/accounts/use-nexus-account.mdx index ef2f03bc..cfaa982c 100644 --- a/docs/pages/guides/how-to/accounts/use-nexus-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-nexus-account.mdx @@ -1,4 +1,4 @@ -# 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] +# How to create and use a Biconomy Nexus account with permissionless.js [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. diff --git a/docs/pages/guides/how-to/accounts/use-safe-account-with-multiple-signers.mdx b/docs/pages/guides/how-to/accounts/use-safe-account-with-multiple-signers.mdx index 9c517382..3aa3aa44 100644 --- a/docs/pages/guides/how-to/accounts/use-safe-account-with-multiple-signers.mdx +++ b/docs/pages/guides/how-to/accounts/use-safe-account-with-multiple-signers.mdx @@ -1,4 +1,4 @@ -# 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] +# How to create and use a Safe account with multiple signers [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. diff --git a/docs/pages/guides/how-to/accounts/use-safe-account.mdx b/docs/pages/guides/how-to/accounts/use-safe-account.mdx index 4a452d45..170b7b8b 100644 --- a/docs/pages/guides/how-to/accounts/use-safe-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-safe-account.mdx @@ -1,4 +1,4 @@ -# 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] +# How to create and use a Safe account with permissionless.js [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. diff --git a/docs/pages/guides/how-to/accounts/use-simple-account.mdx b/docs/pages/guides/how-to/accounts/use-simple-account.mdx index 0061d404..6f72cbea 100644 --- a/docs/pages/guides/how-to/accounts/use-simple-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-simple-account.mdx @@ -1,4 +1,4 @@ -# 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] +# How to create and use a SimpleAccount with permissionless.js [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. diff --git a/docs/pages/guides/how-to/accounts/use-thirdweb-account.mdx b/docs/pages/guides/how-to/accounts/use-thirdweb-account.mdx index b68691ce..0fbcd838 100644 --- a/docs/pages/guides/how-to/accounts/use-thirdweb-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-thirdweb-account.mdx @@ -1,4 +1,4 @@ -# 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] +# How to create and use a Thirdweb account with permissionless.js ## Picking an EntryPoint diff --git a/docs/pages/guides/how-to/accounts/use-trustwallet-account.mdx b/docs/pages/guides/how-to/accounts/use-trustwallet-account.mdx index 00f92bd3..3781b3d1 100644 --- a/docs/pages/guides/how-to/accounts/use-trustwallet-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-trustwallet-account.mdx @@ -1,4 +1,4 @@ -# 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] +# How to create and use a Trust smart account with permissionless.js :::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. diff --git a/docs/pages/guides/how-to/debugging/dropped-user-operations.mdx b/docs/pages/guides/how-to/debugging/dropped-user-operations.mdx index 071bd1ae..76977735 100644 --- a/docs/pages/guides/how-to/debugging/dropped-user-operations.mdx +++ b/docs/pages/guides/how-to/debugging/dropped-user-operations.mdx @@ -1,4 +1,4 @@ -# How to debug dropped user operations [Trace silently-dropped user ops through the bundler mempool using the Pimlico dashboard] +# How to debug dropped user operations 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. diff --git a/docs/pages/guides/how-to/debugging/user-operations.mdx b/docs/pages/guides/how-to/debugging/user-operations.mdx index 33c9e87c..7fda5934 100644 --- a/docs/pages/guides/how-to/debugging/user-operations.mdx +++ b/docs/pages/guides/how-to/debugging/user-operations.mdx @@ -1,4 +1,4 @@ -# Debugging User Operations [Inspect request logs, simulate failures with Tenderly, and trace execution locally with Foundry cast] +# Debugging User Operations 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. diff --git a/docs/pages/guides/how-to/erc20-paymaster/architecture.mdx b/docs/pages/guides/how-to/erc20-paymaster/architecture.mdx index 58c661d6..c77f8cf9 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/architecture.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/architecture.mdx @@ -1,4 +1,4 @@ -# ERC-20 Paymaster Architecture [How Pimlico support users to pay gas in any ERC-20 token] +# ERC-20 Paymaster Architecture :::info You can view the whole ERC-20 Paymaster contract [in our repository](https://github.com/pimlicolabs). diff --git a/docs/pages/guides/how-to/erc20-paymaster/contract-addresses.mdx b/docs/pages/guides/how-to/erc20-paymaster/contract-addresses.mdx index 20f4c1e1..ceceabec 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/contract-addresses.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/contract-addresses.mdx @@ -1,4 +1,4 @@ -# ERC-20 Paymaster Contract Addresses [Deployed addresses for EntryPoint v0.6, v0.7, and v0.8 across all supported chains] +# ERC-20 Paymaster Contract Addresses Below are the contract addresses for the ERC-20 Paymaster contracts that are currently deployed. diff --git a/docs/pages/guides/how-to/erc20-paymaster/endpoints/pimlico_getTokenQuotes.mdx b/docs/pages/guides/how-to/erc20-paymaster/endpoints/pimlico_getTokenQuotes.mdx index 628b7b2c..b93c1d47 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/endpoints/pimlico_getTokenQuotes.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/endpoints/pimlico_getTokenQuotes.mdx @@ -1,4 +1,4 @@ -# pimlico_getTokenQuotes [Returns live ERC-20 exchange rates, postOpGas, and storage slots for use with the ERC-20 Paymaster] +# pimlico_getTokenQuotes This method returns the tentative token exchange rates used by the ERC-20 Paymaster. diff --git a/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_getPaymasterData.mdx b/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_getPaymasterData.mdx index ff4ebc52..212c2533 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_getPaymasterData.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_getPaymasterData.mdx @@ -1,4 +1,4 @@ -# pm_getPaymasterData [Returns signed paymaster fields to attach to a user operation before submission] +# pm_getPaymasterData 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. diff --git a/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_getPaymasterStubData.mdx b/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_getPaymasterStubData.mdx index d533bee2..2cfa4813 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_getPaymasterStubData.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_getPaymasterStubData.mdx @@ -1,4 +1,4 @@ -# pm_getPaymasterStubData [Returns stub paymaster fields for gas estimation on an unsigned user operation] +# pm_getPaymasterStubData 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. diff --git a/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_sponsorUserOperation.mdx b/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_sponsorUserOperation.mdx index f3b8496a..82e489f8 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_sponsorUserOperation.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/endpoints/pm_sponsorUserOperation.mdx @@ -1,4 +1,4 @@ -# pm_sponsorUserOperation [Sponsors a user operation and returns signed paymaster data plus updated gas limits in one call] +# pm_sponsorUserOperation 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. diff --git a/docs/pages/guides/how-to/erc20-paymaster/faqs.mdx b/docs/pages/guides/how-to/erc20-paymaster/faqs.mdx index 951d604c..f7ab208f 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/faqs.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/faqs.mdx @@ -1,4 +1,4 @@ -# ERC-20 Paymaster FAQs [Answers to common questions about how Pimlico's ERC-20 Paymaster works and how to use it] +# ERC-20 Paymaster FAQs ## What is a paymaster? diff --git a/docs/pages/guides/how-to/erc20-paymaster/how-to/calculate-costs.mdx b/docs/pages/guides/how-to/erc20-paymaster/how-to/calculate-costs.mdx index d356c596..62f9b80a 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/how-to/calculate-costs.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/how-to/calculate-costs.mdx @@ -1,4 +1,4 @@ -# 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] +# How to calculate UserOperation's costs using the ERC-20 Paymaster This guide will show you how to estimate your user operation's cost in denomination of the ERC-20 token as well as USD. diff --git a/docs/pages/guides/how-to/erc20-paymaster/how-to/use-paymaster-with-unlimited-approval.mdx b/docs/pages/guides/how-to/erc20-paymaster/how-to/use-paymaster-with-unlimited-approval.mdx index fa7d30dd..b0b33d86 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/how-to/use-paymaster-with-unlimited-approval.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/how-to/use-paymaster-with-unlimited-approval.mdx @@ -1,4 +1,4 @@ -# 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] +# How to use the ERC-20 Paymaster with unlimited token approvals 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. diff --git a/docs/pages/guides/how-to/erc20-paymaster/how-to/use-paymaster.mdx b/docs/pages/guides/how-to/erc20-paymaster/how-to/use-paymaster.mdx index 0c8aeb6a..899e24a9 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/how-to/use-paymaster.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/how-to/use-paymaster.mdx @@ -1,4 +1,4 @@ -# How to use the ERC-20 Paymaster [Use prepareUserOperationForErc20Paymaster to auto-inject a precise token approval into each user operation] +# How to use the ERC-20 Paymaster This guide will show you how to use the `prepareUserOperationForErc20Paymaster` function in permissionless. diff --git a/docs/pages/guides/how-to/erc20-paymaster/index.mdx b/docs/pages/guides/how-to/erc20-paymaster/index.mdx index 1e9f3a73..68239e44 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/index.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/index.mdx @@ -1,4 +1,4 @@ -# ERC-20 Paymaster [Pay gas fees in ERC-20 tokens like USDC instead of native ETH using Pimlico's ERC-4337 paymaster] +# ERC-20 Paymaster ![Landscape](/erc20paymaster.png) diff --git a/docs/pages/guides/how-to/erc20-paymaster/supported-tokens.mdx b/docs/pages/guides/how-to/erc20-paymaster/supported-tokens.mdx index 236e01a8..e107339b 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/supported-tokens.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/supported-tokens.mdx @@ -1,6 +1,6 @@ import SupportedTokens from '../../../../../data/supported-tokens.md' -# Supported Tokens [ERC-20 tokens and chains available for gas payment through Pimlico's ERC-20 Paymaster] +# Supported Tokens 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). diff --git a/docs/pages/guides/how-to/gas-programs/claim.mdx b/docs/pages/guides/how-to/gas-programs/claim.mdx index f8f24d71..ff5582fe 100644 --- a/docs/pages/guides/how-to/gas-programs/claim.mdx +++ b/docs/pages/guides/how-to/gas-programs/claim.mdx @@ -1,4 +1,4 @@ -# How to claim a gas grant [Redeem an allocated gas grant from a chain operator program on Pimlico] +# How to claim a gas grant This guide explains how to claim a gas grant that has been allocated to you through an organization like Arbitrum or Safe on Pimlico. diff --git a/docs/pages/guides/how-to/gas-programs/gas-program.mdx b/docs/pages/guides/how-to/gas-programs/gas-program.mdx index 6815470e..c5a2de98 100644 --- a/docs/pages/guides/how-to/gas-programs/gas-program.mdx +++ b/docs/pages/guides/how-to/gas-programs/gas-program.mdx @@ -1,4 +1,4 @@ -# How to create a gas program on Pimlico [Set up a chain-operator-funded gas grant program to sponsor developer user operations] +# How to create a gas program on Pimlico :::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). diff --git a/docs/pages/guides/how-to/gas-programs/use.mdx b/docs/pages/guides/how-to/gas-programs/use.mdx index b1bc5d13..3ecd33ae 100644 --- a/docs/pages/guides/how-to/gas-programs/use.mdx +++ b/docs/pages/guides/how-to/gas-programs/use.mdx @@ -1,4 +1,4 @@ -# How to use the claimed gas grant [Apply a claimed gas grant as a sponsorship policy to cover user operation gas fees] +# How to use the claimed gas grant ## Usage of Sponsorship Policies with permisionless.js diff --git a/docs/pages/guides/how-to/integrations/privy.mdx b/docs/pages/guides/how-to/integrations/privy.mdx index 2239a672..8977b4ed 100644 --- a/docs/pages/guides/how-to/integrations/privy.mdx +++ b/docs/pages/guides/how-to/integrations/privy.mdx @@ -1,4 +1,4 @@ -# Using Pimlico with Privy [Enable sponsored gas and smart accounts on Privy embedded wallets via Pimlico's bundler and paymaster] +# Using Pimlico with Privy This guide shows you how to enable Smart accounts on your Privy account powered by Pimlico's infrastructure. diff --git a/docs/pages/guides/how-to/migration-guide.mdx b/docs/pages/guides/how-to/migration-guide.mdx index d490ca03..6a40605c 100644 --- a/docs/pages/guides/how-to/migration-guide.mdx +++ b/docs/pages/guides/how-to/migration-guide.mdx @@ -1,4 +1,4 @@ -# Migration Guide [Steps to upgrade from permissionless.js v0.1 to v0.2, covering breaking API changes] +# Migration Guide ## 0.2.0 diff --git a/docs/pages/guides/how-to/parallel-transactions.mdx b/docs/pages/guides/how-to/parallel-transactions.mdx index 1cf5a008..8cec23b8 100644 --- a/docs/pages/guides/how-to/parallel-transactions.mdx +++ b/docs/pages/guides/how-to/parallel-transactions.mdx @@ -1,4 +1,4 @@ -# How to send multiple user operations in parallel [Batch calls in a single user operation or dispatch concurrent user ops using permissionless.js] +# How to send multiple user operations in parallel 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. diff --git a/docs/pages/guides/how-to/paymasters/conditional-sponsoring.mdx b/docs/pages/guides/how-to/paymasters/conditional-sponsoring.mdx index 140a0ba8..afb8dd94 100644 --- a/docs/pages/guides/how-to/paymasters/conditional-sponsoring.mdx +++ b/docs/pages/guides/how-to/paymasters/conditional-sponsoring.mdx @@ -1,4 +1,4 @@ -# How to conditionally sponsor a user operation [Apply custom logic to decide whether to sponsor each user operation programmatically] +# How to conditionally sponsor a user operation With permissionless.js and Viem, you can conditionally sponsor a user operation. This can be useful in situations like: diff --git a/docs/pages/guides/how-to/paymasters/extending-sponsorship-duration.mdx b/docs/pages/guides/how-to/paymasters/extending-sponsorship-duration.mdx index 8d798747..8b8a5372 100644 --- a/docs/pages/guides/how-to/paymasters/extending-sponsorship-duration.mdx +++ b/docs/pages/guides/how-to/paymasters/extending-sponsorship-duration.mdx @@ -1,4 +1,4 @@ -# Extending sponsorship duration [Configure verifying paymaster signatures to stay valid for up to 24 hours via validForSeconds] +# Extending sponsorship duration 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. diff --git a/docs/pages/guides/how-to/security/protect-api-keys.mdx b/docs/pages/guides/how-to/security/protect-api-keys.mdx index f32f7ebe..b724171f 100644 --- a/docs/pages/guides/how-to/security/protect-api-keys.mdx +++ b/docs/pages/guides/how-to/security/protect-api-keys.mdx @@ -1,4 +1,4 @@ -# How to Protect Your API Keys [Restrict access, apply sponsorship policies, and proxy requests to secure Pimlico API keys] +# How to Protect Your API Keys Keeping your API keys secure is essential. Here are three main ways to protect them: diff --git a/docs/pages/guides/how-to/signers/dfns.mdx b/docs/pages/guides/how-to/signers/dfns.mdx index 5ed2faa9..d4472208 100644 --- a/docs/pages/guides/how-to/signers/dfns.mdx +++ b/docs/pages/guides/how-to/signers/dfns.mdx @@ -1,6 +1,6 @@ -# How to use a DFNS signer with permissionless.js [MPC/TSS wallet-as-a-service with biometric WebAuthn key access] +# How to use a DFNS signer with permissionless.js [Dfns](https://www.dfns.co/) is an MPC/TSS Wallet-as-a-Service API/SDK provider. Dfns aims to optimize the balance of security and UX by deploying key shares into a decentralized network on the backend while enabling wallet access via biometric open standards on the frontend like Webauthn. Reach out [here](https://www.dfns.co/) to set up a sandbox environment to get started. diff --git a/docs/pages/guides/how-to/signers/dynamic.mdx b/docs/pages/guides/how-to/signers/dynamic.mdx index fc026e6c..ba368030 100644 --- a/docs/pages/guides/how-to/signers/dynamic.mdx +++ b/docs/pages/guides/how-to/signers/dynamic.mdx @@ -1,4 +1,4 @@ -# How to use a Dynamic signer with permissionless.js [Embedded wallet with multi-chain social and wallet login] +# How to use a Dynamic signer with permissionless.js permissionless.js allows you to plug in custom signers to control the accounts that you create. Dynamic is an embedded wallet provider that allows you to easily onboard users to your dapp. It is possible to use Dynamic as a signer with permissionless.js, allowing you to use Dynamic to create and control smart accounts and sign transactions. @@ -106,4 +106,4 @@ const txHash = await smartAccountClient.sendTransaction({ }) ``` -:::: +:::: \ No newline at end of file diff --git a/docs/pages/guides/how-to/signers/fireblocks.mdx b/docs/pages/guides/how-to/signers/fireblocks.mdx index 26c77e48..cfe973ca 100644 --- a/docs/pages/guides/how-to/signers/fireblocks.mdx +++ b/docs/pages/guides/how-to/signers/fireblocks.mdx @@ -1,6 +1,6 @@ import SmartAccounts from "./smartAccounts.mdx" -# How to use a Fireblocks signer with permissionless.js [Institutional MPC-CMP custody with policy engine governance] +# How to use a Fireblocks signer with permissionless.js [Fireblocks](https://www.fireblocks.com/) is a user-friendly platform designed for building blockchain-based products and managing digital asset operations. It uses a direct custody approach, combining high performance with zero counterparty risk and multi-layered security. The platform includes secure MPC-based digital asset wallets, a policy engine for governance and transaction rules, and comprehensive treasury management. Fireblocks' security framework features multiple layers, including MPC-CMP technology, secure enclaves, and a robust policy engine, ensuring protection against cyberattacks, internal threats, and human errors. It's widely used for various operations like treasury, trading, and managing NFTs, smart contracts, and user wallets. @@ -23,4 +23,4 @@ After following the Fireblocks documentation, you will have access to a `Fireblo ### Use with permissionless.js - + \ No newline at end of file diff --git a/docs/pages/guides/how-to/signers/index.mdx b/docs/pages/guides/how-to/signers/index.mdx index 5f9184e6..1d05a491 100644 --- a/docs/pages/guides/how-to/signers/index.mdx +++ b/docs/pages/guides/how-to/signers/index.mdx @@ -1,5 +1,5 @@ -# Signers for permissionless.js [Plug in EOAs, embedded wallets, MPC, and passkey signers as smart account owners] +# Signers for permissionless.js Smart accounts are able to define custom authentication and authorization schemes, but still require signatures to validate user operations coming from signers. permissionless.js which accepts `LocalAccount | EIP1193Provider | WalletClient`, that can be passed as an owner to `createSmartAccountClient`. While by default these owners have full control over the smart account, it's possible to define custom roles and permissions for owners, and mix-and-match them to create complex multi-signature schemes, as well as rotate signers and revoke their access. -In addition to pure EOA owners, permissionless.js supports a variety of third-party wallet services as owners for smart accounts. This allows you to leverage the UIs and infrastructure of these services, while still using smart accounts supported by permissionless.js. +In addition to pure EOA owners, permissionless.js supports a variety of third-party wallet services as owners for smart accounts. This allows you to leverage the UIs and infrastructure of these services, while still using smart accounts supported by permissionless.js. \ No newline at end of file diff --git a/docs/pages/guides/how-to/signers/lit-protocol.mdx b/docs/pages/guides/how-to/signers/lit-protocol.mdx index 168ea450..1c1b8886 100644 --- a/docs/pages/guides/how-to/signers/lit-protocol.mdx +++ b/docs/pages/guides/how-to/signers/lit-protocol.mdx @@ -1,4 +1,4 @@ -# How to Integrate Pimlico with Lit Protocol OTP Authentication [PKP-based MFA via email, SMS, and WhatsApp OTP] +# How to Integrate Pimlico with Lit Protocol OTP Authentication This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. diff --git a/docs/pages/guides/how-to/signers/magic.mdx b/docs/pages/guides/how-to/signers/magic.mdx index d9ccfbcd..37636ca1 100644 --- a/docs/pages/guides/how-to/signers/magic.mdx +++ b/docs/pages/guides/how-to/signers/magic.mdx @@ -1,6 +1,6 @@ import SmartAccounts from "./smartAccounts.mdx" -# How to use a Magic signer with permissionless.js [Embedded wallet with social login and gasless UX via Pimlico] +# How to use a Magic signer with permissionless.js [Magic](https://magic.link/) is a popular embedded wallet provider that supports social logins. While social logins are great, your users still need to onramp in order to pay for gas, which introduces significant friction. @@ -26,4 +26,4 @@ After following the Magic documentation, you will have access to a `MagicBase` o ### Use with permissionless.js - + \ No newline at end of file diff --git a/docs/pages/guides/how-to/signers/openfort.mdx b/docs/pages/guides/how-to/signers/openfort.mdx index 0e0cd16e..43265760 100644 --- a/docs/pages/guides/how-to/signers/openfort.mdx +++ b/docs/pages/guides/how-to/signers/openfort.mdx @@ -1,4 +1,4 @@ -# How to use an Openfort signer with permissionless.js [Game-focused embedded wallet with session key support] +# How to use an Openfort signer with permissionless.js permissionless.js allows you to plug in custom signers to control the accounts that you create. Openfort is an embedded wallet provider that allows you to easily onboard users to your dapp. diff --git a/docs/pages/guides/how-to/signers/para.mdx b/docs/pages/guides/how-to/signers/para.mdx index 9cc55e2a..e42f00f2 100644 --- a/docs/pages/guides/how-to/signers/para.mdx +++ b/docs/pages/guides/how-to/signers/para.mdx @@ -1,5 +1,5 @@ -# How to use a Para signer with permissionless.js [Portable MPC wallet with email/social login and cross-app recovery] +# How to use a Para signer with permissionless.js [Para](https://www.getpara.com/) offers a signing solution enabling the creation of secure, embedded MPC wallets accessible via email or social login. These wallets, compatible across different applications, offer portability, recoverability, and programmability, eliminating the need for users to establish separate signers or contract accounts for each application. diff --git a/docs/pages/guides/how-to/signers/particle-network.mdx b/docs/pages/guides/how-to/signers/particle-network.mdx index 28af5ea4..14f2785c 100644 --- a/docs/pages/guides/how-to/signers/particle-network.mdx +++ b/docs/pages/guides/how-to/signers/particle-network.mdx @@ -1,5 +1,5 @@ -# How to use a Particle Network signer with permissionless.js [MPC-TSS wallet with Web2 onboarding via social and email] +# How to use a Particle Network signer with permissionless.js [Particle Network](https://particle.network/) is an intent-centric, modular wallet-as-a-service (WaaS). By utilizing MPC-TSS for key management, Particle can streamline onboarding via familiar Web2 methods such as Google, emails, and phone numbers. diff --git a/docs/pages/guides/how-to/signers/passkey-server.mdx b/docs/pages/guides/how-to/signers/passkey-server.mdx index f1e5aa83..2497768a 100644 --- a/docs/pages/guides/how-to/signers/passkey-server.mdx +++ b/docs/pages/guides/how-to/signers/passkey-server.mdx @@ -1,4 +1,4 @@ -# How to use a Passkey (WebAuthn) server [Server-side credential verification for WebAuthn-gated smart accounts] +# How to use a Passkey (WebAuthn) server This how-to guide will walk you through the steps to integrate Passkey (WebAuthn) server with a smart account whose user operations are relayed and sponsored by Pimlico. diff --git a/docs/pages/guides/how-to/signers/passkey.mdx b/docs/pages/guides/how-to/signers/passkey.mdx index dde9ddfb..9bc078c8 100644 --- a/docs/pages/guides/how-to/signers/passkey.mdx +++ b/docs/pages/guides/how-to/signers/passkey.mdx @@ -1,4 +1,4 @@ -# How to use a Passkey (WebAuthn) signer [Client-side biometric authentication with device-bound credentials] +# How to use a Passkey (WebAuthn) signer This how-to guide will walk you through the steps to integrate Passkey (WebAuthn) signer with a smart account whose user operations are relayed and sponsored by Pimlico. @@ -212,4 +212,4 @@ export function PasskeysDemo() { } ``` -::::: +::::: \ No newline at end of file diff --git a/docs/pages/guides/how-to/signers/privy.mdx b/docs/pages/guides/how-to/signers/privy.mdx index 8fb7b66d..4206bdb9 100644 --- a/docs/pages/guides/how-to/signers/privy.mdx +++ b/docs/pages/guides/how-to/signers/privy.mdx @@ -1,4 +1,4 @@ -# How to use a Privy signer with permissionless.js [Embedded wallet with social login and cross-app key portability] +# How to use a Privy signer with permissionless.js permissionless.js allows you to plug in custom signers to control the accounts that you create. Privy is an embedded wallet provider that allows you to easily onboard users to your dapp. It is possible to use Privy as a signer with permissionless.js, allowing you to use Privy to create and control smart accounts and sign transactions. diff --git a/docs/pages/guides/how-to/signers/social-logins.mdx b/docs/pages/guides/how-to/signers/social-logins.mdx index 0c49497b..23bf6060 100644 --- a/docs/pages/guides/how-to/signers/social-logins.mdx +++ b/docs/pages/guides/how-to/signers/social-logins.mdx @@ -1,4 +1,4 @@ -# Social login signers [OAuth and embedded wallet providers for smart account signers] +# Social login signers permissionless.js works with a wide range of embedded-wallet and social-login providers, so you can let users sign in with Google, email, phone, passkeys, and more while still benefiting from the power of smart accounts (gas sponsorship, batched transactions, session keys, and programmable permissions). diff --git a/docs/pages/guides/how-to/signers/turnkey.mdx b/docs/pages/guides/how-to/signers/turnkey.mdx index 1c621170..d2fabba2 100644 --- a/docs/pages/guides/how-to/signers/turnkey.mdx +++ b/docs/pages/guides/how-to/signers/turnkey.mdx @@ -1,4 +1,4 @@ -# How to use a Turnkey signer with permissionless.js [Custodial key infrastructure with a policy engine as the smart account signer] +# How to use a Turnkey signer with permissionless.js [Turnkey](https://turnkey.com/) is a key infrastructure provider with a great developer API and a powerful security policy engine. diff --git a/docs/pages/guides/how-to/signers/web3auth.mdx b/docs/pages/guides/how-to/signers/web3auth.mdx index ed47e1f9..ae06e184 100644 --- a/docs/pages/guides/how-to/signers/web3auth.mdx +++ b/docs/pages/guides/how-to/signers/web3auth.mdx @@ -1,4 +1,4 @@ -# How to use Web3Auth with Pimlico [Social MFA via Web3Auth's threshold key system as the smart account signer] +# How to use Web3Auth with Pimlico [Web3Auth](https://web3auth.io) is a popular embedded wallet provider that supports a range of login methods. Web3Auth also has strong native account abstraction support allowing you to offer smooth UX for your users through features like social logins, sponsored transactions, and transaction batching. diff --git a/docs/pages/guides/how-to/sponsorship-policies/index.mdx b/docs/pages/guides/how-to/sponsorship-policies/index.mdx index 7e0f9e9f..37a8709c 100644 --- a/docs/pages/guides/how-to/sponsorship-policies/index.mdx +++ b/docs/pages/guides/how-to/sponsorship-policies/index.mdx @@ -1,4 +1,4 @@ -# How to use Sponsorship Policies [Define rules to control which user operations your paymaster sponsors] +# How to use Sponsorship Policies ## What are Sponsorship Policies? diff --git a/docs/pages/guides/how-to/sponsorship-policies/webhook.mdx b/docs/pages/guides/how-to/sponsorship-policies/webhook.mdx index a770d346..512a2f48 100644 --- a/docs/pages/guides/how-to/sponsorship-policies/webhook.mdx +++ b/docs/pages/guides/how-to/sponsorship-policies/webhook.mdx @@ -1,4 +1,4 @@ -# How to use Sponsorship Policy webhooks [Approve or reject sponsorship requests in real time via HTTP callbacks] +# How to use Sponsorship Policy webhooks Webhooks allow you to receive real-time notifications when sponsorship-related events occur. You can use webhooks to approve or reject sponsorship requests and receive notifications about finalized sponsorships. Start by going to the [sponsorship policies page](https://dashboard.pimlico.io/sponsorship-policies) on the Pimlico dashboard, clicking on the existing policy and clicking on the "Edit button". diff --git a/docs/pages/guides/how-to/testing/build-bear.mdx b/docs/pages/guides/how-to/testing/build-bear.mdx index b722bd89..beb139ec 100644 --- a/docs/pages/guides/how-to/testing/build-bear.mdx +++ b/docs/pages/guides/how-to/testing/build-bear.mdx @@ -1,4 +1,4 @@ -# Testing with BuildBear Sandboxes [Fork-based isolated testnets with Pimlico's bundler and paymaster via the BuildBear plugin] +# Testing with BuildBear Sandboxes This guide introduces how to setup a BuildBear Sandbox with for testing the Alto bundler and a mock paymaster. We will be using viem and permissionless to interact with the sandbox enviornment. diff --git a/docs/pages/guides/how-to/testing/docker.mdx b/docs/pages/guides/how-to/testing/docker.mdx index 40cec7e5..93e0a750 100644 --- a/docs/pages/guides/how-to/testing/docker.mdx +++ b/docs/pages/guides/how-to/testing/docker.mdx @@ -1,4 +1,4 @@ -# Local Testing With Docker [Spin up a self-contained Alto bundler, mock paymaster, and Anvil node using docker compose] +# Local Testing With Docker This guide introduces a ready-to-use mock test environment, that contains: diff --git a/docs/pages/guides/how-to/testing/prool.mdx b/docs/pages/guides/how-to/testing/prool.mdx index b3eed081..3f999231 100644 --- a/docs/pages/guides/how-to/testing/prool.mdx +++ b/docs/pages/guides/how-to/testing/prool.mdx @@ -1,8 +1,8 @@ -# Prool [Programmatically spin up isolated Alto, Anvil, and paymaster instances per test case using Prool] +# Prool This guide introduces how to setup and run tests in a mock environment using [Prool](https://github.com/wevm/prool). -## Overview +# Overview Prool is a library by [Wevm](https://github.com/wevm/viem) that lets you programmatically interact with Ethereum server instances like Nodes, Bundlers, and Paymasters. diff --git a/docs/pages/guides/pricing.mdx b/docs/pages/guides/pricing.mdx index c7dc17e1..ebab9121 100644 --- a/docs/pages/guides/pricing.mdx +++ b/docs/pages/guides/pricing.mdx @@ -2,7 +2,7 @@ showOutline: false --- -# Pricing [Plans, limits, and costs for Pimlico's bundler and paymaster services] +# Pricing Below is a comparison of the different pricing plans available for Pimlico. With Pimlico, you're able to launch without any upfront costs, and only pay for what you use with our pay-as-you-go plan, even for production applications with significant volume. We can also offer enterprise plans for users wishing to have a custom plan tailored to their needs. If you have any questions, please don't hesitate to [contact us through telegram](https://t.me/pimlicoHQ) or [through email](mailto:support@pimlico.io) diff --git a/docs/pages/guides/supported-chains.mdx b/docs/pages/guides/supported-chains.mdx index 80269919..4969f857 100644 --- a/docs/pages/guides/supported-chains.mdx +++ b/docs/pages/guides/supported-chains.mdx @@ -1,5 +1,5 @@ -# Supported Chains [Full list of EVM chains available via Pimlico's bundler and paymaster endpoints] +# Supported Chains All API calls must use the JSON-RPC format and be sent to the following URL: @@ -15,7 +15,7 @@ For example to access Base, both of these endpoints will work: You can also access the public endpoint without an API key ([more info](/references/bundler/public-endpoint)). -## Pimlico supports the following chains: +# Pimlico supports the following chains: import SupportedChains from "../../../data/supported-chains.md" import ChainDetails from "../../../data/chain-details.md"; diff --git a/docs/pages/guides/tutorials/index.mdx b/docs/pages/guides/tutorials/index.mdx index e1bf9e13..bfff8980 100644 --- a/docs/pages/guides/tutorials/index.mdx +++ b/docs/pages/guides/tutorials/index.mdx @@ -1,4 +1,4 @@ -# Tutorials [Step-by-step guides for building with Pimlico's ERC-4337 infrastructure] +# Tutorials Learning-oriented lessons that take you through a series of steps to complete a project. Most useful when you want to get started with Pimlico. diff --git a/docs/pages/guides/tutorials/send-transaction.mdx b/docs/pages/guides/tutorials/send-transaction.mdx index 3ff6d236..deec5999 100644 --- a/docs/pages/guides/tutorials/send-transaction.mdx +++ b/docs/pages/guides/tutorials/send-transaction.mdx @@ -1,4 +1,4 @@ -# Tutorial — Batch multiple transactions from a smart account [Deploy an ERC-4337 smart account and atomically execute multiple calls in one user operation] +# Tutorial — Batch multiple transactions from a smart account In this tutorial, you will deploy an ERC-4337 smart account and submit your first user operation — one that batches **multiple calls** into a single on-chain transaction. diff --git a/docs/pages/guides/tutorials/tutorial-1.mdx b/docs/pages/guides/tutorials/tutorial-1.mdx index 59ee3654..c413941f 100644 --- a/docs/pages/guides/tutorials/tutorial-1.mdx +++ b/docs/pages/guides/tutorials/tutorial-1.mdx @@ -1,4 +1,4 @@ -# Tutorial 1 — Send your first gasless transaction [Sponsor gas with Pimlico's verifying paymaster and send a user operation from a smart account] +# Tutorial 1 — Send your first gasless transaction In this tutorial, you will submit your first fully-gasless transaction from a smart account. diff --git a/docs/pages/guides/tutorials/tutorial-2.mdx b/docs/pages/guides/tutorials/tutorial-2.mdx index 803b3631..016a2d45 100644 --- a/docs/pages/guides/tutorials/tutorial-2.mdx +++ b/docs/pages/guides/tutorials/tutorial-2.mdx @@ -1,4 +1,4 @@ -# Tutorial 2 — Submit a user operation with an ERC-20 Paymaster [Pay transaction fees in an ERC-20 token instead of ETH using Pimlico's token paymaster] +# Tutorial 2 — Submit a user operation with an ERC-20 Paymaster :::info You can visit our [ERC-20 Paymaster overview page](/references/paymaster/erc20-paymaster) to learn more about the design and architecture of our ERC-20 Paymaster, and the deployed smart contract addresses. diff --git a/docs/pages/guides/why-pimlico/enterprise.mdx b/docs/pages/guides/why-pimlico/enterprise.mdx index 6d6712f0..a8a3e273 100644 --- a/docs/pages/guides/why-pimlico/enterprise.mdx +++ b/docs/pages/guides/why-pimlico/enterprise.mdx @@ -1,4 +1,4 @@ -# Why Pimlico for Enterprises [Production-grade AA infrastructure with SLAs, compliance support, and dedicated integration help] +# Why Pimlico for Enterprises Are you an enterprise looking to leverage smart accounts and wondering why you should use Pimlico as your account abstraction infrastructure provider? diff --git a/docs/pages/guides/why-pimlico/startups.mdx b/docs/pages/guides/why-pimlico/startups.mdx index b688a110..02f79618 100644 --- a/docs/pages/guides/why-pimlico/startups.mdx +++ b/docs/pages/guides/why-pimlico/startups.mdx @@ -1,4 +1,4 @@ -# Why Pimlico for Startups [Generous free tier, fast onboarding, and multichain bundler/paymaster APIs to ship smart accounts quickly] +# Why Pimlico for Startups Are you a startup looking to use smart accounts and wondering why you should use Pimlico as your account abstraction infrastructure provider? diff --git a/docs/pages/references/bundler/bundler-error-codes.mdx b/docs/pages/references/bundler/bundler-error-codes.mdx index 3193b021..dca88e83 100644 --- a/docs/pages/references/bundler/bundler-error-codes.mdx +++ b/docs/pages/references/bundler/bundler-error-codes.mdx @@ -1,4 +1,4 @@ -# Bundler Error Codes [EIP-7769 standardized error codes returned by the Pimlico bundler] +# Bundler Error Codes The bundler implements the [EIP-7769](https://eips.ethereum.org/EIPS/eip-7769) spec which standardizes ERC-4337 bundler error codes across different bundler implementations. diff --git a/docs/pages/references/bundler/bundler-errors/chain-not-supported.mdx b/docs/pages/references/bundler/bundler-errors/chain-not-supported.mdx index e0890db9..a25babc9 100644 --- a/docs/pages/references/bundler/bundler-errors/chain-not-supported.mdx +++ b/docs/pages/references/bundler/bundler-errors/chain-not-supported.mdx @@ -1,4 +1,4 @@ -# Chain is not supported [Returned when the requested network has no Pimlico bundler deployment] +# Chain is not supported The chain you are trying to use is not supported by Pimlico. diff --git a/docs/pages/references/bundler/bundler-errors/invalid-api-key.mdx b/docs/pages/references/bundler/bundler-errors/invalid-api-key.mdx index cf29020a..74a028f2 100644 --- a/docs/pages/references/bundler/bundler-errors/invalid-api-key.mdx +++ b/docs/pages/references/bundler/bundler-errors/invalid-api-key.mdx @@ -1,4 +1,4 @@ -# Invalid 'apikey' query parameter [Returned when the API key is missing, malformed, or has been revoked] +# Invalid 'apikey' query parameter The API key you are trying to use is not valid. It either does not exist or has been deleted. diff --git a/docs/pages/references/bundler/bundler-errors/invalid-discriminator-value.mdx b/docs/pages/references/bundler/bundler-errors/invalid-discriminator-value.mdx index a6df2478..402a7c57 100644 --- a/docs/pages/references/bundler/bundler-errors/invalid-discriminator-value.mdx +++ b/docs/pages/references/bundler/bundler-errors/invalid-discriminator-value.mdx @@ -1,4 +1,4 @@ -# Validation error — Invalid discriminator value [Returned when calling an unsupported JSON-RPC method on the Pimlico endpoint] +# Validation error: Invalid discriminator value ```txt Validation error: Invalid discriminator value. Expected 'eth_chainId' | 'eth_supportedEntryPoints' | 'eth_coinbase' | 'eth_estimateUserOperationGas' | 'eth_sendUserOperation' | 'eth_getUserOperationByHash' | 'eth_getUserOperationReceipt' | 'pm_supportedEntryPoints' | 'pm_sponsorUserOperation' | 'web3_clientVersion' | 'pimlico_getUserOperationStatus' | 'pimlico_getUserOperationGasPrice' | 'pimlico_getBalance' | 'pm_validateSponsorshipPolicies' at \"method\"" diff --git a/docs/pages/references/bundler/bundler-errors/unknown-error.mdx b/docs/pages/references/bundler/bundler-errors/unknown-error.mdx index 40ae29ef..b11e7744 100644 --- a/docs/pages/references/bundler/bundler-errors/unknown-error.mdx +++ b/docs/pages/references/bundler/bundler-errors/unknown-error.mdx @@ -1,4 +1,4 @@ -# Unknown error from alto bundler [Returned for internal 500 errors or responses containing sensitive details that cannot be surfaced] +# Unknown error from alto bundler The bundler encountered an unexpected error. This is either an internal 500 error, or an error with sensitive information that can not returned. diff --git a/docs/pages/references/bundler/endpoints/eth_estimateUserOperationGas.mdx b/docs/pages/references/bundler/endpoints/eth_estimateUserOperationGas.mdx index 35a2d321..181a0faa 100644 --- a/docs/pages/references/bundler/endpoints/eth_estimateUserOperationGas.mdx +++ b/docs/pages/references/bundler/endpoints/eth_estimateUserOperationGas.mdx @@ -1,4 +1,4 @@ -# eth_estimateUserOperationGas [Simulates a UserOperation and returns estimated gas limits for all gas fields] +# eth_estimateUserOperationGas This method simulates the user operation and estimates the appropriate gas limits for it. If the operation is not successful, it will return an error. diff --git a/docs/pages/references/bundler/endpoints/eth_getUserOperationByHash.mdx b/docs/pages/references/bundler/endpoints/eth_getUserOperationByHash.mdx index d7b23346..62dd7404 100644 --- a/docs/pages/references/bundler/endpoints/eth_getUserOperationByHash.mdx +++ b/docs/pages/references/bundler/endpoints/eth_getUserOperationByHash.mdx @@ -1,4 +1,4 @@ -# eth_getUserOperationByHash [Fetches a UserOperation and its inclusion details by userOpHash, or null if not found] +# eth_getUserOperationByHash This method fetches the user operation, given the `userOpHash`. If the user operation is not available, it will return `null`. diff --git a/docs/pages/references/bundler/endpoints/eth_getUserOperationReceipt.mdx b/docs/pages/references/bundler/endpoints/eth_getUserOperationReceipt.mdx index 95022309..feccd561 100644 --- a/docs/pages/references/bundler/endpoints/eth_getUserOperationReceipt.mdx +++ b/docs/pages/references/bundler/endpoints/eth_getUserOperationReceipt.mdx @@ -1,4 +1,4 @@ -# eth_getUserOperationReceipt [Fetches the on-chain receipt of a UserOperation by userOpHash, or null if not yet included] +# eth_getUserOperationReceipt This method fetches the receipt of a user operation, given the `userOpHash`. If the receipt is not available, it will return `null`. diff --git a/docs/pages/references/bundler/endpoints/eth_sendUserOperation.mdx b/docs/pages/references/bundler/endpoints/eth_sendUserOperation.mdx index 0668cf56..6c937474 100644 --- a/docs/pages/references/bundler/endpoints/eth_sendUserOperation.mdx +++ b/docs/pages/references/bundler/endpoints/eth_sendUserOperation.mdx @@ -1,4 +1,4 @@ -# eth_sendUserOperation [Submits a UserOperation to the bundler mempool and returns its userOpHash] +# eth_sendUserOperation Submits a user operation to be included on-chain and returns the `userOpHash` if successful (or queued). If the operation is not successful, it will return an error. diff --git a/docs/pages/references/bundler/endpoints/eth_supportedEntryPoints.mdx b/docs/pages/references/bundler/endpoints/eth_supportedEntryPoints.mdx index 961a69e7..96ae3199 100644 --- a/docs/pages/references/bundler/endpoints/eth_supportedEntryPoints.mdx +++ b/docs/pages/references/bundler/endpoints/eth_supportedEntryPoints.mdx @@ -1,4 +1,4 @@ -# eth_supportedEntryPoints [Returns the EntryPoint contract addresses supported by the bundler] +# eth_supportedEntryPoints This method fetches the EntryPoint addresses supported by the bundler. The first address is the one preferred by the bundler to use. @@ -21,4 +21,4 @@ This method fetches the EntryPoint addresses supported by the bundler. The first "id": 1, "result": ["0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789"] } -``` +``` \ No newline at end of file diff --git a/docs/pages/references/bundler/endpoints/pimlico_getUserOperationGasPrice.mdx b/docs/pages/references/bundler/endpoints/pimlico_getUserOperationGasPrice.mdx index 8cf5e3e1..74668ef1 100644 --- a/docs/pages/references/bundler/endpoints/pimlico_getUserOperationGasPrice.mdx +++ b/docs/pages/references/bundler/endpoints/pimlico_getUserOperationGasPrice.mdx @@ -1,4 +1,4 @@ -# pimlico_getUserOperationGasPrice [Returns the current slow/standard/fast gas price tiers required for UserOperations on Pimlico] +# pimlico_getUserOperationGasPrice This method returns the gas prices that must be used for the user operation you are bundling with Pimlico bundlers. diff --git a/docs/pages/references/bundler/endpoints/pimlico_getUserOperationStatus.mdx b/docs/pages/references/bundler/endpoints/pimlico_getUserOperationStatus.mdx index c93924d8..cdaac685 100644 --- a/docs/pages/references/bundler/endpoints/pimlico_getUserOperationStatus.mdx +++ b/docs/pages/references/bundler/endpoints/pimlico_getUserOperationStatus.mdx @@ -1,4 +1,4 @@ -# pimlico_getUserOperationStatus [Returns the mempool/submission status and optional transaction hash for a UserOperation by hash] +# pimlico_getUserOperationStatus This method takes in a user operation hash and returns the status of the operation and, optionally, the transaction hash the bundler is using to bundle the user operation on-chain. The status can be one of the following: diff --git a/docs/pages/references/bundler/endpoints/pimlico_simulateAssetChanges.mdx b/docs/pages/references/bundler/endpoints/pimlico_simulateAssetChanges.mdx index 3c08178e..b10373ec 100644 --- a/docs/pages/references/bundler/endpoints/pimlico_simulateAssetChanges.mdx +++ b/docs/pages/references/bundler/endpoints/pimlico_simulateAssetChanges.mdx @@ -1,4 +1,4 @@ -# pimlico_simulateAssetChanges [Preview native, ERC-20, ERC-721, and ERC-1155 balance changes for a user operation without executing it] +# pimlico_simulateAssetChanges :::warning NOTICE: This page is still in draft and the API may change. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa10.mdx b/docs/pages/references/bundler/entrypoint-errors/aa10.mdx index cbc3a6c8..4e48efde 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa10.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa10.mdx @@ -1,4 +1,4 @@ -# AA10 sender already constructed [initCode was supplied for a sender address that already has a deployed smart account] +# AA10 sender already constructed The sender (i.e. the smart account) has already been created previously. You may be trying to create the account multiple times. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa13.mdx b/docs/pages/references/bundler/entrypoint-errors/aa13.mdx index 10f46be3..0b4c3c04 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa13.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa13.mdx @@ -1,4 +1,4 @@ -# AA13 initCode failed or OOG [The factory contract reverted or exhausted gas while deploying the smart account] +# AA13 initCode failed or OOG :::info OOG = Out Of Gas diff --git a/docs/pages/references/bundler/entrypoint-errors/aa14.mdx b/docs/pages/references/bundler/entrypoint-errors/aa14.mdx index f59a0c83..78908cac 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa14.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa14.mdx @@ -1,4 +1,4 @@ -# AA14 initCode must return sender [The address deployed by initCode does not match the sender field in the user operation] +# AA14 initCode must return sender The address of the smart account deployed with the `initCode` provided does not match match the `sender` address provided in the user operation. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa15.mdx b/docs/pages/references/bundler/entrypoint-errors/aa15.mdx index f45b0cbb..dc12c2f5 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa15.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa15.mdx @@ -1,4 +1,4 @@ -# AA15 initCode must create sender [The factory contract did not deploy a smart account or failed to return the deployed sender address] +# AA15 initCode must create sender The smart account deployment process with the `initCode` does not return any `sender` address. There are two possible reasons: - The `initCode` factory is not creating an account. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa20.mdx b/docs/pages/references/bundler/entrypoint-errors/aa20.mdx index 18080354..b2559bb5 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa20.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa20.mdx @@ -1,4 +1,4 @@ -# AA20 account not deployed [No initCode was provided but the sender address has no deployed contract on-chain] +# AA20 account not deployed An `initCode` was not specified, but the `sender` address (i.e. the smart account) is not deployed. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa21.mdx b/docs/pages/references/bundler/entrypoint-errors/aa21.mdx index 82c8912f..321a3cf4 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa21.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa21.mdx @@ -1,4 +1,4 @@ -# AA21 didn't pay prefund [Sender's native token balance is insufficient to cover the required prefund with no paymaster attached] +# AA21 didn't pay prefund You are *not* using a paymaster, but the `sender` address did not have enough native tokens to cover the gas costs associated with the user operation. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa22.mdx b/docs/pages/references/bundler/entrypoint-errors/aa22.mdx index 26669ac6..9b61dbfd 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa22.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa22.mdx @@ -1,4 +1,4 @@ -# AA22 expired or not due [block.timestamp falls outside the validAfter–validUntil window returned by validateUserOp] +# AA22 expired or not due The `signature` used in the user operation is not valid, because it is outside of the time range it specified. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa23.mdx b/docs/pages/references/bundler/entrypoint-errors/aa23.mdx index f18aa2da..65fc77d2 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa23.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa23.mdx @@ -1,4 +1,4 @@ -# AA23 reverted (or OOG) [The account's validateUserOp function reverted or ran out of gas during validation] +# AA23 reverted (or OOG) :::info OOG = Out Of Gas diff --git a/docs/pages/references/bundler/entrypoint-errors/aa24.mdx b/docs/pages/references/bundler/entrypoint-errors/aa24.mdx index 95e8d7be..f60a298d 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa24.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa24.mdx @@ -1,4 +1,4 @@ -# AA24 signature error [validateUserOp returned SIG_VALIDATION_FAILED because the user operation signature is invalid] +# AA24 signature error The `validateUserOp` function of the smart account rejected the signature of the user operation. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa25.mdx b/docs/pages/references/bundler/entrypoint-errors/aa25.mdx index 38a7fab4..fa058f0e 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa25.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa25.mdx @@ -1,4 +1,4 @@ -# AA25 invalid account nonce [The nonce key/sequence pair does not match the EntryPoint's current nonce for the sender] +# AA25 invalid account nonce The `nonce` of the user operation is invalid. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa30.mdx b/docs/pages/references/bundler/entrypoint-errors/aa30.mdx index 2beff254..033622cd 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa30.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa30.mdx @@ -1,4 +1,4 @@ -# AA30 paymaster not deployed [The first 20 bytes of paymasterAndData point to an address with no deployed contract] +# AA30 paymaster not deployed :::info The first 20 bytes of the `paymasterAndData` field specify the address of the paymaster contract you are requesting to use. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa31.mdx b/docs/pages/references/bundler/entrypoint-errors/aa31.mdx index 7d7ef3d5..fca9c27d 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa31.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa31.mdx @@ -1,4 +1,4 @@ -# AA31 paymaster deposit too low [Paymaster's staked deposit in the EntryPoint is insufficient to cover the user operation's gas costs] +# AA31 paymaster deposit too low :::info The first 20 bytes of the `paymasterAndData` field specify the address of the paymaster contract you are requesting to use. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa32.mdx b/docs/pages/references/bundler/entrypoint-errors/aa32.mdx index e57114af..55b0bed1 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa32.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa32.mdx @@ -1,4 +1,4 @@ -# AA32 expired or not due [The user operation's validity window has passed or the valid-after timestamp has not yet been reached] +# AA32 expired or not due :::info By default, signatures from Pimlico's verifying paymaster are only valid for 10 minutes. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa33.mdx b/docs/pages/references/bundler/entrypoint-errors/aa33.mdx index f56a4076..2ed5568e 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa33.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa33.mdx @@ -1,4 +1,4 @@ -# AA33 reverted (or OOG) [The paymaster's validatePaymasterUserOp call reverted or ran out of gas during verification] +# AA33 reverted (or OOG) :::info OOG = Out Of Gas diff --git a/docs/pages/references/bundler/entrypoint-errors/aa34.mdx b/docs/pages/references/bundler/entrypoint-errors/aa34.mdx index 84407620..15dc98f1 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa34.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa34.mdx @@ -1,4 +1,4 @@ -# AA34 signature error [The paymaster's validatePaymasterUserOp returned an invalid or unrecognized signature] +# AA34 signature error :::info The first 20 bytes of the `paymasterAndData` field specify the address of the paymaster contract you are requesting to use. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa40.mdx b/docs/pages/references/bundler/entrypoint-errors/aa40.mdx index d646be92..34498577 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa40.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa40.mdx @@ -1,4 +1,4 @@ -# AA40 over verificationGasLimit [Combined gas used by account and paymaster verification exceeded the specified verificationGasLimit] +# AA40 over verificationGasLimit The amount of gas used by the smart account and paymaster verification exceeded the `verificationGasLimit` set for the user operation. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa41.mdx b/docs/pages/references/bundler/entrypoint-errors/aa41.mdx index 4af5936f..430c4997 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa41.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa41.mdx @@ -1,4 +1,4 @@ -# AA41 too little verificationGas [Account verification consumed more gas than the verificationGasLimit allows] +# AA41 too little verificationGas The amount of gas used by the smart account verification exceeded the `verificationGasLimit` set for the user operation. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa50.mdx b/docs/pages/references/bundler/entrypoint-errors/aa50.mdx index 80aca121..1a2f3bf8 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa50.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa50.mdx @@ -1,4 +1,4 @@ -# AA50 postOp reverted [The paymaster's postOp function reverted during post-execution accounting] +# AA50 postOp reverted :::info `postOp` is a function that is called by the EntryPoint on the paymaster contract after the user operation execution is completed. It is often used by paymasters to perform additional accounting logic. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa51.mdx b/docs/pages/references/bundler/entrypoint-errors/aa51.mdx index 64b9bbe8..42ea7393 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa51.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa51.mdx @@ -1,4 +1,4 @@ -# AA51 prefund below actualGasCost [Actual gas cost exceeded the prefund deposited by the account or paymaster] +# AA51 prefund below actualGasCost The actual gas cost of the user operation ended up being higher than the prefund paid by the smart account or the paymaster. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa90.mdx b/docs/pages/references/bundler/entrypoint-errors/aa90.mdx index 4debcf2f..9d4ed898 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa90.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa90.mdx @@ -1,4 +1,4 @@ -# AA90 invalid beneficiary [Bundler submitted a handleOps call with a zero or unset beneficiary address] +# AA90 invalid beneficiary The bundler did not set a beneficiary address when bundling the user operation. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa91.mdx b/docs/pages/references/bundler/entrypoint-errors/aa91.mdx index 55ba3baa..f1df919f 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa91.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa91.mdx @@ -1,4 +1,4 @@ -# AA91 failed send to beneficiary [EntryPoint's ETH transfer to the bundler beneficiary address reverted after operation execution] +# AA91 failed send to beneficiary The EntryPoint's transfer to the beneficiary of the funds accrued from the user operation reverted. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa92.mdx b/docs/pages/references/bundler/entrypoint-errors/aa92.mdx index 59a41480..1e73ee59 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa92.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa92.mdx @@ -1,4 +1,4 @@ -# AA92 internal call only [innerHandleOp was called directly rather than through the EntryPoint's handleOps function] +# AA92 internal call only The bundler attempted to call `innerHandleOp` function of the EntryPoint directly as opposed to through the `handleOps` function. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa93.mdx b/docs/pages/references/bundler/entrypoint-errors/aa93.mdx index 14381f01..299645ac 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa93.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa93.mdx @@ -1,4 +1,4 @@ -# AA93 invalid paymasterAndData [The paymasterAndData field is shorter than 20 bytes or does not encode a valid paymaster address] +# AA93 invalid paymasterAndData :::info The first 20 bytes of the `paymasterAndData` field specify the address of the paymaster contract you are requesting to use. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa94.mdx b/docs/pages/references/bundler/entrypoint-errors/aa94.mdx index 96b9cc0d..6b812ea5 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa94.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa94.mdx @@ -1,4 +1,4 @@ -# AA94 gas values overflow [A gas field in the UserOperation exceeds the uint160 type boundary] +# AA94 gas values overflow One or more of the gas values of the user operation do not fit into a `uint160`. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa95.mdx b/docs/pages/references/bundler/entrypoint-errors/aa95.mdx index a9aa0562..d2feee2b 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa95.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa95.mdx @@ -1,4 +1,4 @@ -# AA95 out of gas [The bundler exhausted the gas limit while attempting to bundle the UserOperation] +# AA95 out of gas The bundler tried to bundle the user operation with the gas limit set too low. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa96.mdx b/docs/pages/references/bundler/entrypoint-errors/aa96.mdx index 2fc5f31b..d08635dd 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa96.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa96.mdx @@ -1,4 +1,4 @@ -# AA96 invalid aggregator [The aggregator contract used for signature aggregation failed validation during bundling] +# AA96 invalid aggregator The bundler tried to bundle aggregated user operations with an invalid aggregator. diff --git a/docs/pages/references/bundler/entrypoint-errors/index.mdx b/docs/pages/references/bundler/entrypoint-errors/index.mdx index 563eb6de..af34ca51 100644 --- a/docs/pages/references/bundler/entrypoint-errors/index.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/index.mdx @@ -1,4 +1,4 @@ -# EntryPoint Errors [Reference for all AA-prefixed revert reasons thrown by the ERC-4337 EntryPoint contract] +# EntryPoint Errors We have listed all the errors that an ERC 4337 EntryPoint can return. diff --git a/docs/pages/references/bundler/faqs.mdx b/docs/pages/references/bundler/faqs.mdx index 045e6142..b9fe5924 100644 --- a/docs/pages/references/bundler/faqs.mdx +++ b/docs/pages/references/bundler/faqs.mdx @@ -1,4 +1,4 @@ -# Bundler FAQs [Answers to common questions about UserOperation inclusion, fees, and bundler behavior] +# Bundler FAQs ## I successfully submitted a user operation to the bundler, but it never got included in a block. What happened? There can be many reasons for this. The most common are: diff --git a/docs/pages/references/bundler/index.mdx b/docs/pages/references/bundler/index.mdx index fdbf9697..059fd128 100644 --- a/docs/pages/references/bundler/index.mdx +++ b/docs/pages/references/bundler/index.mdx @@ -1,4 +1,4 @@ -# Alto Bundler [Pimlico's open-source, type-safe ERC-4337 bundler built for reliability and fast inclusion] +# Alto Bundler ![Landscape](/alto.png) diff --git a/docs/pages/references/bundler/public-endpoint.mdx b/docs/pages/references/bundler/public-endpoint.mdx index d7c6ed4f..4ea32e7b 100644 --- a/docs/pages/references/bundler/public-endpoint.mdx +++ b/docs/pages/references/bundler/public-endpoint.mdx @@ -1,4 +1,4 @@ -# Public Endpoint [A rate-limited bundler URL for prototyping that requires no API key] +# Public Endpoint Pimlico provides a public bundler endpoint for developers to test and prototype their applications without requiring an API key. diff --git a/docs/pages/references/bundler/self-host.mdx b/docs/pages/references/bundler/self-host.mdx index 2976fa8c..e0a40768 100644 --- a/docs/pages/references/bundler/self-host.mdx +++ b/docs/pages/references/bundler/self-host.mdx @@ -1,4 +1,4 @@ -# Self-Host Guide [Instructions for building, configuring, and running your own Alto bundler instance] +# Self-Host Guide This guide holds all information related to self hosting your own Alto bundler instance. Including installation, setting up, running, and troubleshooting. diff --git a/docs/pages/references/bundler/testing.mdx b/docs/pages/references/bundler/testing.mdx index 5cb95512..a58d456b 100644 --- a/docs/pages/references/bundler/testing.mdx +++ b/docs/pages/references/bundler/testing.mdx @@ -1,4 +1,4 @@ -# How to use Alto in CI/CD testing [Spin up an isolated Alto + Anvil environment for deterministic ERC-4337 integration tests] +# How to use Alto in CI/CD testing To effectively integrate Alto, a performant and type-safe ERC-4337 bundler developed by Pimlico, into your CI/CD testing pipeline, we recommend utilizing Prool, a library that provides programmatic HTTP testing instances for Ethereum.rool facilitates the creation of isolated Ethereum environments, enabling efficient testing of smart contracts and related components. **Installation Steps:** diff --git a/docs/pages/references/bundler/usage.mdx b/docs/pages/references/bundler/usage.mdx index 0337c7d8..d5932a1c 100644 --- a/docs/pages/references/bundler/usage.mdx +++ b/docs/pages/references/bundler/usage.mdx @@ -1,4 +1,4 @@ -# How to use the bundler [Send and estimate UserOperations via Pimlico's JSON-RPC bundler endpoints] +# How to use the bundler :::tip[Tip] We recommend using [permissionless.js](/references/permissionless/reference/smart-account-actions/sendUserOperation) as the SDK to interact with the bundler as it provides type-safe wrappers for all bundler methods. diff --git a/docs/pages/references/paymaster/erc20-paymaster/architecture.mdx b/docs/pages/references/paymaster/erc20-paymaster/architecture.mdx index 197a82f1..c77f8cf9 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/architecture.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/architecture.mdx @@ -1,4 +1,4 @@ -# ERC-20 Paymaster Architecture [How the onchain contract and offchain oracle work together] +# ERC-20 Paymaster Architecture :::info You can view the whole ERC-20 Paymaster contract [in our repository](https://github.com/pimlicolabs). diff --git a/docs/pages/references/paymaster/erc20-paymaster/contract-addresses.mdx b/docs/pages/references/paymaster/erc20-paymaster/contract-addresses.mdx index 20f4c1e1..ceceabec 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/contract-addresses.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/contract-addresses.mdx @@ -1,4 +1,4 @@ -# ERC-20 Paymaster Contract Addresses [Deployed addresses for EntryPoint v0.6, v0.7, and v0.8 across all supported chains] +# ERC-20 Paymaster Contract Addresses Below are the contract addresses for the ERC-20 Paymaster contracts that are currently deployed. diff --git a/docs/pages/references/paymaster/erc20-paymaster/endpoints/pimlico_getSupportedTokens.mdx b/docs/pages/references/paymaster/erc20-paymaster/endpoints/pimlico_getSupportedTokens.mdx index 343f1662..f7c3bb5a 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/endpoints/pimlico_getSupportedTokens.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/endpoints/pimlico_getSupportedTokens.mdx @@ -1,4 +1,4 @@ -# pimlico_getSupportedTokens [Returns the ERC-20 tokens accepted by the paymaster on the current chain] +# pimlico_getSupportedTokens This method returns the list of tokens supported by the ERC-20 Paymaster for the current user on a specific chain. diff --git a/docs/pages/references/paymaster/erc20-paymaster/endpoints/pimlico_getTokenQuotes.mdx b/docs/pages/references/paymaster/erc20-paymaster/endpoints/pimlico_getTokenQuotes.mdx index 9ed255cb..b93c1d47 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/endpoints/pimlico_getTokenQuotes.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/endpoints/pimlico_getTokenQuotes.mdx @@ -1,4 +1,4 @@ -# pimlico_getTokenQuotes [Returns live exchange rates and postOpGas for estimating token costs before signing] +# pimlico_getTokenQuotes This method returns the tentative token exchange rates used by the ERC-20 Paymaster. diff --git a/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_getPaymasterData.mdx b/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_getPaymasterData.mdx index 4ddcb700..a1122680 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_getPaymasterData.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_getPaymasterData.mdx @@ -1,4 +1,4 @@ -# pm_getPaymasterData [Returns signed paymaster fields to attach to a user operation before submission] +# pm_getPaymasterData 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. diff --git a/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_getPaymasterStubData.mdx b/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_getPaymasterStubData.mdx index ac60a569..3e4dd73e 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_getPaymasterStubData.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_getPaymasterStubData.mdx @@ -1,4 +1,4 @@ -# pm_getPaymasterStubData [Returns stub paymaster fields for gas estimation before the operation is signed] +# pm_getPaymasterStubData 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. diff --git a/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_sponsorUserOperation.mdx b/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_sponsorUserOperation.mdx index b13a772d..ec45b914 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_sponsorUserOperation.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/endpoints/pm_sponsorUserOperation.mdx @@ -1,4 +1,4 @@ -# pm_sponsorUserOperation [Sponsors a user operation and returns all paymaster fields plus updated gas limits] +# pm_sponsorUserOperation 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. diff --git a/docs/pages/references/paymaster/erc20-paymaster/faqs.mdx b/docs/pages/references/paymaster/erc20-paymaster/faqs.mdx index e4940026..f7ab208f 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/faqs.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/faqs.mdx @@ -1,4 +1,4 @@ -# ERC-20 Paymaster FAQs [Common questions about gas abstraction with ERC-20 tokens] +# ERC-20 Paymaster FAQs ## What is a paymaster? diff --git a/docs/pages/references/paymaster/erc20-paymaster/index.mdx b/docs/pages/references/paymaster/erc20-paymaster/index.mdx index 800c57ec..68239e44 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/index.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/index.mdx @@ -1,4 +1,4 @@ -# ERC-20 Paymaster [Let users pay gas in USDC, DAI, or other ERC-20 tokens instead of ETH] +# ERC-20 Paymaster ![Landscape](/erc20paymaster.png) diff --git a/docs/pages/references/paymaster/erc20-paymaster/supported-tokens.mdx b/docs/pages/references/paymaster/erc20-paymaster/supported-tokens.mdx index 31f028f8..357ddb74 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/supported-tokens.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/supported-tokens.mdx @@ -1,6 +1,6 @@ import SupportedTokens from '../../../../../data/supported-tokens.md' -# Supported Tokens [ERC-20 tokens accepted for gas payments, by chain and plan tier] +# Supported Tokens 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). diff --git a/docs/pages/references/paymaster/index.mdx b/docs/pages/references/paymaster/index.mdx index e8ce40ec..6eec267b 100644 --- a/docs/pages/references/paymaster/index.mdx +++ b/docs/pages/references/paymaster/index.mdx @@ -1,4 +1,4 @@ -# Pimlico Paymasters [Verifying and ERC-20 paymasters for sponsoring gas or enabling gas payments in ERC-20 tokens] +# Pimlico Paymasters Pimlico providers two different types of paymasters to allow you to abstract away the gas fees for your users. @@ -8,4 +8,4 @@ Our Verifying Paymaster allows you to load up your off-chain Pimlico balance thr ## ERC-20 Paymaster -Our ERC-20 Paymaster is a permissionless on-chain smart contract that lets your users pay for their own gas fees using their ERC-20 tokens. +Our ERC-20 Paymaster is a permissionless on-chain smart contract that lets your users pay for their own gas fees using their ERC-20 tokens. \ No newline at end of file diff --git a/docs/pages/references/paymaster/verifying-paymaster/common-errors.mdx b/docs/pages/references/paymaster/verifying-paymaster/common-errors.mdx index b6e3377e..70a5713d 100644 --- a/docs/pages/references/paymaster/verifying-paymaster/common-errors.mdx +++ b/docs/pages/references/paymaster/verifying-paymaster/common-errors.mdx @@ -1,4 +1,4 @@ -# Verifying Paymaster Common Errors [Troubleshoot balance, API key, chain support and many more errors from the verifying paymaster] +# Verifying Paymaster Common Errors `Insufficient Pimlico balance for sponsorship, please top up` @@ -10,4 +10,4 @@ This error means that you have not provided a valid API key in the query paramet `chain XYZ is not supported` -This error means that the chain you are trying to sponsor a User Operation on is not supported by Pimlico. You can find the list of supported chains [here](/guides/supported-chains). If there is a chain we do not yet support that you would like to see added, [reach out to us](https://t.me/kristofgazso). +This error means that the chain you are trying to sponsor a User Operation on is not supported by Pimlico. You can find the list of supported chains [here](/guides/supported-chains). If there is a chain we do not yet support that you would like to see added, [reach out to us](https://t.me/kristofgazso). \ No newline at end of file diff --git a/docs/pages/references/paymaster/verifying-paymaster/endpoints.mdx b/docs/pages/references/paymaster/verifying-paymaster/endpoints.mdx index 2a58a78e..c948f854 100644 --- a/docs/pages/references/paymaster/verifying-paymaster/endpoints.mdx +++ b/docs/pages/references/paymaster/verifying-paymaster/endpoints.mdx @@ -1,4 +1,4 @@ -# Verifying Paymaster Endpoints [JSON-RPC methods for sponsoring and validating user operations] +# Verifying Paymaster Endpoints All calls are in JSON-RPC format and have to be made to the following URL: `https://api.pimlico.io/v2/{chain}/rpc?apikey=[YOUR_API_KEY_HERE]` diff --git a/docs/pages/references/paymaster/verifying-paymaster/index.mdx b/docs/pages/references/paymaster/verifying-paymaster/index.mdx index 5fcb21b0..6e50b151 100644 --- a/docs/pages/references/paymaster/verifying-paymaster/index.mdx +++ b/docs/pages/references/paymaster/verifying-paymaster/index.mdx @@ -1,4 +1,4 @@ -# Verifying Paymaster [Sponsor gas fees for users via an off-chain API and on-chain signature verification] +# Verifying Paymaster Pimlico's Verifying Paymaster is a combination of an API and an on-chain smart contract that allows you to sponsor gas fees for your users. By calling our API, you get back a signature that will be accepted by our smart contract and will pay for the gas fees of your users. diff --git a/docs/pages/references/paymaster/verifying-paymaster/usage.mdx b/docs/pages/references/paymaster/verifying-paymaster/usage.mdx index 0a86f25e..15e90cbc 100644 --- a/docs/pages/references/paymaster/verifying-paymaster/usage.mdx +++ b/docs/pages/references/paymaster/verifying-paymaster/usage.mdx @@ -1,4 +1,4 @@ -# How to use the Verifying Paymaster [Set up your API key and call pm_sponsorUserOperation to cover user gas costs] +# How to use the Verifying Paymaster :::tip[Tip] We recommend using [permissionless.js](/references/permissionless/reference/smart-account-actions/sendUserOperation) as the SDK to interact with the Verifying Paymaster as it provides type-safe wrappers for paymaster methods. diff --git a/docs/pages/references/permissionless/faqs.mdx b/docs/pages/references/permissionless/faqs.mdx index a09d06ea..e03fc6b6 100644 --- a/docs/pages/references/permissionless/faqs.mdx +++ b/docs/pages/references/permissionless/faqs.mdx @@ -1,4 +1,4 @@ -# permissionless.js FAQs [Answers to common integration questions and gotchas] +# permissionless.js FAQs ## How to decrease inclusion time on Base using flashblocks? diff --git a/docs/pages/references/permissionless/how-to/accounts/comparison.mdx b/docs/pages/references/permissionless/how-to/accounts/comparison.mdx index a848f8f7..88de8172 100644 --- a/docs/pages/references/permissionless/how-to/accounts/comparison.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/comparison.mdx @@ -1,4 +1,4 @@ -# Difference between various Smart Account types in permissionless.js [Side-by-side feature comparison of Safe, Kernel, Biconomy, LightAccount, and other supported account types] +# Difference between various Smart Account types in permissionless.js permissionless.js supports 8 types of accounts. Below is an overview of each account type and their key features: diff --git a/docs/pages/references/permissionless/how-to/accounts/support.mdx b/docs/pages/references/permissionless/how-to/accounts/support.mdx index a1f0d0db..8e1a84cb 100644 --- a/docs/pages/references/permissionless/how-to/accounts/support.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/support.mdx @@ -1,4 +1,4 @@ -# Account Support [Which smart account implementations are supported and on which EntryPoint versions] +# Account Support 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. diff --git a/docs/pages/references/permissionless/how-to/accounts/use-biconomy-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-biconomy-account.mdx index 6e1f04e8..17ce1a44 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-biconomy-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-biconomy-account.mdx @@ -1,4 +1,4 @@ -# How to create and use a Biconomy account with permissionless.js [Biconomy v2 smart account via toBiconomySmartAccount] +# How to create and use a Biconomy account with permissionless.js [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. diff --git a/docs/pages/references/permissionless/how-to/accounts/use-coinbase-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-coinbase-account.mdx index a882af28..cc75dae6 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-coinbase-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-coinbase-account.mdx @@ -1,4 +1,4 @@ -# How to create and use a Coinbase smart account with permissionless.js [Coinbase Smart Wallet via toCoinbaseSmartAccount] +# How to create and use a Coinbase smart account with permissionless.js :::warning[Warning] diff --git a/docs/pages/references/permissionless/how-to/accounts/use-erc7579-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-erc7579-account.mdx index a618490a..ded8fe5c 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-erc7579-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-erc7579-account.mdx @@ -1,4 +1,4 @@ -# How to use an ERC-7579 compatible smart account with permissionless.js [ERC-7579 modular account interface for installing and calling validators and executors] +# How to use an ERC-7579 compatible smart account with permissionless.js [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. diff --git a/docs/pages/references/permissionless/how-to/accounts/use-kernel-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-kernel-account.mdx index 6f5dc66d..4292ee2b 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-kernel-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-kernel-account.mdx @@ -1,4 +1,4 @@ -# How to create and use a Kernel account with permissionless.js [ZeroDev Kernel v2/v3 smart account via toEcdsaKernelSmartAccount] +# How to create and use a Kernel account with permissionless.js :::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. diff --git a/docs/pages/references/permissionless/how-to/accounts/use-light-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-light-account.mdx index f0a2bd1b..27e11f09 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-light-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-light-account.mdx @@ -1,4 +1,4 @@ -# How to create and use a LightAccount with permissionless.js [Alchemy LightAccount via toLightSmartAccount] +# How to create and use a LightAccount with permissionless.js [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. diff --git a/docs/pages/references/permissionless/how-to/accounts/use-nexus-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-nexus-account.mdx index aec2ecf1..cfaa982c 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-nexus-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-nexus-account.mdx @@ -1,4 +1,4 @@ -# How to create and use a Biconomy Nexus account with permissionless.js [Biconomy Nexus ERC-7579 modular account via toNexusSmartAccount] +# How to create and use a Biconomy Nexus account with permissionless.js [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. diff --git a/docs/pages/references/permissionless/how-to/accounts/use-safe-account-with-multiple-signers.mdx b/docs/pages/references/permissionless/how-to/accounts/use-safe-account-with-multiple-signers.mdx index 08bfcb1c..3aa3aa44 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-safe-account-with-multiple-signers.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-safe-account-with-multiple-signers.mdx @@ -1,4 +1,4 @@ -# How to create and use a Safe account with multiple signers [Safe multisig with m-of-n threshold signers via toSafeSmartAccount] +# How to create and use a Safe account with multiple signers [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. diff --git a/docs/pages/references/permissionless/how-to/accounts/use-safe-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-safe-account.mdx index 3ddf449e..170b7b8b 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-safe-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-safe-account.mdx @@ -1,4 +1,4 @@ -# How to create and use a Safe account with permissionless.js [Safe smart account via toSafeSmartAccount with optional 4337 module] +# How to create and use a Safe account with permissionless.js [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. diff --git a/docs/pages/references/permissionless/how-to/accounts/use-simple-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-simple-account.mdx index f4069da1..6f72cbea 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-simple-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-simple-account.mdx @@ -1,4 +1,4 @@ -# How to create and use a SimpleAccount with permissionless.js [ERC-4337 reference SimpleAccount via toSimpleSmartAccount] +# How to create and use a SimpleAccount with permissionless.js [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. diff --git a/docs/pages/references/permissionless/how-to/accounts/use-thirdweb-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-thirdweb-account.mdx index a6cad1f8..0fbcd838 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-thirdweb-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-thirdweb-account.mdx @@ -1,4 +1,4 @@ -# How to create and use a Thirdweb account with permissionless.js [Thirdweb managed smart account via toThirdwebSmartAccount] +# How to create and use a Thirdweb account with permissionless.js ## Picking an EntryPoint diff --git a/docs/pages/references/permissionless/how-to/accounts/use-trustwallet-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-trustwallet-account.mdx index f898605f..3781b3d1 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-trustwallet-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-trustwallet-account.mdx @@ -1,4 +1,4 @@ -# How to create and use a Trust smart account with permissionless.js [ISO-certified Barz smart account with built-in on-chain security monitoring] +# How to create and use a Trust smart account with permissionless.js :::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. diff --git a/docs/pages/references/permissionless/how-to/dapp-gas-sponsorship.mdx b/docs/pages/references/permissionless/how-to/dapp-gas-sponsorship.mdx index 530aacbf..6f62e11f 100644 --- a/docs/pages/references/permissionless/how-to/dapp-gas-sponsorship.mdx +++ b/docs/pages/references/permissionless/how-to/dapp-gas-sponsorship.mdx @@ -1,4 +1,4 @@ -# Update your existing app to sponsor gas fees for smart account users [Add ERC-7677 paymaster sponsorship to an existing dapp without embedding a wallet] +# Update your existing app to sponsor gas fees for smart account users If you are looking to sponsor gas fees for your users without embedding a wallet in your app, you can use this guide to update your existing app to sponsor gas fees for smart accounts. diff --git a/docs/pages/references/permissionless/how-to/migration-guide.mdx b/docs/pages/references/permissionless/how-to/migration-guide.mdx index e7a6cf2f..6a40605c 100644 --- a/docs/pages/references/permissionless/how-to/migration-guide.mdx +++ b/docs/pages/references/permissionless/how-to/migration-guide.mdx @@ -1,4 +1,4 @@ -# Migration Guide [Breaking changes and required updates when upgrading permissionless.js from 0.1 to 0.2] +# Migration Guide ## 0.2.0 diff --git a/docs/pages/references/permissionless/how-to/parallel-transactions.mdx b/docs/pages/references/permissionless/how-to/parallel-transactions.mdx index dc908a39..d711278e 100644 --- a/docs/pages/references/permissionless/how-to/parallel-transactions.mdx +++ b/docs/pages/references/permissionless/how-to/parallel-transactions.mdx @@ -1,4 +1,4 @@ -# How to send multiple user operations in parallel [Batch calls into one userOp or submit concurrent ops using ERC-4337's multi-key nonce scheme] +# How to send multiple user operations in parallel 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. diff --git a/docs/pages/references/permissionless/how-to/paymasters/conditional-sponsoring.mdx b/docs/pages/references/permissionless/how-to/paymasters/conditional-sponsoring.mdx index 7774c739..af7b1422 100644 --- a/docs/pages/references/permissionless/how-to/paymasters/conditional-sponsoring.mdx +++ b/docs/pages/references/permissionless/how-to/paymasters/conditional-sponsoring.mdx @@ -1,4 +1,4 @@ -# How to conditionally sponsor a user operation [Gate sponsorship on arbitrary on-chain or off-chain criteria via the sponsorUserOperation middleware] +# How to conditionally sponsor a user operation The permissionless.js library allows you to conditionally sponsor a user operation. This can be useful in situations like: diff --git a/docs/pages/references/permissionless/how-to/signers/dfns.mdx b/docs/pages/references/permissionless/how-to/signers/dfns.mdx index bebba5fb..d4472208 100644 --- a/docs/pages/references/permissionless/how-to/signers/dfns.mdx +++ b/docs/pages/references/permissionless/how-to/signers/dfns.mdx @@ -1,6 +1,6 @@ -# How to use a DFNS signer with permissionless.js [MPC/TSS wallet-as-a-service with biometric (WebAuthn) key access via a decentralized backend] +# How to use a DFNS signer with permissionless.js [Dfns](https://www.dfns.co/) is an MPC/TSS Wallet-as-a-Service API/SDK provider. Dfns aims to optimize the balance of security and UX by deploying key shares into a decentralized network on the backend while enabling wallet access via biometric open standards on the frontend like Webauthn. Reach out [here](https://www.dfns.co/) to set up a sandbox environment to get started. diff --git a/docs/pages/references/permissionless/how-to/signers/dynamic.mdx b/docs/pages/references/permissionless/how-to/signers/dynamic.mdx index c4b49280..ba368030 100644 --- a/docs/pages/references/permissionless/how-to/signers/dynamic.mdx +++ b/docs/pages/references/permissionless/how-to/signers/dynamic.mdx @@ -1,4 +1,4 @@ -# How to use a Dynamic signer with permissionless.js [Embedded wallet with social/email login that drives a smart account as the on-chain signer] +# How to use a Dynamic signer with permissionless.js permissionless.js allows you to plug in custom signers to control the accounts that you create. Dynamic is an embedded wallet provider that allows you to easily onboard users to your dapp. It is possible to use Dynamic as a signer with permissionless.js, allowing you to use Dynamic to create and control smart accounts and sign transactions. diff --git a/docs/pages/references/permissionless/how-to/signers/fireblocks.mdx b/docs/pages/references/permissionless/how-to/signers/fireblocks.mdx index db567896..cfe973ca 100644 --- a/docs/pages/references/permissionless/how-to/signers/fireblocks.mdx +++ b/docs/pages/references/permissionless/how-to/signers/fireblocks.mdx @@ -1,6 +1,6 @@ import SmartAccounts from "./smartAccounts.mdx" -# How to use a Fireblocks signer with permissionless.js [Institutional MPC-CMP custody with policy-engine governance as a smart account signer] +# How to use a Fireblocks signer with permissionless.js [Fireblocks](https://www.fireblocks.com/) is a user-friendly platform designed for building blockchain-based products and managing digital asset operations. It uses a direct custody approach, combining high performance with zero counterparty risk and multi-layered security. The platform includes secure MPC-based digital asset wallets, a policy engine for governance and transaction rules, and comprehensive treasury management. Fireblocks' security framework features multiple layers, including MPC-CMP technology, secure enclaves, and a robust policy engine, ensuring protection against cyberattacks, internal threats, and human errors. It's widely used for various operations like treasury, trading, and managing NFTs, smart contracts, and user wallets. diff --git a/docs/pages/references/permissionless/how-to/signers/index.mdx b/docs/pages/references/permissionless/how-to/signers/index.mdx index 8e27496b..1d05a491 100644 --- a/docs/pages/references/permissionless/how-to/signers/index.mdx +++ b/docs/pages/references/permissionless/how-to/signers/index.mdx @@ -1,4 +1,4 @@ -# Signers for permissionless.js [Overview of EOA and third-party wallet services that can own and authorize permissionless.js smart accounts] +# Signers for permissionless.js Smart accounts are able to define custom authentication and authorization schemes, but still require signatures to validate user operations coming from signers. permissionless.js which accepts `LocalAccount | EIP1193Provider | WalletClient`, that can be passed as an owner to `createSmartAccountClient`. While by default these owners have full control over the smart account, it's possible to define custom roles and permissions for owners, and mix-and-match them to create complex multi-signature schemes, as well as rotate signers and revoke their access. diff --git a/docs/pages/references/permissionless/how-to/signers/lit-protocol.mdx b/docs/pages/references/permissionless/how-to/signers/lit-protocol.mdx index 8ba215d1..1c1b8886 100644 --- a/docs/pages/references/permissionless/how-to/signers/lit-protocol.mdx +++ b/docs/pages/references/permissionless/how-to/signers/lit-protocol.mdx @@ -1,4 +1,4 @@ -# How to Integrate Pimlico with Lit Protocol OTP Authentication [Decentralized PKP key management with email/SMS/WhatsApp OTP login via Stytch] +# How to Integrate Pimlico with Lit Protocol OTP Authentication This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. diff --git a/docs/pages/references/permissionless/how-to/signers/magic.mdx b/docs/pages/references/permissionless/how-to/signers/magic.mdx index 1e4d4dc3..37636ca1 100644 --- a/docs/pages/references/permissionless/how-to/signers/magic.mdx +++ b/docs/pages/references/permissionless/how-to/signers/magic.mdx @@ -1,6 +1,6 @@ import SmartAccounts from "./smartAccounts.mdx" -# How to use a Magic signer with permissionless.js [Social-login embedded wallet as a smart account signer with gas sponsorship and batching] +# How to use a Magic signer with permissionless.js [Magic](https://magic.link/) is a popular embedded wallet provider that supports social logins. While social logins are great, your users still need to onramp in order to pay for gas, which introduces significant friction. diff --git a/docs/pages/references/permissionless/how-to/signers/para.mdx b/docs/pages/references/permissionless/how-to/signers/para.mdx index 1141b911..e42f00f2 100644 --- a/docs/pages/references/permissionless/how-to/signers/para.mdx +++ b/docs/pages/references/permissionless/how-to/signers/para.mdx @@ -1,5 +1,5 @@ -# How to use a Para signer with permissionless.js [Cross-app portable MPC wallet via email or social login as a smart account signer] +# How to use a Para signer with permissionless.js [Para](https://www.getpara.com/) offers a signing solution enabling the creation of secure, embedded MPC wallets accessible via email or social login. These wallets, compatible across different applications, offer portability, recoverability, and programmability, eliminating the need for users to establish separate signers or contract accounts for each application. diff --git a/docs/pages/references/permissionless/how-to/signers/particle-network.mdx b/docs/pages/references/permissionless/how-to/signers/particle-network.mdx index 217c123b..14f2785c 100644 --- a/docs/pages/references/permissionless/how-to/signers/particle-network.mdx +++ b/docs/pages/references/permissionless/how-to/signers/particle-network.mdx @@ -1,5 +1,5 @@ -# How to use a Particle Network signer with permissionless.js [MPC-TSS key management via social/email login] +# How to use a Particle Network signer with permissionless.js [Particle Network](https://particle.network/) is an intent-centric, modular wallet-as-a-service (WaaS). By utilizing MPC-TSS for key management, Particle can streamline onboarding via familiar Web2 methods such as Google, emails, and phone numbers. diff --git a/docs/pages/references/permissionless/how-to/signers/passkey-server.mdx b/docs/pages/references/permissionless/how-to/signers/passkey-server.mdx index b5260c53..2497768a 100644 --- a/docs/pages/references/permissionless/how-to/signers/passkey-server.mdx +++ b/docs/pages/references/permissionless/how-to/signers/passkey-server.mdx @@ -1,4 +1,4 @@ -# How to use a Passkey (WebAuthn) server [Server-side credential verification for passkey-controlled smart accounts] +# How to use a Passkey (WebAuthn) server This how-to guide will walk you through the steps to integrate Passkey (WebAuthn) server with a smart account whose user operations are relayed and sponsored by Pimlico. diff --git a/docs/pages/references/permissionless/how-to/signers/passkey.mdx b/docs/pages/references/permissionless/how-to/signers/passkey.mdx index 7011e54e..9bc078c8 100644 --- a/docs/pages/references/permissionless/how-to/signers/passkey.mdx +++ b/docs/pages/references/permissionless/how-to/signers/passkey.mdx @@ -1,4 +1,4 @@ -# How to use a Passkey (WebAuthn) signer [Client-side biometric or hardware key as a smart account signer] +# How to use a Passkey (WebAuthn) signer This how-to guide will walk you through the steps to integrate Passkey (WebAuthn) signer with a smart account whose user operations are relayed and sponsored by Pimlico. diff --git a/docs/pages/references/permissionless/how-to/signers/privy.mdx b/docs/pages/references/permissionless/how-to/signers/privy.mdx index b44d3fc9..3bd37bbf 100644 --- a/docs/pages/references/permissionless/how-to/signers/privy.mdx +++ b/docs/pages/references/permissionless/how-to/signers/privy.mdx @@ -1,4 +1,4 @@ -# How to use a Privy signer with permissionless.js [Embedded wallet with React hooks driving a smart account] +# How to use a Privy signer with permissionless.js permissionless.js allows you to plug in custom signers to control the accounts that you create. Privy is an embedded wallet provider that allows you to easily onboard users to your dapp. It is possible to use Privy as a signer with permissionless.js, allowing you to use Privy to create and control smart accounts and sign transactions. diff --git a/docs/pages/references/permissionless/how-to/signers/turnkey.mdx b/docs/pages/references/permissionless/how-to/signers/turnkey.mdx index 61af4dc9..d2fabba2 100644 --- a/docs/pages/references/permissionless/how-to/signers/turnkey.mdx +++ b/docs/pages/references/permissionless/how-to/signers/turnkey.mdx @@ -1,4 +1,4 @@ -# How to use a Turnkey signer with permissionless.js [Custodial key infrastructure with policy engine for smart accounts] +# How to use a Turnkey signer with permissionless.js [Turnkey](https://turnkey.com/) is a key infrastructure provider with a great developer API and a powerful security policy engine. diff --git a/docs/pages/references/permissionless/how-to/signers/web3auth.mdx b/docs/pages/references/permissionless/how-to/signers/web3auth.mdx index a5818481..60d5429a 100644 --- a/docs/pages/references/permissionless/how-to/signers/web3auth.mdx +++ b/docs/pages/references/permissionless/how-to/signers/web3auth.mdx @@ -1,4 +1,4 @@ -# How to use a Web3Auth signer with permissionless.js [Social login signer with gasless UX via smart account sponsorship] +# How to use a Web3Auth signer with permissionless.js [Web3Auth](https://web3auth.io/) is a popular embedded wallet provider that supports social logins. While social logins are great, your users still need to onramp in order to pay for gas, which introduces significant friction. diff --git a/docs/pages/references/permissionless/how-to/testing/build-bear.mdx b/docs/pages/references/permissionless/how-to/testing/build-bear.mdx index e53c18b3..beb139ec 100644 --- a/docs/pages/references/permissionless/how-to/testing/build-bear.mdx +++ b/docs/pages/references/permissionless/how-to/testing/build-bear.mdx @@ -1,4 +1,4 @@ -# Testing with BuildBear Sandboxes [Forked chain sandbox with bundler and mock paymaster for integration tests] +# Testing with BuildBear Sandboxes This guide introduces how to setup a BuildBear Sandbox with for testing the Alto bundler and a mock paymaster. We will be using viem and permissionless to interact with the sandbox enviornment. diff --git a/docs/pages/references/permissionless/how-to/testing/docker.mdx b/docs/pages/references/permissionless/how-to/testing/docker.mdx index b146da27..f2eaa3a8 100644 --- a/docs/pages/references/permissionless/how-to/testing/docker.mdx +++ b/docs/pages/references/permissionless/how-to/testing/docker.mdx @@ -1,4 +1,4 @@ -# Local Testing With Docker [Fully local ERC-4337 stack with Alto bundler and mock paymaster via Docker] +# Local Testing With Docker This guide introduces a ready-to-use mock test environment, that contains: diff --git a/docs/pages/references/permissionless/index.mdx b/docs/pages/references/permissionless/index.mdx index be87e0f2..81a63798 100644 --- a/docs/pages/references/permissionless/index.mdx +++ b/docs/pages/references/permissionless/index.mdx @@ -22,7 +22,7 @@ import { HomePage } from 'vocs/components'
-# permissionless.js [Thin viem wrapper for ERC-4337 — smart accounts (Safe, Kernel, Biconomy, Light), bundlers, and paymasters with no lock-in] +# Overview ```ts twoslash const pimlicoApiKey = "YOUR_API_KEY_HERE" @@ -53,7 +53,7 @@ opReceipt!.actualGasUsed ``` -## Features +# Features - **High-level smart account support**: We support a high-level API for deploying and managing smart accounts, including some of the most popular implementations ([Safe](https://safe.global), [Kernel](https://zerodev.app), [Biconomy](https://biconomy.io), [TrustWallet](https://trustwallet.com/swift), etc.) - **Bundler support**: We support all bundler actions following [ERC-4337](https://eips.ethereum.org/EIPS/eip-4337#rpc-methods-eth-namespace). @@ -63,7 +63,7 @@ opReceipt!.actualGasUsed - **Built on & for viem**: permissionless.js is designed to be a thin wrapper around viem, maintaining the same style and overall feel viem provides. - and a lot more... -## Source Code +# Source Code The source code for permissionless.js is available on [GitHub](https://github.com/pimlicolabs/permissionless.js) diff --git a/docs/pages/references/permissionless/reference/accounts/to7702KernelSmartAccount.mdx b/docs/pages/references/permissionless/reference/accounts/to7702KernelSmartAccount.mdx index dca0b95c..7af6dc8b 100644 --- a/docs/pages/references/permissionless/reference/accounts/to7702KernelSmartAccount.mdx +++ b/docs/pages/references/permissionless/reference/accounts/to7702KernelSmartAccount.mdx @@ -1,4 +1,4 @@ -# to7702KernelSmartAccount [Delegates an EOA to a Kernel smart account via EIP-7702 and returns an account instance] +# to7702KernelSmartAccount Creates a KernelAccount instance by delegating `owner` using EIP-7702. Check out [this guide](/guides/eip7702/demo) for a complete tutorial. diff --git a/docs/pages/references/permissionless/reference/accounts/to7702SimpleSmartAccount.mdx b/docs/pages/references/permissionless/reference/accounts/to7702SimpleSmartAccount.mdx index 092d4f26..632b98ed 100644 --- a/docs/pages/references/permissionless/reference/accounts/to7702SimpleSmartAccount.mdx +++ b/docs/pages/references/permissionless/reference/accounts/to7702SimpleSmartAccount.mdx @@ -1,4 +1,4 @@ -# to7702SimpleSmartAccount [Delegates an EOA to a SimpleAccount via EIP-7702 and returns an account instance] +# to7702SimpleSmartAccount Creates a SimpleAccount instance by delegating `owner` using EIP-7702. diff --git a/docs/pages/references/permissionless/reference/accounts/toKernelSmartAccount.mdx b/docs/pages/references/permissionless/reference/accounts/toKernelSmartAccount.mdx index 00872ee1..30cfa319 100644 --- a/docs/pages/references/permissionless/reference/accounts/toKernelSmartAccount.mdx +++ b/docs/pages/references/permissionless/reference/accounts/toKernelSmartAccount.mdx @@ -1,4 +1,4 @@ -# toKernelSmartAccount [Constructs a Kernel smart account instance controlled by the given owner] +# toKernelSmartAccount Creates a KernelAccount instance controlled by a `owners`. Check out [this guide](/guides/how-to/accounts/use-kernel-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/reference/accounts/toLightSmartAccount.mdx b/docs/pages/references/permissionless/reference/accounts/toLightSmartAccount.mdx index cb21d3b6..ef1d519f 100644 --- a/docs/pages/references/permissionless/reference/accounts/toLightSmartAccount.mdx +++ b/docs/pages/references/permissionless/reference/accounts/toLightSmartAccount.mdx @@ -1,4 +1,4 @@ -# toLightSmartAccount [Constructs an Alchemy LightAccount instance controlled by the given owner] +# toLightSmartAccount Creates a LightAccount instance controlled by a `owner`. diff --git a/docs/pages/references/permissionless/reference/accounts/toNexusSmartAccount.mdx b/docs/pages/references/permissionless/reference/accounts/toNexusSmartAccount.mdx index e9b5e2dd..576cc1d2 100644 --- a/docs/pages/references/permissionless/reference/accounts/toNexusSmartAccount.mdx +++ b/docs/pages/references/permissionless/reference/accounts/toNexusSmartAccount.mdx @@ -1,4 +1,4 @@ -# toNexusSmartAccount [Constructs a Biconomy Nexus smart account instance controlled by the given owner] +# toNexusSmartAccount Creates a Biconomy's [Nexus SmartAccount](https://github.com/bcnmy/nexus) instance controlled by a `owner`. diff --git a/docs/pages/references/permissionless/reference/accounts/toSafeSmartAccount.mdx b/docs/pages/references/permissionless/reference/accounts/toSafeSmartAccount.mdx index 27daa713..6d871a13 100644 --- a/docs/pages/references/permissionless/reference/accounts/toSafeSmartAccount.mdx +++ b/docs/pages/references/permissionless/reference/accounts/toSafeSmartAccount.mdx @@ -1,4 +1,4 @@ -# toSafeSmartAccount [Constructs a Safe smart account instance controlled by the given owners] +# toSafeSmartAccount Creates a Safe smart account instance controlled by a `owners`. diff --git a/docs/pages/references/permissionless/reference/accounts/toSimpleSmartAccount.mdx b/docs/pages/references/permissionless/reference/accounts/toSimpleSmartAccount.mdx index df7107f2..71b45b7d 100644 --- a/docs/pages/references/permissionless/reference/accounts/toSimpleSmartAccount.mdx +++ b/docs/pages/references/permissionless/reference/accounts/toSimpleSmartAccount.mdx @@ -1,4 +1,4 @@ -# toSimpleSmartAccount [Constructs an ERC-4337 SimpleAccount instance controlled by the given owner] +# toSimpleSmartAccount Creates a SimpleAccount instance controlled by a `owner`. diff --git a/docs/pages/references/permissionless/reference/accounts/toTrustSmartAccount.mdx b/docs/pages/references/permissionless/reference/accounts/toTrustSmartAccount.mdx index 1b568e2c..4a455a0f 100644 --- a/docs/pages/references/permissionless/reference/accounts/toTrustSmartAccount.mdx +++ b/docs/pages/references/permissionless/reference/accounts/toTrustSmartAccount.mdx @@ -1,4 +1,4 @@ -# toTrustSmartAccount [Constructs a Trust Wallet smart account instance controlled by the given owner] +# toTrustSmartAccount Creates a Trust Wallet Smart Account instance controlled by a `owner`. Check out [this guide](/references/permissionless/how-to/accounts/use-trustwallet-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/reference/clients/pimlicoClient.mdx b/docs/pages/references/permissionless/reference/clients/pimlicoClient.mdx index 2a86b685..a4a876a4 100644 --- a/docs/pages/references/permissionless/reference/clients/pimlicoClient.mdx +++ b/docs/pages/references/permissionless/reference/clients/pimlicoClient.mdx @@ -1,4 +1,4 @@ -# Pimlico Client [Viem client extended with ERC-4337, ERC-7677, and Pimlico-specific bundler and paymaster actions] +# Pimlico Client A Pimlico Bundler Client is an interface to official ERC-4337 & ERC-7677 JSON-RPC API methods that include sending user operations, estimation user operation gas limits, getting user operation receipts, supporting paymaster rpc methods and more as well as the Pimlico-specific bundler methods [pimlico_getUserOperationStatus](/references/bundler/endpoints/pimlico_getUserOperationStatus) and [pimlico_getUserOperationGasPrice](/references/bundler/endpoints/pimlico_getUserOperationGasPrice). diff --git a/docs/pages/references/permissionless/reference/clients/smartAccountClient.mdx b/docs/pages/references/permissionless/reference/clients/smartAccountClient.mdx index 167004e1..9aef4809 100644 --- a/docs/pages/references/permissionless/reference/clients/smartAccountClient.mdx +++ b/docs/pages/references/permissionless/reference/clients/smartAccountClient.mdx @@ -1,4 +1,4 @@ -# Smart Account Client [Viem wallet client extended with smart account actions for sending user operations] +# Smart Account Client A Smart Account Client is an almost drop-in replacement for a standard viem [walletClient](https://viem.sh/docs/clients/wallet) but for managing smart accounts instead of EOA accounts. In addition, a Smart Account Client also contains, depending on the underlying smart account implementation used, a few extra actions that are specific to smart accounts. diff --git a/docs/pages/references/permissionless/reference/erc7579-actions/accountId.mdx b/docs/pages/references/permissionless/reference/erc7579-actions/accountId.mdx index 6adbd663..f37928f7 100644 --- a/docs/pages/references/permissionless/reference/erc7579-actions/accountId.mdx +++ b/docs/pages/references/permissionless/reference/erc7579-actions/accountId.mdx @@ -1,4 +1,4 @@ -# accountId [Reads the ERC-7579 account ID string from an installed smart account] +# accountId Gets the accountId of the smart account as defined in [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579). Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/reference/erc7579-actions/installModule.mdx b/docs/pages/references/permissionless/reference/erc7579-actions/installModule.mdx index 3391642d..18b64729 100644 --- a/docs/pages/references/permissionless/reference/erc7579-actions/installModule.mdx +++ b/docs/pages/references/permissionless/reference/erc7579-actions/installModule.mdx @@ -1,4 +1,4 @@ -# installModule [Installs an ERC-7579 module on a smart account and returns the user operation hash] +# installModule Installs a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module to the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/reference/erc7579-actions/isModuleInstalled.mdx b/docs/pages/references/permissionless/reference/erc7579-actions/isModuleInstalled.mdx index 8a41f463..5f8a2cc3 100644 --- a/docs/pages/references/permissionless/reference/erc7579-actions/isModuleInstalled.mdx +++ b/docs/pages/references/permissionless/reference/erc7579-actions/isModuleInstalled.mdx @@ -1,4 +1,4 @@ -# isModuleInstalled [Checks whether an ERC-7579 module is currently installed on a smart account, returning a boolean] +# isModuleInstalled Checks if an [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module is installed on the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/reference/erc7579-actions/supportsExecutionMode.mdx b/docs/pages/references/permissionless/reference/erc7579-actions/supportsExecutionMode.mdx index 87d58da3..df344f65 100644 --- a/docs/pages/references/permissionless/reference/erc7579-actions/supportsExecutionMode.mdx +++ b/docs/pages/references/permissionless/reference/erc7579-actions/supportsExecutionMode.mdx @@ -1,4 +1,4 @@ -# supportsExecutionMode [Queries an ERC-7579 smart account to determine if a given execution mode is supported, returning a boolean] +# supportsExecutionMode Checks if a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) execution mode is supported on the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/reference/erc7579-actions/supportsModule.mdx b/docs/pages/references/permissionless/reference/erc7579-actions/supportsModule.mdx index afa35dfd..13da8770 100644 --- a/docs/pages/references/permissionless/reference/erc7579-actions/supportsModule.mdx +++ b/docs/pages/references/permissionless/reference/erc7579-actions/supportsModule.mdx @@ -1,4 +1,4 @@ -# supportsModule [Checks whether an ERC-7579 smart account supports a given module type, returning a boolean] +# supportsModule Checks if a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module type is supported by the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/reference/erc7579-actions/uninstallModule.mdx b/docs/pages/references/permissionless/reference/erc7579-actions/uninstallModule.mdx index 0fa3b507..04c48d8b 100644 --- a/docs/pages/references/permissionless/reference/erc7579-actions/uninstallModule.mdx +++ b/docs/pages/references/permissionless/reference/erc7579-actions/uninstallModule.mdx @@ -1,4 +1,4 @@ -# uninstallModule [Removes an ERC-7579 module from a smart account and returns the resulting User Operation hash] +# uninstallModule Uninstalls a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module from the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/reference/index.mdx b/docs/pages/references/permissionless/reference/index.mdx index 5734bce0..a6383b19 100644 --- a/docs/pages/references/permissionless/reference/index.mdx +++ b/docs/pages/references/permissionless/reference/index.mdx @@ -1,4 +1,4 @@ -# permissionless.js [TypeScript ERC-4337 library built on viem for bundlers, paymasters, and smart accounts] +# permissionless.js permissionless.js is a TypeScript library built on viem for interacting with ERC-4337 bundlers, paymasters, and User Operations. diff --git a/docs/pages/references/permissionless/reference/pimlico-actions/getPaymasterData.mdx b/docs/pages/references/permissionless/reference/pimlico-actions/getPaymasterData.mdx index 24be2c6e..af8db734 100644 --- a/docs/pages/references/permissionless/reference/pimlico-actions/getPaymasterData.mdx +++ b/docs/pages/references/permissionless/reference/pimlico-actions/getPaymasterData.mdx @@ -2,7 +2,7 @@ description: Retrieves paymaster-related properties to be used for the User Operation. --- -# getPaymasterData [Fetches final paymaster signature and data from Pimlico to attach to a ready-to-submit User Operation] +# getPaymasterData Retrieves paymaster-related User Operation properties to be used for sending the User Operation from Pimlico. diff --git a/docs/pages/references/permissionless/reference/pimlico-actions/getPaymasterStubData.mdx b/docs/pages/references/permissionless/reference/pimlico-actions/getPaymasterStubData.mdx index 385aaccc..e9454a2b 100644 --- a/docs/pages/references/permissionless/reference/pimlico-actions/getPaymasterStubData.mdx +++ b/docs/pages/references/permissionless/reference/pimlico-actions/getPaymasterStubData.mdx @@ -2,7 +2,7 @@ description: Retrieves paymaster-related properties to be used for the User Operation. --- -# getPaymasterStubData [Fetches stub paymaster data from Pimlico for use during User Operation gas estimation] +# getPaymasterStubData Retrieves paymaster-related User Operation properties to be used for User Operation gas estimation from Pimlico. diff --git a/docs/pages/references/permissionless/reference/pimlico-actions/getUserOperationGasPrice.mdx b/docs/pages/references/permissionless/reference/pimlico-actions/getUserOperationGasPrice.mdx index ee275338..e550b678 100644 --- a/docs/pages/references/permissionless/reference/pimlico-actions/getUserOperationGasPrice.mdx +++ b/docs/pages/references/permissionless/reference/pimlico-actions/getUserOperationGasPrice.mdx @@ -1,4 +1,4 @@ -# getUserOperationGasPrice [Retrieves slow/medium/fast gas price tiers that Pimlico's bundler will accept for a User Operation] +# getUserOperationGasPrice Return the gas price that Pimlico's bundler will accept for the User Operation. diff --git a/docs/pages/references/permissionless/reference/pimlico-actions/getUserOperationStatus.mdx b/docs/pages/references/permissionless/reference/pimlico-actions/getUserOperationStatus.mdx index dc02683d..2e422173 100644 --- a/docs/pages/references/permissionless/reference/pimlico-actions/getUserOperationStatus.mdx +++ b/docs/pages/references/permissionless/reference/pimlico-actions/getUserOperationStatus.mdx @@ -1,4 +1,4 @@ -# getUserOperationStatus [Returns the inclusion status and optional transaction hash for a submitted User Operation] +# getUserOperationStatus Return a status of the User Operation as well as potentially the hash of the transaction being used to bundle the User Operation. diff --git a/docs/pages/references/permissionless/reference/pimlico-actions/validateSponsorshipPolicies.mdx b/docs/pages/references/permissionless/reference/pimlico-actions/validateSponsorshipPolicies.mdx index 8f6e3bc5..111d5d72 100644 --- a/docs/pages/references/permissionless/reference/pimlico-actions/validateSponsorshipPolicies.mdx +++ b/docs/pages/references/permissionless/reference/pimlico-actions/validateSponsorshipPolicies.mdx @@ -1,4 +1,4 @@ -# validateSponsorshipPolicies [Checks a User Operation against Pimlico sponsorship policies and returns the ones willing to sponsor it] +# validateSponsorshipPolicies Validates a User Operation against an array of [sponsorship policies](https://dashboard.pimlico.io/sponsorship-policies), and returns an array of sponsorship policies (alongside additional data for each policy) that are willing to sponsor the user operation. diff --git a/docs/pages/references/permissionless/reference/public-actions/getAccountNonce.mdx b/docs/pages/references/permissionless/reference/public-actions/getAccountNonce.mdx index 0a0f8fcc..ab5ac712 100644 --- a/docs/pages/references/permissionless/reference/public-actions/getAccountNonce.mdx +++ b/docs/pages/references/permissionless/reference/public-actions/getAccountNonce.mdx @@ -1,4 +1,4 @@ -# getAccountNonce [Reads the current ERC-4337 nonce for a smart account at a given key from the EntryPoint] +# getAccountNonce Returns the current nonce of the smart account for a specified key. diff --git a/docs/pages/references/permissionless/reference/public-actions/getSenderAddress.mdx b/docs/pages/references/permissionless/reference/public-actions/getSenderAddress.mdx index 1a6dbb7a..a0ef79b4 100644 --- a/docs/pages/references/permissionless/reference/public-actions/getSenderAddress.mdx +++ b/docs/pages/references/permissionless/reference/public-actions/getSenderAddress.mdx @@ -1,4 +1,4 @@ -# getSenderAddress [Derives the counterfactual smart account address from an initCode using the EntryPoint's factory simulation] +# getSenderAddress Return a sender address corresponding to the initCode of the User Operation where the smart account will be deployed. diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/estimateUserOperationGas.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/estimateUserOperationGas.mdx index 4c82ece3..5f26a32b 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/estimateUserOperationGas.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/estimateUserOperationGas.mdx @@ -1,4 +1,4 @@ -# estimateUserOperationGas [Estimates the gas limits required to execute a UserOperation via the bundler] +# estimateUserOperationGas `SmartAccountClient` extends viem's `BundlerClient` and so extends the `estimateUserOperationGas` method. diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/getChainId.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/getChainId.mdx index 9db0dbee..70592931 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/getChainId.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/getChainId.mdx @@ -1,4 +1,4 @@ -# getChainId [Fetches the chain ID of the connected bundler network and returns it as a number] +# getChainId `SmartAccountClient` extends viem's `BundlerClient` and so extends the `getChainId` method. diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/getSupportedEntryPoints.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/getSupportedEntryPoints.mdx index f2383c13..ea2af042 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/getSupportedEntryPoints.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/getSupportedEntryPoints.mdx @@ -1,4 +1,4 @@ -# getSupportedEntryPoints [Queries the bundler for its supported EntryPoint contract addresses] +# getSupportedEntryPoints `SmartAccountClient` extends viem's `BundlerClient` and so extends the `getSupportedEntryPoints` method. diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperation.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperation.mdx index a22a22d2..454472d5 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperation.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperation.mdx @@ -1,4 +1,4 @@ -# getUserOperation [Retrieves a UserOperation and its status by hash from the bundler's mempool] +# getUserOperation `SmartAccountClient` extends viem's `BundlerClient` and so extends the `getUserOperation` method. diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperationReceipt.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperationReceipt.mdx index 7b1d7643..831e680b 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperationReceipt.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperationReceipt.mdx @@ -1,4 +1,4 @@ -# getUserOperationReceipt [Fetches the on-chain receipt of a mined UserOperation by its hash] +# getUserOperationReceipt `SmartAccountClient` extends viem's `BundlerClient` and so extends the `getUserOperationReceipt` method. diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/prepareUserOperation.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/prepareUserOperation.mdx index b799418a..04d8e32a 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/prepareUserOperation.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/prepareUserOperation.mdx @@ -1,4 +1,4 @@ -# prepareUserOperation [Fills, signs, and encodes a UserOperation ready for submission to the bundler] +# prepareUserOperation `SmartAccountClient` extends viem's `BundlerClient` and so extends the `prepareUserOperation` method. diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/sendTransaction.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/sendTransaction.mdx index 438d29ba..e383a60d 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/sendTransaction.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/sendTransaction.mdx @@ -1,4 +1,4 @@ -# sendTransaction [Sends a transaction from a smart account via a UserOperation and returns the transaction hash] +# sendTransaction Send a transaction from a smart account using the same `sendTransaction` interface as viem. diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/sendUserOperation.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/sendUserOperation.mdx index 06d04a25..a59729cf 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/sendUserOperation.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/sendUserOperation.mdx @@ -1,4 +1,4 @@ -# sendUserOperation [Submits a signed UserOperation to the bundler and returns its hash] +# sendUserOperation `SmartAccountClient` extends viem's `BundlerClient` and so extends the `sendUserOperation` method. diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/waitForUserOperationReceipt.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/waitForUserOperationReceipt.mdx index bb3f2630..b3ddfa7f 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/waitForUserOperationReceipt.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/waitForUserOperationReceipt.mdx @@ -1,4 +1,4 @@ -# waitForUserOperationReceipt [Polls until a UserOperation is mined and returns its full receipt] +# waitForUserOperationReceipt `SmartAccountClient` extends viem's `BundlerClient` and so extends the `waitForUserOperationReceipt` method. diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/writeContract.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/writeContract.mdx index 711fc7cd..e254c354 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/writeContract.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/writeContract.mdx @@ -1,4 +1,4 @@ -# writeContract [Encodes and sends a state-mutating contract call from a smart account as a UserOperation] +# writeContract Uses a smart account to executes a write function on a contract. diff --git a/docs/pages/references/permissionless/reference/utils/getRequiredPrefund.mdx b/docs/pages/references/permissionless/reference/utils/getRequiredPrefund.mdx index 7f5d0d71..25b33876 100644 --- a/docs/pages/references/permissionless/reference/utils/getRequiredPrefund.mdx +++ b/docs/pages/references/permissionless/reference/utils/getRequiredPrefund.mdx @@ -1,4 +1,4 @@ -# getRequiredPrefund [Computes the minimum wei balance a smart account must hold to cover a UserOperation's gas costs] +# getRequiredPrefund Returns the minimum required funds in wei in the senders's smart account to execute the user operation. diff --git a/docs/pages/references/permissionless/tutorial/index.mdx b/docs/pages/references/permissionless/tutorial/index.mdx index c3abbcba..e98e9ecf 100644 --- a/docs/pages/references/permissionless/tutorial/index.mdx +++ b/docs/pages/references/permissionless/tutorial/index.mdx @@ -1,4 +1,4 @@ -# Tutorials [Step-by-step guides for building with permissionless.js and Pimlico] +# Tutorials Learning-oriented lessons that take you through a series of steps to complete a project. Most useful when you want to get started with Pimlico. diff --git a/docs/pages/references/permissionless/tutorial/tutorial-1.mdx b/docs/pages/references/permissionless/tutorial/tutorial-1.mdx index 203ea0eb..c413941f 100644 --- a/docs/pages/references/permissionless/tutorial/tutorial-1.mdx +++ b/docs/pages/references/permissionless/tutorial/tutorial-1.mdx @@ -1,4 +1,4 @@ -# Tutorial 1 — Send your first gasless transaction [Sponsor a user operation with a verifying paymaster and submit it via Pimlico's bundler] +# Tutorial 1 — Send your first gasless transaction In this tutorial, you will submit your first fully-gasless transaction from a smart account. diff --git a/docs/pages/references/permissionless/tutorial/tutorial-2.mdx b/docs/pages/references/permissionless/tutorial/tutorial-2.mdx index 91bec1eb..016a2d45 100644 --- a/docs/pages/references/permissionless/tutorial/tutorial-2.mdx +++ b/docs/pages/references/permissionless/tutorial/tutorial-2.mdx @@ -1,4 +1,4 @@ -# Tutorial 2 — Submit a user operation with an ERC-20 Paymaster [Deploy a smart account on Base Sepolia and pay gas fees in USDC using an ERC-20 paymaster] +# Tutorial 2 — Submit a user operation with an ERC-20 Paymaster :::info You can visit our [ERC-20 Paymaster overview page](/references/paymaster/erc20-paymaster) to learn more about the design and architecture of our ERC-20 Paymaster, and the deployed smart contract addresses. diff --git a/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterData.mdx b/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterData.mdx index ac645512..5e3c1cb5 100644 --- a/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterData.mdx +++ b/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterData.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# getPaymasterData [Fetches final paymaster signature and data for a UserOperation] +# getPaymasterData Return values to be used in paymaster-related fields of a signed user operation. This method calls `pm_getPaymasterData` and is part of the experimental [ERC-7677 specification](https://github.com/ethereum/ERCs/pull/360/files). diff --git a/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterStubData.mdx b/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterStubData.mdx index e36fa5a2..fb0944cb 100644 --- a/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterStubData.mdx +++ b/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterStubData.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# getPaymasterStubData [Fetches stub paymaster fields for gas estimation of a UserOperation] +# getPaymasterStubData Returns stub values to be used in paymaster-related fields of an unsigned user operation for gas estimation. This method calls `pm_getPaymasterStubData` and is part of the experimental [ERC-7677 specification](https://github.com/ethereum/ERCs/pull/360/files). diff --git a/docs/pages/references/permissionless/v0_1/faqs.mdx b/docs/pages/references/permissionless/v0_1/faqs.mdx index fe8bb7a3..36709584 100644 --- a/docs/pages/references/permissionless/v0_1/faqs.mdx +++ b/docs/pages/references/permissionless/v0_1/faqs.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../VersionWarning" -# permissionless.js FAQs [Common questions and answers for the v0.1 SDK] +# permissionless.js FAQs ## Getting `WaitForUserOperationReceiptTimeoutError`? diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/support.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/support.mdx index eef9104e..9b716006 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/support.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/support.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# Account Support [EntryPoint v0.6 and v0.7 compatibility matrix for all six built-in account types] +# Account Support 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. diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-biconomy-account.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-biconomy-account.mdx index 8953036c..9a60c7a7 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-biconomy-account.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-biconomy-account.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# How to create and use a Biconomy account with permissionless.js [EntryPoint v0.6 only; supports session keys and custom plugins via the Biconomy Smart Account] +# How to create and use a Biconomy account with permissionless.js [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. diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-erc7579-account.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-erc7579-account.mdx index bad5fec2..2dc534c6 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-erc7579-account.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-erc7579-account.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# How to use an ERC-7579 compatible smart account with permissionless.js [Install and call ERC-7579 modules on Safe or Kernel using the modular account interface] +# How to use an ERC-7579 compatible smart account with permissionless.js [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. diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-kernel-account.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-kernel-account.mdx index b2bce8e3..c799affe 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-kernel-account.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-kernel-account.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# How to create and use a Kernel account with permissionless.js [ERC-7579-compatible modular account with plugin support for session keys and recovery] +# How to create and use a Kernel account with permissionless.js :::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. diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-light-account.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-light-account.mdx index f9565a56..fca31b0b 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-light-account.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-light-account.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# How to create and use a LightAccount with permissionless.js [Alchemy's SimpleAccount fork with transferrable ownership and upgradability; EntryPoint v0.6 only] +# How to create and use a LightAccount with permissionless.js [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. diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-safe-account.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-safe-account.mdx index 8b594044..bf7162a8 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-safe-account.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-safe-account.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# How to create and use a Safe account with permissionless.js [Battle-tested multisig smart account via Safe's ERC-4337 module, compatible with EntryPoint v0.6 and v0.7] +# How to create and use a Safe account with permissionless.js [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. diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-simple-account.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-simple-account.mdx index 9a1650ca..9562cabf 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-simple-account.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-simple-account.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# How to create and use a SimpleAccount with permissionless.js [The Eth-Infinitism reference ERC-4337 account — single ECDSA signer with minimal overhead] +# How to create and use a SimpleAccount with permissionless.js [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. diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-trustwallet-account.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-trustwallet-account.mdx index 2be639c3..305cd1fd 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-trustwallet-account.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-trustwallet-account.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# How to create and use a Trust smart account with permissionless.js [Trust Wallet's ISO-certified Barz account with built-in on-chain security monitoring; EntryPoint v0.6 only] +# How to create and use a Trust smart account with permissionless.js :::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. diff --git a/docs/pages/references/permissionless/v0_1/how-to/dapp-gas-sponsorship.mdx b/docs/pages/references/permissionless/v0_1/how-to/dapp-gas-sponsorship.mdx index 1fcfd3e5..4b1fa86b 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/dapp-gas-sponsorship.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/dapp-gas-sponsorship.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../VersionWarning" -# Update your existing app to sponsor gas fees for smart account users [Wire an ERC-7677 proxy and EIP-5792 paymaster capability into an existing dapp without embedding a wallet] +# Update your existing app to sponsor gas fees for smart account users If you are looking to sponsor gas fees for your users without embedding a wallet in your app, you can use this guide to update your existing app to sponsor gas fees for smart accounts. diff --git a/docs/pages/references/permissionless/v0_1/how-to/error-handling.mdx b/docs/pages/references/permissionless/v0_1/how-to/error-handling.mdx index 3d4b8f65..a58fd789 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/error-handling.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/error-handling.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../VersionWarning" -# Error Handling [Strongly-typed catch blocks using permissionless.js's per-module ErrorType exports, mirroring viem's error-handling pattern] +# Error Handling Similarly to how [error handling in viem works](https://viem.sh/docs/error-handling), every module in permissionless.js exports an accompanying error type which you can use to strongly type your `catch` statements. diff --git a/docs/pages/references/permissionless/v0_1/how-to/local-testing.mdx b/docs/pages/references/permissionless/v0_1/how-to/local-testing.mdx index eeffcf1d..064f8436 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/local-testing.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/local-testing.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../VersionWarning" -# Local Testing [Docker Compose environment with Alto bundler, mock paymaster, Anvil, and all major account factories pre-deployed] +# Local Testing This guide introduces a ready-to-use mock test environment, that contains: diff --git a/docs/pages/references/permissionless/v0_1/how-to/migration-guide.mdx b/docs/pages/references/permissionless/v0_1/how-to/migration-guide.mdx index 39bb7b38..787296de 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/migration-guide.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/migration-guide.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../VersionWarning" -# Migration Guide [Breaking changes when upgrading to v0.1.x while staying on EntryPoint v0.6] +# Migration Guide ## 0.1.0 diff --git a/docs/pages/references/permissionless/v0_1/how-to/parallel-transactions.mdx b/docs/pages/references/permissionless/v0_1/how-to/parallel-transactions.mdx index 11e9806e..89a1feef 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/parallel-transactions.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/parallel-transactions.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../VersionWarning" -# How to send multiple user operations in parallel [Batch calls or submit concurrent ops without nonce collisions] +# How to send multiple user operations in parallel 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. diff --git a/docs/pages/references/permissionless/v0_1/how-to/paymasters/conditional-sponsoring.mdx b/docs/pages/references/permissionless/v0_1/how-to/paymasters/conditional-sponsoring.mdx index db8a9772..1d95413d 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/paymasters/conditional-sponsoring.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/paymasters/conditional-sponsoring.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# How to conditionally sponsor a user operation [Apply custom logic to decide which ops get gas sponsorship] +# How to conditionally sponsor a user operation The permissionless.js library allows you to conditionally sponsor a user operation. This can be useful in situations like: diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/dfns.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/dfns.mdx index 66ce870b..f8647983 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/dfns.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/dfns.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" import SmartAccounts from "./smartAccounts.mdx" -# How to use a DFNS signer with permissionless.js [MPC/TSS wallet-as-a-service with WebAuthn-based key access] +# How to use a DFNS signer with permissionless.js [Dfns](https://www.dfns.co/) is an MPC/TSS Wallet-as-a-Service API/SDK provider. Dfns aims to optimize the balance of security and UX by deploying key shares into a decentralized network on the backend while enabling wallet access via biometric open standards on the frontend like Webauthn. Reach out [here](https://www.dfns.co/) to set up a sandbox environment to get started. diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/dynamic.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/dynamic.mdx index a95b0c07..d8e291c4 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/dynamic.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/dynamic.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# How to use a Dynamic signer with permissionless.js [Embedded wallet with social and email login for smart account control] +# How to use a Dynamic signer with permissionless.js permissionless.js allows you to plug in custom signers to control the accounts that you create. Dynamic is an embedded wallet provider that allows you to easily onboard users to your dapp. It is possible to use Dynamic as a signer with permissionless.js, allowing you to use Dynamic to create and control smart accounts and sign transactions. diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/fireblocks.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/fireblocks.mdx index 141e9484..14a336a4 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/fireblocks.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/fireblocks.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" import SmartAccounts from "./smartAccounts.mdx" -# How to use a Fireblocks signer with permissionless.js [Institutional-grade MPC-CMP custody with policy engine governance] +# How to use a Fireblocks signer with permissionless.js [Fireblocks](https://www.fireblocks.com/) is a user-friendly platform designed for building blockchain-based products and managing digital asset operations. It uses a direct custody approach, combining high performance with zero counterparty risk and multi-layered security. The platform includes secure MPC-based digital asset wallets, a policy engine for governance and transaction rules, and comprehensive treasury management. Fireblocks' security framework features multiple layers, including MPC-CMP technology, secure enclaves, and a robust policy engine, ensuring protection against cyberattacks, internal threats, and human errors. It's widely used for various operations like treasury, trading, and managing NFTs, smart contracts, and user wallets. diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/index.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/index.mdx index 39852ffe..4de65cc7 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/index.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/index.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# Signers for permissionless.js [Overview of EOA and third-party wallet services that implement SmartAccountSigner] +# Signers for permissionless.js Smart accounts are able to define custom authentication and authorization schemes, but still require signatures to validate user operations coming from signers. permissionless.js defines the `SmartAccountSigner` interface, which is a generic interface that signers for smart accounts can implement. While by default these signers have full control over the smart account, it's possible to define custom roles and permissions for signers, and mix-and-match them to create complex multi-signature schemes, as well as rotate signers and revoke their access. diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/lit-protocol.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/lit-protocol.mdx index 35d59843..ffa97218 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/lit-protocol.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/lit-protocol.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# How to Integrate Pimlico with Lit Protocol OTP Authentication [Decentralized PKP signing via email, SMS, or WhatsApp OTP] +# How to Integrate Pimlico with Lit Protocol OTP Authentication This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/magic.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/magic.mdx index de79597d..a8025a45 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/magic.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/magic.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" import SmartAccounts from "./smartAccounts.mdx" -# How to use a Magic signer with permissionless.js [Embedded wallet with social login, gas abstracted via Pimlico paymaster] +# How to use a Magic signer with permissionless.js [Magic](https://magic.link/) is a popular embedded wallet provider that supports social logins. While social logins are great, your users still need to onramp in order to pay for gas, which introduces significant friction. diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/para.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/para.mdx index 069513da..ae1bbe4a 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/para.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/para.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" import SmartAccounts from "./smartAccounts.mdx" -# How to use a Para signer with permissionless.js [Embedded MPC wallet portable across apps via email or social login] +# How to use a Para signer with permissionless.js [Para](https://www.getpara.com/) offers a signing solution enabling the creation of secure, embedded MPC wallets accessible via email or social login. These wallets, compatible across different applications, offer portability, recoverability, and programmability, eliminating the need for users to establish separate signers or contract accounts for each application. diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/particle-network.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/particle-network.mdx index ea8291e5..22ee6565 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/particle-network.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/particle-network.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" import SmartAccounts from "./smartAccounts.mdx" -# How to use a Particle Network signer with permissionless.js [MPC-TSS wallet-as-a-service with Web2 social onboarding] +# How to use a Particle Network signer with permissionless.js [Particle Network](https://particle.network/) is an intent-centric, modular wallet-as-a-service (WaaS). By utilizing MPC-TSS for key management, Particle can streamline onboarding via familiar Web2 methods such as Google, emails, and phone numbers. diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/privy.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/privy.mdx index eed689b4..0e36fe3f 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/privy.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/privy.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# How to use a Privy signer with permissionless.js [Embedded wallet with social and email login for smart account control] +# How to use a Privy signer with permissionless.js permissionless.js allows you to plug in custom signers to control the accounts that you create. Privy is an embedded wallet provider that allows you to easily onboard users to your dapp. It is possible to use Privy as a signer with permissionless.js, allowing you to use Privy to create and control smart accounts and sign transactions. diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/turnkey.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/turnkey.mdx index eaba17fb..791f85e3 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/turnkey.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/turnkey.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" import SmartAccounts from "./smartAccounts.mdx" -# How to use a Turnkey signer with permissionless.js [API-first key infrastructure with a programmable security policy engine] +# How to use a Turnkey signer with permissionless.js [Turnkey](https://turnkey.com/) is a key infrastructure provider with a great developer API and a powerful security policy engine. diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/web3auth.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/web3auth.mdx index 6308cf52..37682ce5 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/web3auth.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/web3auth.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" import SmartAccounts from "./smartAccounts.mdx" -# How to use a Web3Auth signer with permissionless.js [Plug social-login wallets into smart accounts for gas sponsorship and batched transactions] +# How to use a Web3Auth signer with permissionless.js [Web3Auth](https://web3auth.io/) is a popular embedded wallet provider that supports social logins. While social logins are great, your users still need to onramp in order to pay for gas, which introduces significant friction. diff --git a/docs/pages/references/permissionless/v0_1/index.mdx b/docs/pages/references/permissionless/v0_1/index.mdx index 61de052a..0150c6b9 100644 --- a/docs/pages/references/permissionless/v0_1/index.mdx +++ b/docs/pages/references/permissionless/v0_1/index.mdx @@ -26,7 +26,7 @@ import { HomePage } from 'vocs/components'
-# permissionless.js v0.1 [Legacy v0.1 of permissionless.js — the previous major version superseded by permissionless.js 0.2.x at /references/permissionless] +# Overview ```ts const pimlicoApiKey = "YOUR_API_KEY_HERE" @@ -58,7 +58,7 @@ opReceipt!.actualGasUsed ``` -## Features +# Features - **High-level smart account support**: We support a high-level API for deploying and managing smart accounts, including some of the most popular implementations ([Safe](https://safe.global), [Kernel](https://zerodev.app), [Biconomy](https://biconomy.io), [TrustWallet](https://trustwallet.com/swift), etc.) - **Bundler support**: We support all bundler actions following [ERC-4337](https://eips.ethereum.org/EIPS/eip-4337#rpc-methods-eth-namespace). @@ -68,7 +68,7 @@ opReceipt!.actualGasUsed - **Built on & for viem**: permissionless.js is designed to be a thin wrapper around viem, maintaining the same style and overall feel viem provides. - and a lot more... -## Source Code +# Source Code The source code for permissionless.js is available on [GitHub](https://github.com/pimlicolabs/permissionless.js) diff --git a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToKernelSmartAccount.mdx b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToKernelSmartAccount.mdx index e93cff12..af784049 100644 --- a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToKernelSmartAccount.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToKernelSmartAccount.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# signerToKernelSmartAccount [Creates a Kernel smart account controlled by a signer and returns a viem account instance] +# signerToKernelSmartAccount Creates a KernelAccount instance controlled by a `SmartAccountSigner`. Check out [this guide](/references/permissionless/how-to/accounts/use-kernel-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToLightSmartAccount.mdx b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToLightSmartAccount.mdx index 46f01d25..3a790351 100644 --- a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToLightSmartAccount.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToLightSmartAccount.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# signerToLightSmartAccount [Creates a Light Account smart account controlled by a signer and returns a viem account instance] +# signerToLightSmartAccount Creates a LightAccount instance controlled by a `SmartAccountSigner`. diff --git a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSafeSmartAccount.mdx b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSafeSmartAccount.mdx index 688d6ef7..967e4ec8 100644 --- a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSafeSmartAccount.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSafeSmartAccount.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# signerToSafeSmartAccount [Creates a Safe smart account controlled by a signer and returns a viem account instance] +# signerToSafeSmartAccount Creates a Safe smart account instance controlled by a `SmartAccountSigner`. diff --git a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSimpleSmartAccount.mdx b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSimpleSmartAccount.mdx index 45314011..d04c5496 100644 --- a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSimpleSmartAccount.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSimpleSmartAccount.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# signerToSimpleSmartAccount [Creates a SimpleAccount smart account controlled by a signer and returns a viem account instance] +# signerToSimpleSmartAccount Creates a SimpleAccount instance controlled by a `SmartAccountSigner`. diff --git a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToTrustSmartAccount.mdx b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToTrustSmartAccount.mdx index 93eb1c57..a94e6036 100644 --- a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToTrustSmartAccount.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToTrustSmartAccount.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# signerToTrustSmartAccount [Creates a Trust smart account controlled by a signer and returns a viem account instance] +# signerToTrustSmartAccount Creates a Trust Wallet Smart Account instance controlled by a `SmartAccountSigner`. Check out [this guide](/references/permissionless/how-to/accounts/use-trustwallet-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/estimateUserOperationGas.mdx b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/estimateUserOperationGas.mdx index 9863b5d3..7be6eac6 100644 --- a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/estimateUserOperationGas.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/estimateUserOperationGas.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# estimateUserOperationGas [Estimates gas limits for a UserOperation and returns preVerificationGas, verificationGasLimit, and callGasLimit] +# estimateUserOperationGas Estimate the gas limits for a User Operation. diff --git a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationByHash.mdx b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationByHash.mdx index 62b4a0e5..90256622 100644 --- a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationByHash.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationByHash.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# getUserOperationByHash [Fetches a UserOperation by its hash and returns the operation data with block and transaction context] +# getUserOperationByHash Return a User Operation based on a User Operation hash. diff --git a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationReceipt.mdx b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationReceipt.mdx index 363f26d8..23f0a123 100644 --- a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationReceipt.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationReceipt.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# getUserOperationReceipt [Fetches the receipt of a mined UserOperation by hash and returns execution status and gas usage] +# getUserOperationReceipt Return a User Operation receipt based on a User Operation hash. diff --git a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/sendUserOperation.mdx b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/sendUserOperation.mdx index 41fc11d4..b3cfffe5 100644 --- a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/sendUserOperation.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/sendUserOperation.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# sendUserOperation [Submits a signed UserOperation to the bundler mempool and returns the userOpHash] +# sendUserOperation Submits a user operation to the bundler. diff --git a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/supportedEntryPoints.mdx b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/supportedEntryPoints.mdx index 79169233..85ad301d 100644 --- a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/supportedEntryPoints.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/supportedEntryPoints.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# supportedEntryPoints [Queries the bundler for its supported EntryPoint addresses and returns an array of address strings] +# supportedEntryPoints Return the Entry Points supported by the bundler. diff --git a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/waitForUserOperationReceipt.mdx b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/waitForUserOperationReceipt.mdx index 6f882dd2..cccd22d6 100644 --- a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/waitForUserOperationReceipt.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/waitForUserOperationReceipt.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# waitForUserOperationReceipt [Polls until a UserOperation is mined and returns its receipt with execution status and gas usage] +# waitForUserOperationReceipt Waits for the User Operation to be included on a block (one confirmation), and then returns the User Operation Receipt. diff --git a/docs/pages/references/permissionless/v0_1/reference/clients/bundlerClient.mdx b/docs/pages/references/permissionless/v0_1/reference/clients/bundlerClient.mdx index 705655ab..95d07165 100644 --- a/docs/pages/references/permissionless/v0_1/reference/clients/bundlerClient.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/clients/bundlerClient.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# Bundler Client [Creates a viem client extended with ERC-4337 bundler actions for sending and tracking UserOperations] +# Bundler Client A Bundler Client is an interface to official ERC-4337 JSON-RPC API methods that include sending user operations, estimation user operation gas limits, getting user operation receipts and more. diff --git a/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoBundlerClient.mdx b/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoBundlerClient.mdx index 3aa82470..41f1c01c 100644 --- a/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoBundlerClient.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoBundlerClient.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# Pimlico Bundler Client [Viem client for Pimlico-specific bundler RPC methods including gas price and UserOperation status] +# Pimlico Bundler Client A Pimlico Bundler Client is an interface to official ERC-4337 JSON-RPC API methods that include sending user operations, estimation user operation gas limits, getting user operation receipts and more as well as the Pimlico-specific bundler methods [pimlico_getUserOperationStatus](/references/bundler/endpoints/pimlico_getUserOperationStatus) and [pimlico_getUserOperationGasPrice](/references/bundler/endpoints/pimlico_getUserOperationGasPrice). diff --git a/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoPaymasterClient.mdx b/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoPaymasterClient.mdx index a22469f2..bf2a064b 100644 --- a/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoPaymasterClient.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoPaymasterClient.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# Pimlico Paymaster Client [Viem client for Pimlico paymaster RPC methods to sponsor or ERC-20-pay UserOperations] +# Pimlico Paymaster Client :::warning The Pimlico paymaster actions in permissionless.js only work with the v2 Pimlico API. The v1 API for paymasters is deprecated and will be removed in the future. diff --git a/docs/pages/references/permissionless/v0_1/reference/clients/smartAccountClient.mdx b/docs/pages/references/permissionless/v0_1/reference/clients/smartAccountClient.mdx index 3a59e9b2..d0ae5a5f 100644 --- a/docs/pages/references/permissionless/v0_1/reference/clients/smartAccountClient.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/clients/smartAccountClient.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# Smart Account Client [Viem client that wraps a smart account to build, sign, and submit UserOperations via a bundler] +# Smart Account Client A Smart Account Client is an almost drop-in replacement for a standard viem [walletClient](https://viem.sh/docs/clients/wallet) but for managing smart accounts instead of EOA accounts. In addition, a Smart Account Client also contains, depending on the underlying smart account implementation used, a few extra actions that are specific to smart accounts. diff --git a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/accountId.mdx b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/accountId.mdx index 2584dc8a..a629d693 100644 --- a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/accountId.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/accountId.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# accountId [Reads and returns the ERC-7579 account ID string from a smart account] +# accountId Gets the accountId of the smart account as defined in [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579). Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/installModule.mdx b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/installModule.mdx index 0058e646..741fd0c5 100644 --- a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/installModule.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/installModule.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# installModule [Installs an ERC-7579 module on a smart account and returns the UserOperation hash] +# installModule Installs a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module to the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/isModuleInstalled.mdx b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/isModuleInstalled.mdx index 07d48cf9..e47512bb 100644 --- a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/isModuleInstalled.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/isModuleInstalled.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# isModuleInstalled [Checks whether a given ERC-7579 module is installed on a smart account and returns a boolean] +# isModuleInstalled Checks if an [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module is installed on the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsExecutionMode.mdx b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsExecutionMode.mdx index 9ad19809..206e1ab9 100644 --- a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsExecutionMode.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsExecutionMode.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# supportsExecutionMode [Queries whether a smart account supports a specific ERC-7579 execution mode and returns a boolean] +# supportsExecutionMode Checks if a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) execution mode is supported on the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsModule.mdx b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsModule.mdx index 49800d4d..96f44f98 100644 --- a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsModule.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsModule.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# supportsModule [Queries whether a smart account supports a given ERC-7579 module type and returns a boolean] +# supportsModule Checks if a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module type is supported by the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/uninstallModule.mdx b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/uninstallModule.mdx index 538ed0dd..15cbd1f8 100644 --- a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/uninstallModule.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/uninstallModule.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# uninstallModule [Uninstalls an ERC-7579 module from a smart account and returns the UserOperation hash] +# uninstallModule Uninstalls a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module from the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. diff --git a/docs/pages/references/permissionless/v0_1/reference/index.mdx b/docs/pages/references/permissionless/v0_1/reference/index.mdx index 7367e345..1c1b28c5 100644 --- a/docs/pages/references/permissionless/v0_1/reference/index.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/index.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../VersionWarning" -# permissionless.js [Legacy v0.1 reference — action and client APIs for ERC-4337 smart accounts, bundlers, and paymasters] +# permissionless.js permissionless.js is a TypeScript library built on viem for interacting with ERC-4337 bundlers, paymasters, and User Operations. diff --git a/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationGasPrice.mdx b/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationGasPrice.mdx index cf393aaa..345467e1 100644 --- a/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationGasPrice.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationGasPrice.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# getUserOperationGasPrice [Fetches Pimlico's current recommended slow, standard, and fast gas prices for UserOperations] +# getUserOperationGasPrice Return a User Operation based on a User Operation hash. diff --git a/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationStatus.mdx b/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationStatus.mdx index 8f022c5f..641fad5c 100644 --- a/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationStatus.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationStatus.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# getUserOperationStatus [Fetches the current status and transaction hash of a submitted UserOperation by its hash] +# getUserOperationStatus Return a status of the User Operation as well as potentially the hash of the transaction being used to bundle the User Operation. diff --git a/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/sponsorUserOperation.mdx b/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/sponsorUserOperation.mdx index 75801304..32dffde7 100644 --- a/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/sponsorUserOperation.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/sponsorUserOperation.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# sponsorUserOperation [Estimates gas and fetches paymaster sponsorship data for a user operation, returning paymasterAndData plus updated gas limits] +# sponsorUserOperation :::warning The Pimlico paymaster actions in permissionless.js only work with the v2 Pimlico API. The v1 API for paymasters is deprecated and will be removed in the future. diff --git a/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/validateSponsorshipPolicies.mdx b/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/validateSponsorshipPolicies.mdx index d374a40c..76be0989 100644 --- a/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/validateSponsorshipPolicies.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/validateSponsorshipPolicies.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# validateSponsorshipPolicies [Checks a user operation against your sponsorship policies and returns the subset willing to sponsor it] +# validateSponsorshipPolicies Validates a User Operation against an array of [sponsorship policies](https://dashboard.pimlico.io/sponsorship-policies), and returns an array of sponsorship policies (alongside additional data for each policy) that are willing to sponsor the user operation. diff --git a/docs/pages/references/permissionless/v0_1/reference/public-actions/getAccountNonce.mdx b/docs/pages/references/permissionless/v0_1/reference/public-actions/getAccountNonce.mdx index dec9f57c..7027abd2 100644 --- a/docs/pages/references/permissionless/v0_1/reference/public-actions/getAccountNonce.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/public-actions/getAccountNonce.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# getAccountNonce [Fetches the current nonce of a smart account for a given key, returning a bigint] +# getAccountNonce Returns the current nonce of the smart account for a specified key. diff --git a/docs/pages/references/permissionless/v0_1/reference/public-actions/getSenderAddress.mdx b/docs/pages/references/permissionless/v0_1/reference/public-actions/getSenderAddress.mdx index 8e327026..e1916769 100644 --- a/docs/pages/references/permissionless/v0_1/reference/public-actions/getSenderAddress.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/public-actions/getSenderAddress.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# getSenderAddress [Derives the counterfactual smart account address from an initCode, returning the address before deployment] +# getSenderAddress Return a sender address corresponding to the initCode of the User Operation where the smart account will be deployed. diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/deployContract.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/deployContract.mdx index 63dad939..7b4d6ad1 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/deployContract.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/deployContract.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# deployContract [Deploys a contract from a smart account using bytecode and constructor args, returning the transaction hash] +# deployContract deploys a contract to the network from a smart account, given bytecode & constructor arguments. diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/prepareUserOperationRequest.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/prepareUserOperationRequest.mdx index 4b6e7666..8eec65b1 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/prepareUserOperationRequest.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/prepareUserOperationRequest.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# prepareUserOperationRequest [Populates sender, nonce, initCode, gas values, and optional paymaster data to produce a ready-to-sign user operation] +# prepareUserOperationRequest Prepares a user operation request for signing by populating a `sender`, `nonce`, `initCode`, gas price values, gas limit values, and optionally requesting sponsorship from a paymaster. diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransaction.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransaction.mdx index 3c42547f..6c7cf158 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransaction.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransaction.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# sendTransaction [Sends a transaction from a smart account via the viem interface, returning the transaction hash] +# sendTransaction Send a transaction from a smart account using the same `sendTransaction` interface as viem. diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransactions.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransactions.mdx index e4569ec9..e8fe2ebe 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransactions.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransactions.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# sendTransactions [Batches multiple transactions into a single user operation from a smart account, returning the transaction hash] +# sendTransactions Send a batch of transaction from a smart account. diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendUserOperation.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendUserOperation.mdx index 5ae8574b..dea7da48 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendUserOperation.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendUserOperation.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# sendUserOperation [Submits a signed user operation to the bundler and returns the user operation hash] +# sendUserOperation Submits a user operation to the smart account client's underlying bundler. diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signMessage.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signMessage.mdx index 9d6d5240..319dc8a3 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signMessage.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signMessage.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# signMessage [Signs an arbitrary message from a smart account using EIP-191 encoding, returning the hex signature] +# signMessage Uses a smart account to sign and calculate an Ethereum-specific signature in [EIP-191 format](https://eips.ethereum.org/EIPS/eip-191): `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`. diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signTypedData.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signTypedData.mdx index 69e00524..bb9662e3 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signTypedData.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signTypedData.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# signTypedData [Signs EIP-712 typed structured data from a smart account, returning the hex signature] +# signTypedData Signs typed data from a smart account and calculates an Ethereum-specific signature in [https://eips.ethereum.org/EIPS/eip-712](https://eips.ethereum.org/EIPS/eip-712): `sign(keccak256("\x19\x01" ‖ domainSeparator ‖ hashStruct(message)))` diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/writeContract.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/writeContract.mdx index 6eeb6a96..538b2251 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/writeContract.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/writeContract.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# writeContract [Executes a state-mutating contract function from a smart account, returning the transaction hash] +# writeContract Uses a smart account to executes a write function on a contract. diff --git a/docs/pages/references/permissionless/v0_1/reference/utils/getRequiredPrefund.mdx b/docs/pages/references/permissionless/v0_1/reference/utils/getRequiredPrefund.mdx index d5fbde1a..012e7585 100644 --- a/docs/pages/references/permissionless/v0_1/reference/utils/getRequiredPrefund.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/utils/getRequiredPrefund.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# getRequiredPrefund [Computes the minimum wei a smart account must hold to cover a user operation's gas costs] +# getRequiredPrefund Returns the minimum required funds in wei in the senders's smart account to execute the user operation. diff --git a/docs/pages/references/permissionless/v0_1/reference/utils/getUserOperationHash.mdx b/docs/pages/references/permissionless/v0_1/reference/utils/getUserOperationHash.mdx index c8602da9..24ddb42a 100644 --- a/docs/pages/references/permissionless/v0_1/reference/utils/getUserOperationHash.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/utils/getUserOperationHash.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# getUserOperationHash [Computes the ERC-4337 user operation hash as calculated by the EntryPoint contract] +# getUserOperationHash Generates the hash of the User Operation [as calculated by the EntryPoint](https://github.com/eth-infinitism/account-abstraction/blob/465f22310fcc639964e6ab5f8aa648770c6d8981/contracts/core/EntryPoint.sol#L296-L302). diff --git a/docs/pages/references/permissionless/v0_1/reference/utils/providerToSmartAccountSigner.mdx b/docs/pages/references/permissionless/v0_1/reference/utils/providerToSmartAccountSigner.mdx index 7511b438..d0526b7c 100644 --- a/docs/pages/references/permissionless/v0_1/reference/utils/providerToSmartAccountSigner.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/utils/providerToSmartAccountSigner.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# providerToSmartAccountSigner [Wraps an EIP-1193 provider into a SmartAccountSigner compatible with permissionless accounts] +# providerToSmartAccountSigner Takes an EIP-1193 provider and returns a signer that can be used as a signer with permissionless accounts. diff --git a/docs/pages/references/permissionless/v0_1/reference/utils/signUserOperationHashWithECDSA.mdx b/docs/pages/references/permissionless/v0_1/reference/utils/signUserOperationHashWithECDSA.mdx index c520383f..b2365d4f 100644 --- a/docs/pages/references/permissionless/v0_1/reference/utils/signUserOperationHashWithECDSA.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/utils/signUserOperationHashWithECDSA.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# signUserOperationHashWithECDSA [Signs a user operation hash with ECDSA using a wallet client or local account] +# signUserOperationHashWithECDSA Signs the hash of the User Operation with the standard ECDSA signature scheme (used by all EOAs and most smart wallets). diff --git a/docs/pages/references/permissionless/v0_1/reference/utils/walletClientToSmartAccountSigner.mdx b/docs/pages/references/permissionless/v0_1/reference/utils/walletClientToSmartAccountSigner.mdx index 2c1745e6..135e41c6 100644 --- a/docs/pages/references/permissionless/v0_1/reference/utils/walletClientToSmartAccountSigner.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/utils/walletClientToSmartAccountSigner.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../../VersionWarning" -# walletClientToSmartAccountSigner [Converts a viem WalletClient (including wagmi) into a SmartAccountSigner for permissionless accounts] +# walletClientToSmartAccountSigner Takes a walletClient and returns a custom signer that can be used as a signer with permissionless accounts. This is especially useful when using `useWallet` from wagmi, allowing for an easy way to plug in custom frontend wagmi signers to permissionless accounts. diff --git a/docs/pages/references/permissionless/v0_1/tutorial/index.mdx b/docs/pages/references/permissionless/v0_1/tutorial/index.mdx index 07a0a804..78e9336e 100644 --- a/docs/pages/references/permissionless/v0_1/tutorial/index.mdx +++ b/docs/pages/references/permissionless/v0_1/tutorial/index.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../VersionWarning" -# Tutorials [Step-by-step guides for sending gasless transactions and sponsored user operations with permissionless.js v0.1] +# Tutorials Learning-oriented lessons that take you through a series of steps to complete a project. Most useful when you want to get started with Pimlico. diff --git a/docs/pages/references/permissionless/v0_1/tutorial/tutorial-1.mdx b/docs/pages/references/permissionless/v0_1/tutorial/tutorial-1.mdx index 0a4e583c..0bda330c 100644 --- a/docs/pages/references/permissionless/v0_1/tutorial/tutorial-1.mdx +++ b/docs/pages/references/permissionless/v0_1/tutorial/tutorial-1.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../VersionWarning" -# Tutorial 1 — Send your first gasless transaction [Build and submit a sponsored user operation end-to-end using permissionless.js high-level APIs] +# Tutorial 1 — Send your first gasless transaction In this tutorial, you will submit your first fully-gasless transaction from a smart account. diff --git a/docs/pages/references/permissionless/v0_1/tutorial/tutorial-2.mdx b/docs/pages/references/permissionless/v0_1/tutorial/tutorial-2.mdx index 4cffa0c1..b03a2805 100644 --- a/docs/pages/references/permissionless/v0_1/tutorial/tutorial-2.mdx +++ b/docs/pages/references/permissionless/v0_1/tutorial/tutorial-2.mdx @@ -2,7 +2,7 @@ import VersionWarning from "../../VersionWarning" -# Tutorial 2 — Submit a user operation with a Verifying Paymaster [Manually construct, sponsor, and submit a user operation on-chain using Pimlico's bundler and paymaster] +# Tutorial 2 — Submit a user operation with a Verifying Paymaster :::note This is a low-level tutorial that walks you through the steps of constructing a user operation from scratch. If you would like to leverage permissionless.js's high-level functions, take a look at [tutorial 1](/references/permissionless/tutorial/tutorial-1). diff --git a/docs/pages/references/permissionless/wagmi/how-to/check-paymaster-support.mdx b/docs/pages/references/permissionless/wagmi/how-to/check-paymaster-support.mdx index 766e7592..34fd12ec 100644 --- a/docs/pages/references/permissionless/wagmi/how-to/check-paymaster-support.mdx +++ b/docs/pages/references/permissionless/wagmi/how-to/check-paymaster-support.mdx @@ -1,4 +1,4 @@ -# Check if an external account supports paymasters [Detect ERC-7677 paymaster support on a connected wallet to conditionally enable gas sponsorship] +# Check if an external account supports paymasters If you have added support to sponsor transactions for external accounts using `@permissionless/wagmi`, you can use this guide to check if the external account supports ERC-7677 paymasters and display custom UI for your users. diff --git a/docs/pages/references/permissionless/wagmi/index.mdx b/docs/pages/references/permissionless/wagmi/index.mdx index 01fd3935..c449d92f 100644 --- a/docs/pages/references/permissionless/wagmi/index.mdx +++ b/docs/pages/references/permissionless/wagmi/index.mdx @@ -22,7 +22,7 @@ import { HomePage } from 'vocs/components'
-# @permissionless/wagmi [wagmi hooks and provider for adding EIP-5792 gas sponsorship and transaction batching with minimal integration] +# Overview ```tsx [main.tsx] import { PermissionlessProvider } from "@permissionless/wagmi" // [!code ++] @@ -75,14 +75,14 @@ function App() { And that's it! -## Features +# Features - **ERC-7677 Paymaster service**: Makes it easier to interact with an external smart account that offers support. - **Sending multiple transactions**: Makes it easier to send multiple transactions from an external smart account. - **Built on & for wagmi**: `@permissionless/wagmi` is designed to be a thin wrapper around wagmi, maintaining the same style and overall feel wagmi provides. - and a lot more coming soon... -## Source Code +# Source Code The source code for `@permissionless/wagmi` is available on [GitHub](https://github.com/pimlicolabs/permissionless.js) diff --git a/docs/pages/references/permissionless/wagmi/reference/configuration/PermissionlessProvider.mdx b/docs/pages/references/permissionless/wagmi/reference/configuration/PermissionlessProvider.mdx index e15d39c2..1b238958 100644 --- a/docs/pages/references/permissionless/wagmi/reference/configuration/PermissionlessProvider.mdx +++ b/docs/pages/references/permissionless/wagmi/reference/configuration/PermissionlessProvider.mdx @@ -1,4 +1,4 @@ -# PermissionlessProvider [React context provider that injects paymaster capabilities into wagmi hooks across your component tree] +# PermissionlessProvider React Context Provider for Permissionless. diff --git a/docs/pages/references/permissionless/wagmi/reference/hooks/useSendTransaction.mdx b/docs/pages/references/permissionless/wagmi/reference/hooks/useSendTransaction.mdx index e8e246f7..5648a8c6 100644 --- a/docs/pages/references/permissionless/wagmi/reference/hooks/useSendTransaction.mdx +++ b/docs/pages/references/permissionless/wagmi/reference/hooks/useSendTransaction.mdx @@ -3,7 +3,7 @@ title: useSendTransaction description: Hook for creating, signing, and sending transactions to networks. --- -# useSendTransaction [Drop-in wagmi replacement that automatically applies gas sponsorship and batching via EIP-5792] +# useSendTransaction Hook for creating, signing, and sending transactions to networks. diff --git a/docs/pages/references/permissionless/wagmi/reference/hooks/useWaitForTransactionReceipt.mdx b/docs/pages/references/permissionless/wagmi/reference/hooks/useWaitForTransactionReceipt.mdx index 5eae6233..65bd6cb3 100644 --- a/docs/pages/references/permissionless/wagmi/reference/hooks/useWaitForTransactionReceipt.mdx +++ b/docs/pages/references/permissionless/wagmi/reference/hooks/useWaitForTransactionReceipt.mdx @@ -3,7 +3,7 @@ title: useWaitForTransactionReceipt description: Hook that waits for the transaction to be included on a block, and then returns the transaction receipt. If the transaction reverts, then the action will throw an error. Replacement detection (e.g. sped up transactions) is also supported. --- -# useWaitForTransactionReceipt [Drop-in wagmi replacement that resolves EIP-5792 transaction bundle IDs to on-chain receipts] +# useWaitForTransactionReceipt Hook that waits for the transaction to be included on a block, and then returns the transaction receipt. If the transaction reverts, then the action will throw an error. Replacement detection (e.g. sped up transactions) is also supported. diff --git a/docs/pages/references/permissionless/wagmi/tutorial/index.mdx b/docs/pages/references/permissionless/wagmi/tutorial/index.mdx index b76bf060..4dfd1cbe 100644 --- a/docs/pages/references/permissionless/wagmi/tutorial/index.mdx +++ b/docs/pages/references/permissionless/wagmi/tutorial/index.mdx @@ -1,4 +1,4 @@ -# Tutorials [Step-by-step guides for adding gas sponsorship and transaction batching to wagmi apps] +# Tutorials Learning-oriented lessons that take you through a series of steps to complete a project. Most useful when you want to get started with Pimlico. diff --git a/docs/pages/references/permissionless/wagmi/tutorial/tutorial-1.mdx b/docs/pages/references/permissionless/wagmi/tutorial/tutorial-1.mdx index ea23564f..be440719 100644 --- a/docs/pages/references/permissionless/wagmi/tutorial/tutorial-1.mdx +++ b/docs/pages/references/permissionless/wagmi/tutorial/tutorial-1.mdx @@ -1,4 +1,4 @@ -# Tutorial 1 — Send your first gasless transaction [Sponsor a transaction for an external smart account using PermissionlessProvider and Pimlico's ERC-7677 paymaster] +# Tutorial 1 — Send your first gasless transaction In this tutorial, you will submit your first fully-gasless transaction from an external smart account. diff --git a/docs/pages/references/platform/api/pagination.mdx b/docs/pages/references/platform/api/pagination.mdx index b8dc61f1..1f7616f7 100644 --- a/docs/pages/references/platform/api/pagination.mdx +++ b/docs/pages/references/platform/api/pagination.mdx @@ -1,4 +1,4 @@ -# Pagination [Cursor-based pagination for Pimlico list API methods using limit, starting_after, and ending_before] +# Pagination The Pimlico platform API supports certain “list” API methods. For example, you can list sponsorship policies. These list API methods share a common structure and accept, at a minimum, the following three parameters: `limit`, `starting_after`, and `ending_before`. diff --git a/docs/pages/references/platform/api/sponsorship-policies/create.mdx b/docs/pages/references/platform/api/sponsorship-policies/create.mdx index c0eec3e1..72c00acd 100644 --- a/docs/pages/references/platform/api/sponsorship-policies/create.mdx +++ b/docs/pages/references/platform/api/sponsorship-policies/create.mdx @@ -1,4 +1,4 @@ -# Create a sponsorship policy [POSTs a new sponsorship policy and returns the created policy object] +# Create a sponsorship policy Creates a sponsorship policy. diff --git a/docs/pages/references/platform/api/sponsorship-policies/index.mdx b/docs/pages/references/platform/api/sponsorship-policies/index.mdx index ddba7c13..659859b5 100644 --- a/docs/pages/references/platform/api/sponsorship-policies/index.mdx +++ b/docs/pages/references/platform/api/sponsorship-policies/index.mdx @@ -1,4 +1,4 @@ -# Sponsorship Policies API [REST endpoints for creating, retrieving, updating, and listing gas sponsorship policies] +# Sponsorship Policies API Sponsorship policies represent the rules that govern which user operations you are willing to sponsor. Use it to customize the conditions under which you are willing to subsidize the gas fees for your users. diff --git a/docs/pages/references/platform/api/sponsorship-policies/list.mdx b/docs/pages/references/platform/api/sponsorship-policies/list.mdx index 8adf3af8..9d96d063 100644 --- a/docs/pages/references/platform/api/sponsorship-policies/list.mdx +++ b/docs/pages/references/platform/api/sponsorship-policies/list.mdx @@ -1,4 +1,4 @@ -# List all sponsorship policies [GETs a reverse-chronological paginated list of all sponsorship policies on your account] +# List all sponsorship policies Returns a list of your sponsorship policies. The sponsorship policies are returned sorted by creation date, with the most recent sponsorship policies appearing first. diff --git a/docs/pages/references/platform/api/sponsorship-policies/object.mdx b/docs/pages/references/platform/api/sponsorship-policies/object.mdx index 5c4dc8e5..0edea4a2 100644 --- a/docs/pages/references/platform/api/sponsorship-policies/object.mdx +++ b/docs/pages/references/platform/api/sponsorship-policies/object.mdx @@ -1,4 +1,4 @@ -# The Sponsorship Policy object [Schema and field definitions for the sponsorship policy resource, including limits and chain allowlists] +# The Sponsorship Policy object ## Attributes diff --git a/docs/pages/references/platform/api/sponsorship-policies/retrieve.mdx b/docs/pages/references/platform/api/sponsorship-policies/retrieve.mdx index 01bd568f..2fc8327d 100644 --- a/docs/pages/references/platform/api/sponsorship-policies/retrieve.mdx +++ b/docs/pages/references/platform/api/sponsorship-policies/retrieve.mdx @@ -1,4 +1,4 @@ -# Retrieve a sponsorship policy [GETs a single sponsorship policy by ID and returns the policy object] +# Retrieve a sponsorship policy Retrieves a sponsorship policy by its ID. diff --git a/docs/pages/references/platform/api/sponsorship-policies/update.mdx b/docs/pages/references/platform/api/sponsorship-policies/update.mdx index 999e7cb0..3d768233 100644 --- a/docs/pages/references/platform/api/sponsorship-policies/update.mdx +++ b/docs/pages/references/platform/api/sponsorship-policies/update.mdx @@ -1,4 +1,4 @@ -# Update a sponsorship policy [POSTs partial changes to an existing sponsorship policy and returns the updated object] +# Update a sponsorship policy Updates a sponsorship policy. Any parameters not provided will be left unchanged. diff --git a/docs/pages/references/platform/api/upgrade.mdx b/docs/pages/references/platform/api/upgrade.mdx index f4625dc5..c87b5d67 100644 --- a/docs/pages/references/platform/api/upgrade.mdx +++ b/docs/pages/references/platform/api/upgrade.mdx @@ -1,4 +1,4 @@ -# API Upgrade [Opt-in migration that removes the default ETH balance override from eth_estimateUserOperationGas] +# API Upgrade We are announcing a change to our API behavior for the `eth_estimateUserOperationGas` method. Previously, our system provided a default ETH balance override when estimating gas for User Operations. This is an optional upgrade to make sure your users have enough ETH to cover the operation’s cost. diff --git a/docs/pages/references/platform/index.mdx b/docs/pages/references/platform/index.mdx index c414133c..57ef3df6 100644 --- a/docs/pages/references/platform/index.mdx +++ b/docs/pages/references/platform/index.mdx @@ -1,3 +1,3 @@ -# Pimlico Platform [Pimlico's ERC-4337 bundler, paymaster, and platform management APIs at a glance] +# Pimlico Platform **Pimlico** is the world's most popular ERC-4337 account abstraction infrastructure platform. Pimlico provides a suite of tools and services to help you build, deploy, and manage smart accounts on Ethereum and other EVM-compatible chains. \ No newline at end of file From 8dee8978b276c568ee9745654e73e007821ff5bc Mon Sep 17 00:00:00 2001 From: plusminushalf Date: Fri, 22 May 2026 14:40:26 +0100 Subject: [PATCH 3/3] Use descriptions for better llms.txt --- docs/pages/guides/eip7702/faqs.mdx | 2 ++ docs/pages/guides/eip7702/index.mdx | 2 +- docs/pages/guides/how-to/accounts/comparison.mdx | 2 +- .../pages/guides/how-to/accounts/use-coinbase-account.mdx | 3 +-- docs/pages/guides/how-to/accounts/use-kernel-account.mdx | 4 ++-- .../pages/guides/how-to/accounts/use-metamask-account.mdx | 4 ++-- .../pages/guides/how-to/accounts/use-thirdweb-account.mdx | 2 ++ .../guides/how-to/accounts/use-trustwallet-account.mdx | 6 +++--- docs/pages/guides/how-to/erc20-paymaster/architecture.mdx | 2 ++ docs/pages/guides/how-to/erc20-paymaster/faqs.mdx | 2 ++ docs/pages/guides/how-to/erc20-paymaster/index.mdx | 4 ++-- docs/pages/guides/how-to/gas-programs/gas-program.mdx | 6 +++--- docs/pages/guides/how-to/gas-programs/use.mdx | 2 ++ docs/pages/guides/how-to/migration-guide.mdx | 2 ++ docs/pages/guides/how-to/parallel-transactions.mdx | 2 +- .../guides/how-to/paymasters/conditional-sponsoring.mdx | 5 +---- docs/pages/guides/how-to/security/protect-api-keys.mdx | 6 +----- docs/pages/guides/how-to/sponsorship-policies/index.mdx | 2 ++ docs/pages/guides/how-to/testing/docker.mdx | 7 +------ docs/pages/guides/how-to/testing/prool.mdx | 6 +++--- docs/pages/guides/supported-chains.mdx | 4 +++- docs/pages/guides/tutorials/tutorial-2.mdx | 4 ++-- .../bundler-errors/invalid-discriminator-value.mdx | 4 ++-- .../references/bundler/bundler-errors/unknown-error.mdx | 4 ++-- .../bundler/endpoints/pimlico_getUserOperationStatus.mdx | 2 +- .../bundler/endpoints/pimlico_simulateAssetChanges.mdx | 2 ++ docs/pages/references/bundler/entrypoint-errors/aa13.mdx | 8 +++----- docs/pages/references/bundler/entrypoint-errors/aa23.mdx | 6 +++--- docs/pages/references/bundler/entrypoint-errors/aa30.mdx | 6 +++--- docs/pages/references/bundler/entrypoint-errors/aa31.mdx | 6 +++--- docs/pages/references/bundler/entrypoint-errors/aa32.mdx | 6 +++--- docs/pages/references/bundler/entrypoint-errors/aa33.mdx | 6 +++--- docs/pages/references/bundler/entrypoint-errors/aa34.mdx | 6 +++--- docs/pages/references/bundler/entrypoint-errors/aa50.mdx | 6 +++--- docs/pages/references/bundler/entrypoint-errors/aa93.mdx | 6 +++--- docs/pages/references/bundler/faqs.mdx | 2 ++ docs/pages/references/bundler/index.mdx | 4 ++-- docs/pages/references/bundler/testing.mdx | 4 ++-- docs/pages/references/bundler/usage.mdx | 4 ++-- .../references/paymaster/erc20-paymaster/architecture.mdx | 2 ++ docs/pages/references/paymaster/erc20-paymaster/faqs.mdx | 2 ++ docs/pages/references/paymaster/erc20-paymaster/index.mdx | 4 ++-- docs/pages/references/paymaster/index.mdx | 4 ++-- .../paymaster/verifying-paymaster/common-errors.mdx | 2 ++ .../references/paymaster/verifying-paymaster/faqs.mdx | 4 +++- .../references/paymaster/verifying-paymaster/usage.mdx | 6 +++--- docs/pages/references/permissionless/faqs.mdx | 2 ++ .../permissionless/how-to/accounts/comparison.mdx | 2 +- .../how-to/accounts/use-coinbase-account.mdx | 3 +-- .../permissionless/how-to/accounts/use-kernel-account.mdx | 4 ++-- .../how-to/accounts/use-thirdweb-account.mdx | 2 ++ .../how-to/accounts/use-trustwallet-account.mdx | 6 +++--- .../references/permissionless/how-to/migration-guide.mdx | 2 ++ .../permissionless/how-to/parallel-transactions.mdx | 2 +- .../how-to/paymasters/conditional-sponsoring.mdx | 7 +------ .../references/permissionless/how-to/testing/docker.mdx | 7 +------ docs/pages/references/permissionless/index.mdx | 8 +++++--- .../reference/erc7579-actions/accountId.mdx | 2 +- .../reference/erc7579-actions/installModule.mdx | 2 +- .../reference/erc7579-actions/isModuleInstalled.mdx | 2 +- .../reference/erc7579-actions/supportsExecutionMode.mdx | 2 +- .../reference/erc7579-actions/supportsModule.mdx | 2 +- .../reference/erc7579-actions/uninstallModule.mdx | 2 +- .../smart-account-actions/estimateUserOperationGas.mdx | 4 +--- .../reference/smart-account-actions/getChainId.mdx | 4 +--- .../smart-account-actions/getSupportedEntryPoints.mdx | 4 +--- .../reference/smart-account-actions/getUserOperation.mdx | 4 +--- .../smart-account-actions/getUserOperationReceipt.mdx | 4 +--- .../smart-account-actions/prepareUserOperation.mdx | 4 +--- .../reference/smart-account-actions/sendUserOperation.mdx | 4 +--- .../smart-account-actions/waitForUserOperationReceipt.mdx | 4 +--- .../references/permissionless/tutorial/tutorial-2.mdx | 4 ++-- .../v0_1/experimental/eip7677/getPaymasterData.mdx | 2 +- .../v0_1/experimental/eip7677/getPaymasterStubData.mdx | 2 +- docs/pages/references/permissionless/v0_1/faqs.mdx | 4 +++- .../permissionless/v0_1/how-to/accounts/support.mdx | 2 +- .../v0_1/how-to/accounts/use-biconomy-account.mdx | 4 ++-- .../v0_1/how-to/accounts/use-erc7579-account.mdx | 2 +- .../v0_1/how-to/accounts/use-kernel-account.mdx | 4 ++-- .../v0_1/how-to/accounts/use-light-account.mdx | 2 +- .../v0_1/how-to/accounts/use-safe-account.mdx | 2 +- .../v0_1/how-to/accounts/use-simple-account.mdx | 2 +- .../v0_1/how-to/accounts/use-trustwallet-account.mdx | 6 +++--- .../permissionless/v0_1/how-to/dapp-gas-sponsorship.mdx | 4 ++-- .../permissionless/v0_1/how-to/error-handling.mdx | 4 ++-- .../permissionless/v0_1/how-to/local-testing.mdx | 7 +------ .../permissionless/v0_1/how-to/migration-guide.mdx | 4 +++- .../permissionless/v0_1/how-to/parallel-transactions.mdx | 2 +- .../v0_1/how-to/paymasters/conditional-sponsoring.mdx | 7 +------ .../permissionless/v0_1/how-to/signers/dfns.mdx | 4 ++-- .../permissionless/v0_1/how-to/signers/dynamic.mdx | 4 ++-- .../permissionless/v0_1/how-to/signers/fireblocks.mdx | 4 ++-- .../permissionless/v0_1/how-to/signers/index.mdx | 4 ++-- .../permissionless/v0_1/how-to/signers/lit-protocol.mdx | 2 +- .../permissionless/v0_1/how-to/signers/magic.mdx | 4 ++-- .../permissionless/v0_1/how-to/signers/para.mdx | 2 +- .../v0_1/how-to/signers/particle-network.mdx | 4 ++-- .../permissionless/v0_1/how-to/signers/privy.mdx | 2 +- .../permissionless/v0_1/how-to/signers/turnkey.mdx | 4 ++-- .../permissionless/v0_1/how-to/signers/web3auth.mdx | 2 +- docs/pages/references/permissionless/v0_1/index.mdx | 8 +++++--- .../reference/accounts/signerToKernelSmartAccount.mdx | 2 +- .../v0_1/reference/accounts/signerToLightSmartAccount.mdx | 2 +- .../v0_1/reference/accounts/signerToSafeSmartAccount.mdx | 4 ++-- .../reference/accounts/signerToSimpleSmartAccount.mdx | 2 +- .../v0_1/reference/accounts/signerToTrustSmartAccount.mdx | 2 +- .../bundler-actions/estimateUserOperationGas.mdx | 4 ++-- .../reference/bundler-actions/getUserOperationByHash.mdx | 4 ++-- .../reference/bundler-actions/getUserOperationReceipt.mdx | 4 ++-- .../v0_1/reference/bundler-actions/sendUserOperation.mdx | 4 ++-- .../reference/bundler-actions/supportedEntryPoints.mdx | 4 ++-- .../bundler-actions/waitForUserOperationReceipt.mdx | 4 ++-- .../v0_1/reference/clients/bundlerClient.mdx | 4 ++-- .../v0_1/reference/clients/pimlicoBundlerClient.mdx | 4 ++-- .../v0_1/reference/clients/pimlicoPaymasterClient.mdx | 6 +++--- .../v0_1/reference/clients/smartAccountClient.mdx | 4 ++-- .../v0_1/reference/erc7579-actions/accountId.mdx | 2 +- .../v0_1/reference/erc7579-actions/installModule.mdx | 2 +- .../v0_1/reference/erc7579-actions/isModuleInstalled.mdx | 2 +- .../reference/erc7579-actions/supportsExecutionMode.mdx | 2 +- .../v0_1/reference/erc7579-actions/supportsModule.mdx | 2 +- .../v0_1/reference/erc7579-actions/uninstallModule.mdx | 2 +- .../permissionless/v0_1/reference/glossary/errors.mdx | 6 ++++-- .../references/permissionless/v0_1/reference/index.mdx | 4 ++-- .../pimlico-bundler-actions/getUserOperationGasPrice.mdx | 2 +- .../pimlico-bundler-actions/getUserOperationStatus.mdx | 4 ++-- .../pimlico-paymaster-actions/sponsorUserOperation.mdx | 6 +++--- .../validateSponsorshipPolicies.mdx | 4 ++-- .../v0_1/reference/public-actions/getAccountNonce.mdx | 2 +- .../v0_1/reference/public-actions/getSenderAddress.mdx | 4 ++-- .../reference/smart-account-actions/deployContract.mdx | 2 +- .../smart-account-actions/prepareUserOperationRequest.mdx | 2 +- .../reference/smart-account-actions/sendTransaction.mdx | 2 +- .../reference/smart-account-actions/sendTransactions.mdx | 2 +- .../reference/smart-account-actions/sendUserOperation.mdx | 2 +- .../v0_1/reference/smart-account-actions/signMessage.mdx | 2 +- .../reference/smart-account-actions/signTypedData.mdx | 2 +- .../reference/smart-account-actions/writeContract.mdx | 2 +- .../v0_1/reference/utils/getRequiredPrefund.mdx | 4 ++-- .../v0_1/reference/utils/getUserOperationHash.mdx | 4 ++-- .../v0_1/reference/utils/providerToSmartAccountSigner.mdx | 4 ++-- .../reference/utils/signUserOperationHashWithECDSA.mdx | 4 ++-- .../reference/utils/walletClientToSmartAccountSigner.mdx | 4 ++-- .../references/permissionless/v0_1/tutorial/index.mdx | 2 +- .../permissionless/v0_1/tutorial/tutorial-1.mdx | 4 ++-- .../permissionless/v0_1/tutorial/tutorial-2.mdx | 4 ++-- docs/pages/references/permissionless/v0_1/why.mdx | 4 +++- docs/pages/references/permissionless/wagmi/index.mdx | 8 +++++--- .../wagmi/reference/hooks/useSendTransaction.mdx | 2 +- .../reference/hooks/useWaitForTransactionReceipt.mdx | 2 +- docs/pages/references/permissionless/why.mdx | 4 +++- .../platform/api/sponsorship-policies/create.mdx | 2 +- .../platform/api/sponsorship-policies/object.mdx | 2 ++ docs/pages/stackup-migration.mdx | 2 +- 154 files changed, 276 insertions(+), 276 deletions(-) diff --git a/docs/pages/guides/eip7702/faqs.mdx b/docs/pages/guides/eip7702/faqs.mdx index 8bb0a81e..17e00008 100644 --- a/docs/pages/guides/eip7702/faqs.mdx +++ b/docs/pages/guides/eip7702/faqs.mdx @@ -1,5 +1,7 @@ # EIP-7702 FAQs +Answers to common questions about EIP-7702 — what it is, how it relates to ERC-4337, which chains Pimlico supports it on, and how EOAs transition into smart accounts under the new transaction type. + ## What is EIP-7702? EIP-7702 is a proposal that allows EOAs to become smart accounts. It is going live in the Pectra hard fork on Ethereum Mainnet on May 7, but it is already live on some other chains like BSC Mainnet and Odyssey Testnet. diff --git a/docs/pages/guides/eip7702/index.mdx b/docs/pages/guides/eip7702/index.mdx index 736299e0..632d3f39 100644 --- a/docs/pages/guides/eip7702/index.mdx +++ b/docs/pages/guides/eip7702/index.mdx @@ -1,6 +1,6 @@ # EIP-7702 -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. +EIP-7702 is a transaction type — shipped as part of the Pectra hardfork that activated on Ethereum mainnet in May 2025 — that lets EOAs assign a "delegation designator" pointing to a smart contract. Once set, transactions sent to the EOA execute the code at the designated address. This unlocks huge benefits for EOAs, as they can now access smart account features such as batching transactions, gas sponsorships, passkeys as signers, and more. diff --git a/docs/pages/guides/how-to/accounts/comparison.mdx b/docs/pages/guides/how-to/accounts/comparison.mdx index 88de8172..ec0d5d86 100644 --- a/docs/pages/guides/how-to/accounts/comparison.mdx +++ b/docs/pages/guides/how-to/accounts/comparison.mdx @@ -1,6 +1,6 @@ # Difference between various Smart Account types in permissionless.js -permissionless.js supports 8 types of accounts. Below is an overview of each account type and their key features: +permissionless.js supports 8 ERC-4337 smart account implementations — Safe, Kernel, Nexus, Simple Smart Account, LightAccount, TrustWallet, Etherspot, and Thirdweb. This page compares each one by its key features so you can pick the right account for your application. 1. **Safe** 2. **Kernel** diff --git a/docs/pages/guides/how-to/accounts/use-coinbase-account.mdx b/docs/pages/guides/how-to/accounts/use-coinbase-account.mdx index cc75dae6..a355809c 100644 --- a/docs/pages/guides/how-to/accounts/use-coinbase-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-coinbase-account.mdx @@ -1,8 +1,7 @@ # How to create and use a Coinbase smart account with permissionless.js +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). :::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). \ No newline at end of file diff --git a/docs/pages/guides/how-to/accounts/use-kernel-account.mdx b/docs/pages/guides/how-to/accounts/use-kernel-account.mdx index 4292ee2b..494da5c5 100644 --- a/docs/pages/guides/how-to/accounts/use-kernel-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-kernel-account.mdx @@ -1,11 +1,11 @@ # How to create and use a Kernel account with permissionless.js +[Kernel](https://github.com/zerodevapp/kernel) is a **modular smart account** that supports plugins, which are smart contracts that extend the account's functionalities. You can use Kernel with popular plugins such as session keys and account recovery, and even write your own plugins. Kernel is compatible with [ERC-7579](https://erc7579.com/). + :::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. ::: -[Kernel](https://github.com/zerodevapp/kernel) is a **modular smart account** that supports plugins, which are smart contracts that extend the account's functionalities. You can use Kernel with popular plugins such as session keys and account recovery, and even write your own plugins. Kernel is compatible with [ERC-7579](https://erc7579.com/). - ## Picking an EntryPoint Kernel is compatible with EntryPoint versions v0.6 and v0.7. diff --git a/docs/pages/guides/how-to/accounts/use-metamask-account.mdx b/docs/pages/guides/how-to/accounts/use-metamask-account.mdx index 71c0790c..d4501fda 100644 --- a/docs/pages/guides/how-to/accounts/use-metamask-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-metamask-account.mdx @@ -1,11 +1,11 @@ # How to use MetaMask Smart Accounts with permissionless.js +The [MetaMask Delegation Toolkit](https://docs.metamask.io/delegation-toolkit/get-started/quickstart) is a collection of tools for creating MetaMask Smart Accounts. A smart account can delegate to another signer with granular permission sharing. It is built over [ERC-7710](https://eip.tools/eip/7710) and [ERC-7715](https://eip.tools/eip/7715) to support a standardized minimal interface. Requesting ERC-7715 permissions and redeeming ERC-7710 delegations are experimental features. + :::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. ::: -The [MetaMask Delegation Toolkit](https://docs.metamask.io/delegation-toolkit/get-started/quickstart) is a collection of tools for creating MetaMask Smart Accounts. A smart account can delegate to another signer with granular permission sharing. It is built over [ERC-7710](https://eip.tools/eip/7710) and [ERC-7715](https://eip.tools/eip/7715) to support a standardized minimal interface. Requesting ERC-7715 permissions and redeeming ERC-7710 delegations are experimental features. - There are two types of accounts involved in delegation: 1. **Delegator account**: A smart account that supports programmable account behavior and advanced features such as multi-signature approvals, automated transaction batching, and custom security policies. diff --git a/docs/pages/guides/how-to/accounts/use-thirdweb-account.mdx b/docs/pages/guides/how-to/accounts/use-thirdweb-account.mdx index 0fbcd838..9222445e 100644 --- a/docs/pages/guides/how-to/accounts/use-thirdweb-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-thirdweb-account.mdx @@ -1,5 +1,7 @@ # How to create and use a Thirdweb account with permissionless.js +[Thirdweb](https://thirdweb.com) provides a managed smart account implementation that integrates with their developer platform. This guide walks through creating a Thirdweb smart account with permissionless.js and sending user operations through a bundler and optional paymaster. + ## Picking an EntryPoint Thirdweb is compatible with EntryPoint versions v0.6 and v0.7. In this guide, we will use EntryPoint v0.7. diff --git a/docs/pages/guides/how-to/accounts/use-trustwallet-account.mdx b/docs/pages/guides/how-to/accounts/use-trustwallet-account.mdx index 3781b3d1..0a3333b8 100644 --- a/docs/pages/guides/how-to/accounts/use-trustwallet-account.mdx +++ b/docs/pages/guides/how-to/accounts/use-trustwallet-account.mdx @@ -1,14 +1,14 @@ # How to create and use a Trust smart account with permissionless.js +Trust Wallet is one of the most trusted wallet provider empowering more than 122 million users and is the first Web3 wallet to be [certified by ISO](https://trustwallet.com/security). +After thorough development and extensive security audits, Trust Wallet launched the [Smart Wallet](https://trustwallet.com/swift) powered by account abstraction. + :::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. This is a service that TrustWallet provides to builders to build innovative products on top of a secure foundation. Monitoring will automatically start as soon as the Barz account is deployed on-chain; for projects wanting to get security monitoring information, reach out to the smart wallet channel in [TrustWallet Discord](https://discord.gg/trustwallet). ::: -Trust Wallet is one of the most trusted wallet provider empowering more than 122 million users and is the first Web3 wallet to be [certified by ISO](https://trustwallet.com/security). -After thorough development and extensive security audits, Trust Wallet launched the [Smart Wallet](https://trustwallet.com/swift) powered by account abstraction. - With the recent opensource of their Smart Wallet system Barz, their smart account solution, together with their security infrastructure is disclosed for public to support builders build products on a secure foundation. This guide will walk you through how to create and use a Barz account with permissionless.js diff --git a/docs/pages/guides/how-to/erc20-paymaster/architecture.mdx b/docs/pages/guides/how-to/erc20-paymaster/architecture.mdx index c77f8cf9..8c7cc1a7 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/architecture.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/architecture.mdx @@ -1,5 +1,7 @@ # ERC-20 Paymaster Architecture +This page explains the design of Pimlico's ERC-20 Paymaster — an ERC-4337 paymaster that pays user gas fees in exchange for ERC-20 tokens drawn from the user — including the off-chain pricing API and the formula used to estimate the token cost of a user operation. + :::info You can view the whole ERC-20 Paymaster contract [in our repository](https://github.com/pimlicolabs). diff --git a/docs/pages/guides/how-to/erc20-paymaster/faqs.mdx b/docs/pages/guides/how-to/erc20-paymaster/faqs.mdx index f7ab208f..5893475d 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/faqs.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/faqs.mdx @@ -1,5 +1,7 @@ # ERC-20 Paymaster FAQs +Answers to common questions about Pimlico's ERC-20 Paymaster — what a paymaster is, how the ERC-20 variant works, which tokens and chains are supported, and how fees are charged. + ## What is a paymaster? A Paymaster is a special smart contract under the [ERC-4337](https://eips.ethereum.org/EIPS/eip-4337) specification that user operations are able to delegate the responsibility of gas fee payments to. This means that ERC-4337 smart contract wallets no longer need to necessarily be responsible for directly paying gas fees in ETH. The paymaster contracts are able to use custom logic (with certain limitations) to decide whether or not they are willing to sponsor a user operation. diff --git a/docs/pages/guides/how-to/erc20-paymaster/index.mdx b/docs/pages/guides/how-to/erc20-paymaster/index.mdx index 68239e44..06ddea24 100644 --- a/docs/pages/guides/how-to/erc20-paymaster/index.mdx +++ b/docs/pages/guides/how-to/erc20-paymaster/index.mdx @@ -1,9 +1,9 @@ # ERC-20 Paymaster -![Landscape](/erc20paymaster.png) - Pimlico's ERC-20 Paymaster is a ERC-4337 paymaster that is able to pay for the gas fees of your users in exchange for ERC-20 tokens. +![Landscape](/erc20paymaster.png) + ## Tutorials Learning-oriented lessons that take you through a series of steps to complete a project. Most useful when you want to get started with Pimlico. They all involve the Alto Bundler. diff --git a/docs/pages/guides/how-to/gas-programs/gas-program.mdx b/docs/pages/guides/how-to/gas-programs/gas-program.mdx index c5a2de98..feb084a2 100644 --- a/docs/pages/guides/how-to/gas-programs/gas-program.mdx +++ b/docs/pages/guides/how-to/gas-programs/gas-program.mdx @@ -1,11 +1,11 @@ # How to create a gas program on Pimlico +If you are a chain operator and you would like to be able to easily give out and track gas credits to developers building on your chain, you can create and manage a gas station program using Pimlico sponsorship policies. + :::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). ::: -If you are a chain operator and you would like to be able to easily give out and track gas credits to developers building on your chain, you can create and manage a gas station program using Pimlico sponsorship policies. - ::::steps ### Create a Pimlico account @@ -48,4 +48,4 @@ After you have created the policy, you should see a page where you can copy a li To use the policy, the grantee will need to have a Pimlico account and will need to click on the link to claim the authorization, and will then be able to use that authorization to pay for gas on your chain as if it was a policy that they owned. More information about using sponsorship policies can be found in the [relevant guide](/guides/how-to/sponsorship-policies). -:::: \ No newline at end of file +:::: diff --git a/docs/pages/guides/how-to/gas-programs/use.mdx b/docs/pages/guides/how-to/gas-programs/use.mdx index 3ecd33ae..9b4bef44 100644 --- a/docs/pages/guides/how-to/gas-programs/use.mdx +++ b/docs/pages/guides/how-to/gas-programs/use.mdx @@ -1,5 +1,7 @@ # How to use the claimed gas grant +Once you have claimed a gas grant from a chain operator's gas program, you can apply it like any other sponsorship policy. This guide shows how to wire the claimed sponsorship policy ID into user operations with permissionless.js so the grant covers gas costs. + ## Usage of Sponsorship Policies with permisionless.js If you are using [permissionless.js](/references/permissionless), you can use the `PimlicoPaymasterClient` to use sponsorship policies. diff --git a/docs/pages/guides/how-to/migration-guide.mdx b/docs/pages/guides/how-to/migration-guide.mdx index 6a40605c..f7909cbf 100644 --- a/docs/pages/guides/how-to/migration-guide.mdx +++ b/docs/pages/guides/how-to/migration-guide.mdx @@ -1,5 +1,7 @@ # Migration Guide +This guide walks through the breaking changes and steps required to upgrade permissionless.js between major versions, starting with the migration from `^0.1.0` to `0.2.0`. + ## 0.2.0 :::warning diff --git a/docs/pages/guides/how-to/parallel-transactions.mdx b/docs/pages/guides/how-to/parallel-transactions.mdx index 8cec23b8..6e0e7db7 100644 --- a/docs/pages/guides/how-to/parallel-transactions.mdx +++ b/docs/pages/guides/how-to/parallel-transactions.mdx @@ -1,6 +1,6 @@ # How to send multiple user operations in parallel -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. +permissionless.js library lets you 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. ## Batching Multiple Calls diff --git a/docs/pages/guides/how-to/paymasters/conditional-sponsoring.mdx b/docs/pages/guides/how-to/paymasters/conditional-sponsoring.mdx index afb8dd94..505263b5 100644 --- a/docs/pages/guides/how-to/paymasters/conditional-sponsoring.mdx +++ b/docs/pages/guides/how-to/paymasters/conditional-sponsoring.mdx @@ -1,9 +1,6 @@ # How to conditionally sponsor a user operation -With permissionless.js and Viem, you can conditionally sponsor a user operation. This can be useful in situations like: - -- Sponsor only first 10 transactions -- Sponsor if they have a specific NFT +With permissionless.js and viem, you can conditionally sponsor a user operation — useful when you want to cap free sponsorship to the first N transactions per user, gate it behind ownership of a specific NFT, or apply any other custom rule. Let's take an example where you want to sponsor only the first 10 transactions. diff --git a/docs/pages/guides/how-to/security/protect-api-keys.mdx b/docs/pages/guides/how-to/security/protect-api-keys.mdx index b724171f..f788d925 100644 --- a/docs/pages/guides/how-to/security/protect-api-keys.mdx +++ b/docs/pages/guides/how-to/security/protect-api-keys.mdx @@ -1,10 +1,6 @@ # How to Protect Your API Keys -Keeping your API keys secure is essential. Here are three main ways to protect them: - -- Restrict access to your API keys. -- Use sponsorship policies. -- Use a proxy server to handle requests to Pimlico. +Pimlico API keys grant access to your sponsorship balance and paid endpoints, so keeping them secure is essential. This guide covers three ways to protect them — restricting access by IP, user agent, and origin, using sponsorship policies to cap spend, and routing requests through a proxy server you control. ## Restrict Access to Your API Keys diff --git a/docs/pages/guides/how-to/sponsorship-policies/index.mdx b/docs/pages/guides/how-to/sponsorship-policies/index.mdx index 37a8709c..d6d19da7 100644 --- a/docs/pages/guides/how-to/sponsorship-policies/index.mdx +++ b/docs/pages/guides/how-to/sponsorship-policies/index.mdx @@ -1,5 +1,7 @@ # How to use Sponsorship Policies +Sponsorship policies let you define custom rules and limits that govern when the verifying paymaster sponsors a user operation, such as global caps, per-user limits, and per-operation limits. This guide walks through creating a policy in the Pimlico dashboard and applying it to user operations with permissionless.js. + ## What are Sponsorship Policies? Sponsorship Policies are hosted policies that allow you to define custom rules for sponsorships. diff --git a/docs/pages/guides/how-to/testing/docker.mdx b/docs/pages/guides/how-to/testing/docker.mdx index 93e0a750..a2e85ba6 100644 --- a/docs/pages/guides/how-to/testing/docker.mdx +++ b/docs/pages/guides/how-to/testing/docker.mdx @@ -1,11 +1,6 @@ # Local Testing With Docker -This guide introduces a ready-to-use mock test environment, that contains: - -- A local Alto bundler -- A mock paymaster -- An Anvil node -- ERC-4337 related contracts, including the EntryPoint and account factories for all major smart account implementations +This guide walks you through a ready-to-use Docker-based mock ERC-4337 test environment that bundles a local Alto bundler, a mock paymaster, an Anvil node, and all ERC-4337 related contracts — the EntryPoint and account factories for every major smart account implementation. The test environment is orchestrated using **docker compose**. Where the docker containers are pulled from [this repo](https://github.com/pimlicolabs/mock-aa-environment). diff --git a/docs/pages/guides/how-to/testing/prool.mdx b/docs/pages/guides/how-to/testing/prool.mdx index 3f999231..b7c54781 100644 --- a/docs/pages/guides/how-to/testing/prool.mdx +++ b/docs/pages/guides/how-to/testing/prool.mdx @@ -1,10 +1,10 @@ # Prool -This guide introduces how to setup and run tests in a mock environment using [Prool](https://github.com/wevm/prool). +This guide walks through setting up and running tests against a mock ERC-4337 environment using [Prool](https://github.com/wevm/prool) — a library by Wevm that lets you programmatically interact with Ethereum server instances like nodes, bundlers, and paymasters. -# Overview +## Overview -Prool is a library by [Wevm](https://github.com/wevm/viem) that lets you programmatically interact with Ethereum server instances like Nodes, Bundlers, and Paymasters. +We will be using [Vitest](https://vitest.dev/) as our testing framework and we will be testing against a fork of Base Mainnet. We will be using [Vitest](https://vitest.dev/) as our testing framework and we will be testing against a fork of Base Mainnet. diff --git a/docs/pages/guides/supported-chains.mdx b/docs/pages/guides/supported-chains.mdx index 4969f857..941fbd92 100644 --- a/docs/pages/guides/supported-chains.mdx +++ b/docs/pages/guides/supported-chains.mdx @@ -1,6 +1,8 @@ # Supported Chains +Pimlico's bundler and paymaster infrastructure is available across dozens of EVM mainnets and testnets. This page lists every supported chain and shows how to target one in your API requests. + All API calls must use the JSON-RPC format and be sent to the following URL: ``` @@ -15,7 +17,7 @@ For example to access Base, both of these endpoints will work: You can also access the public endpoint without an API key ([more info](/references/bundler/public-endpoint)). -# Pimlico supports the following chains: +## Pimlico supports the following chains: import SupportedChains from "../../../data/supported-chains.md" import ChainDetails from "../../../data/chain-details.md"; diff --git a/docs/pages/guides/tutorials/tutorial-2.mdx b/docs/pages/guides/tutorials/tutorial-2.mdx index 016a2d45..93e90531 100644 --- a/docs/pages/guides/tutorials/tutorial-2.mdx +++ b/docs/pages/guides/tutorials/tutorial-2.mdx @@ -1,11 +1,11 @@ # Tutorial 2 — Submit a user operation with an ERC-20 Paymaster +In this tutorial, you will deploy an ERC-4337 smart contract wallet on Base Sepolia, and submit a user operation that pays for its gas fees with USDC using an ERC-20 Paymaster. + :::info You can visit our [ERC-20 Paymaster overview page](/references/paymaster/erc20-paymaster) to learn more about the design and architecture of our ERC-20 Paymaster, and the deployed smart contract addresses. ::: -In this tutorial, you will deploy an ERC-4337 smart contract wallet on Base Sepolia, and submit a user operation that pays for its gas fees with USDC using an ERC-20 Paymaster. - ## Steps ::::steps diff --git a/docs/pages/references/bundler/bundler-errors/invalid-discriminator-value.mdx b/docs/pages/references/bundler/bundler-errors/invalid-discriminator-value.mdx index 402a7c57..1976e711 100644 --- a/docs/pages/references/bundler/bundler-errors/invalid-discriminator-value.mdx +++ b/docs/pages/references/bundler/bundler-errors/invalid-discriminator-value.mdx @@ -1,11 +1,11 @@ # Validation error: Invalid discriminator value +If you see an error similar to the one above, it means you are calling a method on the Pimlico API that is not supported. The most common reason for this is using the Pimlico API endpoint for standard public Ethereum JSON-RPC methods. As a reminder, the Pimlico API only supports bundler and paymaster methods. + ```txt Validation error: Invalid discriminator value. Expected 'eth_chainId' | 'eth_supportedEntryPoints' | 'eth_coinbase' | 'eth_estimateUserOperationGas' | 'eth_sendUserOperation' | 'eth_getUserOperationByHash' | 'eth_getUserOperationReceipt' | 'pm_supportedEntryPoints' | 'pm_sponsorUserOperation' | 'web3_clientVersion' | 'pimlico_getUserOperationStatus' | 'pimlico_getUserOperationGasPrice' | 'pimlico_getBalance' | 'pm_validateSponsorshipPolicies' at \"method\"" ``` -If you see an error similar to the one above, it means you are calling a method on the Pimlico API that is not supported. The most common reason for this is using the Pimlico API endpoint for standard public Ethereum JSON-RPC methods. As a reminder, the Pimlico API only supports bundler and paymaster methods. - ## Possible solutions Make sure you are using a standard RPC endpoint for public Ethereum methods and the Pimlico API endpoint for Pimlico-specific methods. diff --git a/docs/pages/references/bundler/bundler-errors/unknown-error.mdx b/docs/pages/references/bundler/bundler-errors/unknown-error.mdx index b11e7744..e33b8b88 100644 --- a/docs/pages/references/bundler/bundler-errors/unknown-error.mdx +++ b/docs/pages/references/bundler/bundler-errors/unknown-error.mdx @@ -1,7 +1,7 @@ # Unknown error from alto bundler -The bundler encountered an unexpected error. This is either an internal 500 error, or an error with sensitive information that can not returned. +The bundler encountered an unexpected error. This is either an internal 500 error, or an error with sensitive information that cannot be returned. ## Possible solutions -- [Reach out to us](https://t.me/pimlicoHQ) if you see this error. \ No newline at end of file +- [Reach out to us](https://t.me/pimlicoHQ) if you see this error. diff --git a/docs/pages/references/bundler/endpoints/pimlico_getUserOperationStatus.mdx b/docs/pages/references/bundler/endpoints/pimlico_getUserOperationStatus.mdx index cdaac685..7f1fa8b0 100644 --- a/docs/pages/references/bundler/endpoints/pimlico_getUserOperationStatus.mdx +++ b/docs/pages/references/bundler/endpoints/pimlico_getUserOperationStatus.mdx @@ -1,6 +1,6 @@ # pimlico_getUserOperationStatus -This method takes in a user operation hash and returns the status of the operation and, optionally, the transaction hash the bundler is using to bundle the user operation on-chain. The status can be one of the following: +This method takes a user operation hash and returns the current status of the operation along with, when relevant, the transaction hash the bundler is using to bundle it on-chain — covering states like not found, not yet submitted, submitted, included, rejected, failed, and queued. | result | response includes transaction hash | description | diff --git a/docs/pages/references/bundler/endpoints/pimlico_simulateAssetChanges.mdx b/docs/pages/references/bundler/endpoints/pimlico_simulateAssetChanges.mdx index b10373ec..7be4ef30 100644 --- a/docs/pages/references/bundler/endpoints/pimlico_simulateAssetChanges.mdx +++ b/docs/pages/references/bundler/endpoints/pimlico_simulateAssetChanges.mdx @@ -1,5 +1,7 @@ # pimlico_simulateAssetChanges +Returns the ERC-20, ERC-721, ERC-1155, and native token balance changes that would occur if a given user operation were executed on-chain — useful for previewing transfers and balance impact before submitting the user operation. + :::warning NOTICE: This page is still in draft and the API may change. ::: diff --git a/docs/pages/references/bundler/entrypoint-errors/aa13.mdx b/docs/pages/references/bundler/entrypoint-errors/aa13.mdx index 0b4c3c04..b1ff7fef 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa13.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa13.mdx @@ -1,16 +1,14 @@ # AA13 initCode failed or OOG +The EntryPoint failed to create the smart account with the `initCode` provided — either because the `initCode` ran out of gas, or because it reverted during the account deployment process. + :::info OOG = Out Of Gas ::: -The EntryPoint failed to create the smart account with the `initCode` provided. There are two possible reasons: -- The `initCode` ran out of gas -- The `initCode` reverted during the account deployment process - ## Possible solutions - Verify that the factory address in the `initCode` is correct (the factory address is the first 20 bytes of the `initCode`). - Verify that the `initCode` is correct. - Check whether the `verificationGasLimit` is sufficient for the `initCode` to complete without running out of gas. -- If the root cause is a revert, investigate why the `initCode` reverts during the account deployment process using tools like [Tenderly](https://tenderly.co/). \ No newline at end of file +- If the root cause is a revert, investigate why the `initCode` reverts during the account deployment process using tools like [Tenderly](https://tenderly.co/). diff --git a/docs/pages/references/bundler/entrypoint-errors/aa23.mdx b/docs/pages/references/bundler/entrypoint-errors/aa23.mdx index 65fc77d2..c95b6f89 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa23.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa23.mdx @@ -1,14 +1,14 @@ # AA23 reverted (or OOG) +The `validateUserOp` function of the smart account either reverted or ran out of gas. + :::info OOG = Out Of Gas ::: -The `validateUserOp` function of the smart account either reverted or ran out of gas. - ## Possible solutions - Verify that the `verificationGasLimit` is high enough to cover the `validateUserOp` function's gas costs. - Verify that the `validateUserOp` function is implemented with the correct logic, and that the user operation is supposed to be valid. - Make sure the signature verification logic of the smart account is implemented correctly. Namely, correct implementations should **not** revert when the signature is invalid. If you are not looking to use neither time-based signatures nor a signature aggregator, you should simply return `uint(1)` for invalid signatures in the `validateUserOp` function. -- If all else fails, investigate why the `validateUserOp` function reverted using tools like [Tenderly](https://tenderly.co/). \ No newline at end of file +- If all else fails, investigate why the `validateUserOp` function reverted using tools like [Tenderly](https://tenderly.co/). diff --git a/docs/pages/references/bundler/entrypoint-errors/aa30.mdx b/docs/pages/references/bundler/entrypoint-errors/aa30.mdx index 033622cd..152d48db 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa30.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa30.mdx @@ -1,12 +1,12 @@ # AA30 paymaster not deployed +The paymaster contract is not deployed. + :::info The first 20 bytes of the `paymasterAndData` field specify the address of the paymaster contract you are requesting to use. ::: -The paymaster contract is not deployed. - ## Possible solutions - Verify that the `paymasterAndData` field is correct, and that the first 20 bytes are the address of the paymaster contract you intend to use. -- Verify that the paymaster contract is deployed on the network you are using. \ No newline at end of file +- Verify that the paymaster contract is deployed on the network you are using. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa31.mdx b/docs/pages/references/bundler/entrypoint-errors/aa31.mdx index fca9c27d..ad4a5c85 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa31.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa31.mdx @@ -1,13 +1,13 @@ # AA31 paymaster deposit too low +The paymaster contract does not have enough funds deposited into the EntryPoint contract to cover the required prefund of the user operation. + :::info The first 20 bytes of the `paymasterAndData` field specify the address of the paymaster contract you are requesting to use. ::: -The paymaster contract does not have enough funds deposited into the EntryPoint contract to cover the required prefund of the user operation. - ## Possible solutions - Verify that the `paymasterAndData` field is correct, and that the first 20 bytes are the address of the paymaster contract you intend to use. - If you are using your own paymaster contract, deposit more funds into the EntryPoint contract through the `deposit()` function of the paymaster contract. -- If you are using a paymaster service like Pimlico, [reach out to them](https://t.me/pimlicoHQ). \ No newline at end of file +- If you are using a paymaster service like Pimlico, [reach out to them](https://t.me/pimlicoHQ). diff --git a/docs/pages/references/bundler/entrypoint-errors/aa32.mdx b/docs/pages/references/bundler/entrypoint-errors/aa32.mdx index 55b0bed1..76aad15c 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa32.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa32.mdx @@ -1,11 +1,11 @@ # AA32 expired or not due +The paymaster's signature used in the `paymasterAndData` field of the user operation is not valid, because it is outside of the time range it specified. + :::info By default, signatures from Pimlico's verifying paymaster are only valid for 10 minutes. ::: -The paymaster's signature used in the `paymasterAndData` field of the user operation is not valid, because it is outside of the time range it specified. - The paymaster's `validatePaymasterUserOp` function returns `validationData`, a `bytes32` field. This field is a concatenation of the `validAfter`, `validUntil`, and `aggregator` fields. This error occurs when the `block.timestamp` falls after the `validUntil` timestamp, or before the `validAfter` timestamp. @@ -14,4 +14,4 @@ This error occurs when the `block.timestamp` falls after the `validUntil` timest - If you are using Pimlico's paymaster, send the user operation within 10 minutes or [extend the validity period](/guides/how-to/paymasters/extending-sponsorship-duration) up to 24 hours. - If you are using your own paymaster contract and using time-based signatures, verify that the `validAfter` and `validUntil` fields are set correctly and that the user operation is sent within the specified range. -- If you are using your own paymaster contract and *not* looking to use time-based signatures, verify that the `validAfter` and `validUntil` fields are set to `0`. \ No newline at end of file +- If you are using your own paymaster contract and *not* looking to use time-based signatures, verify that the `validAfter` and `validUntil` fields are set to `0`. diff --git a/docs/pages/references/bundler/entrypoint-errors/aa33.mdx b/docs/pages/references/bundler/entrypoint-errors/aa33.mdx index 2ed5568e..05a1654f 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa33.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa33.mdx @@ -1,11 +1,11 @@ # AA33 reverted (or OOG) +The `validatePaymasterUserOp` function of the paymaster contract either reverted or ran out of gas. + :::info OOG = Out Of Gas ::: -The `validatePaymasterUserOp` function of the paymaster contract either reverted or ran out of gas. - ## Possible solutions - Verify that the `verificationGasLimit` is high enough to cover the `validatePaymasterUserOp` function's gas costs. @@ -20,4 +20,4 @@ const userOperationHash = await bundlerClient.sendUserOperation({ ..., // the rest of the user operation }) ``` -- If all else fails, investigate why the `validatePaymasterUserOp` function reverted using tools like [Tenderly](https://tenderly.co/). \ No newline at end of file +- If all else fails, investigate why the `validatePaymasterUserOp` function reverted using tools like [Tenderly](https://tenderly.co/). diff --git a/docs/pages/references/bundler/entrypoint-errors/aa34.mdx b/docs/pages/references/bundler/entrypoint-errors/aa34.mdx index 15dc98f1..a1e45a11 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa34.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa34.mdx @@ -1,11 +1,11 @@ # AA34 signature error +The `validatePaymasterUserOp` function of the paymaster contract rejected the signature of the user operation. + :::info The first 20 bytes of the `paymasterAndData` field specify the address of the paymaster contract you are requesting to use. ::: -The `validatePaymasterUserOp` function of the paymaster contract rejected the signature of the user operation. - ## Possible solutions - If you are using your own paymaster contract, verify that the user operation was correctly signed according to your implementation, and that the paymaster signature was correctly encoded in the `paymasterAndData` field of the user operation. @@ -13,4 +13,4 @@ The `validatePaymasterUserOp` function of the paymaster contract rejected the si - Make sure the paymaster signature verification function is correctly implemented. - If you are using a paymaster service like Pimlico, make sure you do not modify any of the fields of the user operation after the paymaster signs over it (except the `signature` field). - If you are using a paymaster service like Pimlico and you have not modified any of the fields except the `signature` but you are still getting this error, [reach out to them](https://t.me/pimlicoHQ). -- If all else fails, investigate why the `validatePaymasterUserOp` function rejected the paymaster signature using tools like [Tenderly](https://tenderly.co/). \ No newline at end of file +- If all else fails, investigate why the `validatePaymasterUserOp` function rejected the paymaster signature using tools like [Tenderly](https://tenderly.co/). diff --git a/docs/pages/references/bundler/entrypoint-errors/aa50.mdx b/docs/pages/references/bundler/entrypoint-errors/aa50.mdx index 1a2f3bf8..ff13a344 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa50.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa50.mdx @@ -1,13 +1,13 @@ # AA50 postOp reverted +The paymaster contract's `postOp` function reverted. + :::info `postOp` is a function that is called by the EntryPoint on the paymaster contract after the user operation execution is completed. It is often used by paymasters to perform additional accounting logic. ::: -The paymaster contract's `postOp` function reverted. - ## Possible solutions - If you are using your own paymaster contract, verify that that you have correctly implemented the `postOp` function (if you are using one). If you do *not* intent to make use of the `postOp` function, make sure you do not set the `context` parameter in the paymaster's `validatePaymasterUserOp` function. - If you are using a paymaster service like Pimlico and you see this error, [reach out to them](https://t.me/pimlicoHQ). -- If all else fails, investigate why the `postOp` function reverted using tools like [Tenderly](https://tenderly.co/). \ No newline at end of file +- If all else fails, investigate why the `postOp` function reverted using tools like [Tenderly](https://tenderly.co/). diff --git a/docs/pages/references/bundler/entrypoint-errors/aa93.mdx b/docs/pages/references/bundler/entrypoint-errors/aa93.mdx index 299645ac..21168f95 100644 --- a/docs/pages/references/bundler/entrypoint-errors/aa93.mdx +++ b/docs/pages/references/bundler/entrypoint-errors/aa93.mdx @@ -1,12 +1,12 @@ # AA93 invalid paymasterAndData +The `paymasterAndData` field is of an incorrect length. + :::info The first 20 bytes of the `paymasterAndData` field specify the address of the paymaster contract you are requesting to use. ::: -The `paymasterAndData` field is of an incorrect length. - ## Possible solutions - Make sure you have either not set a value for the `paymasterAndData`, or that it is at least 20 bytes long. -- If you are using a paymaster provider like Pimlico, [reach out to them](https://t.me/pimlicoHQ). \ No newline at end of file +- If you are using a paymaster provider like Pimlico, [reach out to them](https://t.me/pimlicoHQ). diff --git a/docs/pages/references/bundler/faqs.mdx b/docs/pages/references/bundler/faqs.mdx index b9fe5924..62706f84 100644 --- a/docs/pages/references/bundler/faqs.mdx +++ b/docs/pages/references/bundler/faqs.mdx @@ -1,5 +1,7 @@ # Bundler FAQs +Answers to common questions about Pimlico's bundler, including troubleshooting dropped or stuck user operations, how bundler transaction fees are paid on-chain, and how the bundler interacts with paymasters and smart accounts. + ## I successfully submitted a user operation to the bundler, but it never got included in a block. What happened? There can be many reasons for this. The most common are: - The user operation succeeds as it is being validated, but fails during the second round of simulations when it is being bundled by the bundler into a transaction to be submitted on-chain and is therefore dropped. diff --git a/docs/pages/references/bundler/index.mdx b/docs/pages/references/bundler/index.mdx index 059fd128..296c235a 100644 --- a/docs/pages/references/bundler/index.mdx +++ b/docs/pages/references/bundler/index.mdx @@ -1,9 +1,9 @@ # Alto Bundler -![Landscape](/alto.png) - Alto ⛰️ is a performant, type-safe ERC-4337 bundler written in Typescript. +![Landscape](/alto.png) + Our focus is on full type safety, transaction inclusion reliability (even in the case of sudden gas price spikes or chain reorgs), as well as transaction inclusion speed. ## Tutorials diff --git a/docs/pages/references/bundler/testing.mdx b/docs/pages/references/bundler/testing.mdx index a58d456b..3fcb74de 100644 --- a/docs/pages/references/bundler/testing.mdx +++ b/docs/pages/references/bundler/testing.mdx @@ -1,6 +1,6 @@ # How to use Alto in CI/CD testing -To effectively integrate Alto, a performant and type-safe ERC-4337 bundler developed by Pimlico, into your CI/CD testing pipeline, we recommend utilizing Prool, a library that provides programmatic HTTP testing instances for Ethereum.rool facilitates the creation of isolated Ethereum environments, enabling efficient testing of smart contracts and related components. +To effectively integrate Alto, a performant and type-safe ERC-4337 bundler developed by Pimlico, into your CI/CD testing pipeline, we recommend utilizing Prool, a library that provides programmatic HTTP testing instances for Ethereum. Prool facilitates the creation of isolated Ethereum environments, enabling efficient testing of smart contracts and related components. **Installation Steps:** :::::steps @@ -83,4 +83,4 @@ Prool offers pre-configured instances, including Anvil, which can be used to sim ``` ::::: -By following these steps, you can effectively incorporate Alto into your CI/CD testing pipeline using Prool, ensuring a robust and efficient testing environment for your Ethereum applications. \ No newline at end of file +By following these steps, you can effectively incorporate Alto into your CI/CD testing pipeline using Prool, ensuring a robust and efficient testing environment for your Ethereum applications. diff --git a/docs/pages/references/bundler/usage.mdx b/docs/pages/references/bundler/usage.mdx index d5932a1c..07c71071 100644 --- a/docs/pages/references/bundler/usage.mdx +++ b/docs/pages/references/bundler/usage.mdx @@ -1,11 +1,11 @@ # How to use the bundler +ERC-4337 bundlers are relayers that bundle user operations into transactions and submit them to the blockchain. You can interact with bundlers using standard JSON-RPC requests. + :::tip[Tip] We recommend using [permissionless.js](/references/permissionless/reference/smart-account-actions/sendUserOperation) as the SDK to interact with the bundler as it provides type-safe wrappers for all bundler methods. ::: -ERC-4337 bundlers are relayers that bundle user operations into transactions and submit them to the blockchain. You can interact with bundlers using standard JSON-RPC requests. - To get access to the bundler, you need to use your Pimlico API key. [Create one here](/guides/create-api-key) if you don't have one. Using the API key, you can make the following JSON-RPC requests to the bundler: - [eth_sendUserOperation](/references/bundler/endpoints/eth_sendUserOperation) diff --git a/docs/pages/references/paymaster/erc20-paymaster/architecture.mdx b/docs/pages/references/paymaster/erc20-paymaster/architecture.mdx index c77f8cf9..8c7cc1a7 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/architecture.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/architecture.mdx @@ -1,5 +1,7 @@ # ERC-20 Paymaster Architecture +This page explains the design of Pimlico's ERC-20 Paymaster — an ERC-4337 paymaster that pays user gas fees in exchange for ERC-20 tokens drawn from the user — including the off-chain pricing API and the formula used to estimate the token cost of a user operation. + :::info You can view the whole ERC-20 Paymaster contract [in our repository](https://github.com/pimlicolabs). diff --git a/docs/pages/references/paymaster/erc20-paymaster/faqs.mdx b/docs/pages/references/paymaster/erc20-paymaster/faqs.mdx index f7ab208f..5893475d 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/faqs.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/faqs.mdx @@ -1,5 +1,7 @@ # ERC-20 Paymaster FAQs +Answers to common questions about Pimlico's ERC-20 Paymaster — what a paymaster is, how the ERC-20 variant works, which tokens and chains are supported, and how fees are charged. + ## What is a paymaster? A Paymaster is a special smart contract under the [ERC-4337](https://eips.ethereum.org/EIPS/eip-4337) specification that user operations are able to delegate the responsibility of gas fee payments to. This means that ERC-4337 smart contract wallets no longer need to necessarily be responsible for directly paying gas fees in ETH. The paymaster contracts are able to use custom logic (with certain limitations) to decide whether or not they are willing to sponsor a user operation. diff --git a/docs/pages/references/paymaster/erc20-paymaster/index.mdx b/docs/pages/references/paymaster/erc20-paymaster/index.mdx index 68239e44..06ddea24 100644 --- a/docs/pages/references/paymaster/erc20-paymaster/index.mdx +++ b/docs/pages/references/paymaster/erc20-paymaster/index.mdx @@ -1,9 +1,9 @@ # ERC-20 Paymaster -![Landscape](/erc20paymaster.png) - Pimlico's ERC-20 Paymaster is a ERC-4337 paymaster that is able to pay for the gas fees of your users in exchange for ERC-20 tokens. +![Landscape](/erc20paymaster.png) + ## Tutorials Learning-oriented lessons that take you through a series of steps to complete a project. Most useful when you want to get started with Pimlico. They all involve the Alto Bundler. diff --git a/docs/pages/references/paymaster/index.mdx b/docs/pages/references/paymaster/index.mdx index 6eec267b..5e93c619 100644 --- a/docs/pages/references/paymaster/index.mdx +++ b/docs/pages/references/paymaster/index.mdx @@ -1,6 +1,6 @@ # Pimlico Paymasters -Pimlico providers two different types of paymasters to allow you to abstract away the gas fees for your users. +Pimlico provides two different types of paymasters to allow you to abstract away the gas fees for your users. ## Verifying Paymaster @@ -8,4 +8,4 @@ Our Verifying Paymaster allows you to load up your off-chain Pimlico balance thr ## ERC-20 Paymaster -Our ERC-20 Paymaster is a permissionless on-chain smart contract that lets your users pay for their own gas fees using their ERC-20 tokens. \ No newline at end of file +Our ERC-20 Paymaster is a permissionless on-chain smart contract that lets your users pay for their own gas fees using their ERC-20 tokens. diff --git a/docs/pages/references/paymaster/verifying-paymaster/common-errors.mdx b/docs/pages/references/paymaster/verifying-paymaster/common-errors.mdx index 70a5713d..ae035f92 100644 --- a/docs/pages/references/paymaster/verifying-paymaster/common-errors.mdx +++ b/docs/pages/references/paymaster/verifying-paymaster/common-errors.mdx @@ -1,5 +1,7 @@ # Verifying Paymaster Common Errors +Reference for the most common errors returned by Pimlico's Verifying Paymaster — insufficient balance, missing or invalid API keys, unsupported chains, and rejected sponsorship policies — and how to resolve each one. + `Insufficient Pimlico balance for sponsorship, please top up` This error means that you do not have enough Pimlico balance to sponsor the User Operation. Testnet User Operations are free to sponsor, but if you are trying to sponsor User Operations on a mainnet chain, [reach out to us](https://t.me/kristofgazso) to top up your balance. diff --git a/docs/pages/references/paymaster/verifying-paymaster/faqs.mdx b/docs/pages/references/paymaster/verifying-paymaster/faqs.mdx index 1ab692d3..a19da7b4 100644 --- a/docs/pages/references/paymaster/verifying-paymaster/faqs.mdx +++ b/docs/pages/references/paymaster/verifying-paymaster/faqs.mdx @@ -1,4 +1,6 @@ -# Paymaster FAQs [Frequently Asked Questions about Pimlico's Verifying Paymaster] +# Paymaster FAQs + +Frequently asked questions about Pimlico's Verifying Paymaster — including the difference between the ERC-7677 and Pimlico-specific endpoints, gas estimation behavior, and common integration questions. ## What's the difference between `pm_getPaymasterData` and `pm_sponsorUserOperation`? `pm_getPaymasterData` is part of the [ERC-7677 spec](https://www.erc7677.xyz/introduction) which standardizes the way to request sponsorship for a given userOperation. `pm_getPaymasterData` doesn't do any gas estimations and only returns back the relevant userOperation fields for sponsorship. diff --git a/docs/pages/references/paymaster/verifying-paymaster/usage.mdx b/docs/pages/references/paymaster/verifying-paymaster/usage.mdx index 15e90cbc..53f1c8b9 100644 --- a/docs/pages/references/paymaster/verifying-paymaster/usage.mdx +++ b/docs/pages/references/paymaster/verifying-paymaster/usage.mdx @@ -1,13 +1,13 @@ # How to use the Verifying Paymaster +Paymasters are entities that user operations can delegate the responsibilities for gas fee payments for. You can interact with paymasters using JSON-RPC requests. + :::tip[Tip] We recommend using [permissionless.js](/references/permissionless/reference/smart-account-actions/sendUserOperation) as the SDK to interact with the Verifying Paymaster as it provides type-safe wrappers for paymaster methods. ::: -Paymasters are entities that user operations can delegate the responsibilities for gas fee payments for. You can interact with paymasters using JSON-RPC requests. - To get access to the paymaster, you need to [create a Pimlico API key](/guides/create-api-key) and sign up to the [Pimlico dashboard](https://dashboard.pimlico.io). Next, load up some balance to your Pimlico account in the [payment methods page](https://dashboard.pimlico.io/payment) or add your card. Then, using the API key, you can make the following JSON-RPC requests to the paymaster: - [pm_sponsorUserOperation](/references/paymaster/verifying-paymaster/endpoints/pm_sponsorUserOperation) -If you would like an end-to-end example of how to use the Verifying Paymaster, please refer to [tutorial 1](/references/permissionless/tutorial/tutorial-1) of the permissionless.js documentation. \ No newline at end of file +If you would like an end-to-end example of how to use the Verifying Paymaster, please refer to [tutorial 1](/references/permissionless/tutorial/tutorial-1) of the permissionless.js documentation. diff --git a/docs/pages/references/permissionless/faqs.mdx b/docs/pages/references/permissionless/faqs.mdx index e03fc6b6..7bc804e7 100644 --- a/docs/pages/references/permissionless/faqs.mdx +++ b/docs/pages/references/permissionless/faqs.mdx @@ -1,5 +1,7 @@ # permissionless.js FAQs +Answers to common questions encountered when building with permissionless.js, covering inclusion-time tuning on chains like Base, Safe account salt nonces, signer integrations, and other recurring developer issues. + ## How to decrease inclusion time on Base using flashblocks? Just decrease your bundler's polling interval like so: diff --git a/docs/pages/references/permissionless/how-to/accounts/comparison.mdx b/docs/pages/references/permissionless/how-to/accounts/comparison.mdx index 88de8172..ec0d5d86 100644 --- a/docs/pages/references/permissionless/how-to/accounts/comparison.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/comparison.mdx @@ -1,6 +1,6 @@ # Difference between various Smart Account types in permissionless.js -permissionless.js supports 8 types of accounts. Below is an overview of each account type and their key features: +permissionless.js supports 8 ERC-4337 smart account implementations — Safe, Kernel, Nexus, Simple Smart Account, LightAccount, TrustWallet, Etherspot, and Thirdweb. This page compares each one by its key features so you can pick the right account for your application. 1. **Safe** 2. **Kernel** diff --git a/docs/pages/references/permissionless/how-to/accounts/use-coinbase-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-coinbase-account.mdx index cc75dae6..a355809c 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-coinbase-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-coinbase-account.mdx @@ -1,8 +1,7 @@ # How to create and use a Coinbase smart account with permissionless.js +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). :::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). \ No newline at end of file diff --git a/docs/pages/references/permissionless/how-to/accounts/use-kernel-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-kernel-account.mdx index 4292ee2b..494da5c5 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-kernel-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-kernel-account.mdx @@ -1,11 +1,11 @@ # How to create and use a Kernel account with permissionless.js +[Kernel](https://github.com/zerodevapp/kernel) is a **modular smart account** that supports plugins, which are smart contracts that extend the account's functionalities. You can use Kernel with popular plugins such as session keys and account recovery, and even write your own plugins. Kernel is compatible with [ERC-7579](https://erc7579.com/). + :::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. ::: -[Kernel](https://github.com/zerodevapp/kernel) is a **modular smart account** that supports plugins, which are smart contracts that extend the account's functionalities. You can use Kernel with popular plugins such as session keys and account recovery, and even write your own plugins. Kernel is compatible with [ERC-7579](https://erc7579.com/). - ## Picking an EntryPoint Kernel is compatible with EntryPoint versions v0.6 and v0.7. diff --git a/docs/pages/references/permissionless/how-to/accounts/use-thirdweb-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-thirdweb-account.mdx index 0fbcd838..9222445e 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-thirdweb-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-thirdweb-account.mdx @@ -1,5 +1,7 @@ # How to create and use a Thirdweb account with permissionless.js +[Thirdweb](https://thirdweb.com) provides a managed smart account implementation that integrates with their developer platform. This guide walks through creating a Thirdweb smart account with permissionless.js and sending user operations through a bundler and optional paymaster. + ## Picking an EntryPoint Thirdweb is compatible with EntryPoint versions v0.6 and v0.7. In this guide, we will use EntryPoint v0.7. diff --git a/docs/pages/references/permissionless/how-to/accounts/use-trustwallet-account.mdx b/docs/pages/references/permissionless/how-to/accounts/use-trustwallet-account.mdx index 3781b3d1..0a3333b8 100644 --- a/docs/pages/references/permissionless/how-to/accounts/use-trustwallet-account.mdx +++ b/docs/pages/references/permissionless/how-to/accounts/use-trustwallet-account.mdx @@ -1,14 +1,14 @@ # How to create and use a Trust smart account with permissionless.js +Trust Wallet is one of the most trusted wallet provider empowering more than 122 million users and is the first Web3 wallet to be [certified by ISO](https://trustwallet.com/security). +After thorough development and extensive security audits, Trust Wallet launched the [Smart Wallet](https://trustwallet.com/swift) powered by account abstraction. + :::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. This is a service that TrustWallet provides to builders to build innovative products on top of a secure foundation. Monitoring will automatically start as soon as the Barz account is deployed on-chain; for projects wanting to get security monitoring information, reach out to the smart wallet channel in [TrustWallet Discord](https://discord.gg/trustwallet). ::: -Trust Wallet is one of the most trusted wallet provider empowering more than 122 million users and is the first Web3 wallet to be [certified by ISO](https://trustwallet.com/security). -After thorough development and extensive security audits, Trust Wallet launched the [Smart Wallet](https://trustwallet.com/swift) powered by account abstraction. - With the recent opensource of their Smart Wallet system Barz, their smart account solution, together with their security infrastructure is disclosed for public to support builders build products on a secure foundation. This guide will walk you through how to create and use a Barz account with permissionless.js diff --git a/docs/pages/references/permissionless/how-to/migration-guide.mdx b/docs/pages/references/permissionless/how-to/migration-guide.mdx index 6a40605c..f7909cbf 100644 --- a/docs/pages/references/permissionless/how-to/migration-guide.mdx +++ b/docs/pages/references/permissionless/how-to/migration-guide.mdx @@ -1,5 +1,7 @@ # Migration Guide +This guide walks through the breaking changes and steps required to upgrade permissionless.js between major versions, starting with the migration from `^0.1.0` to `0.2.0`. + ## 0.2.0 :::warning diff --git a/docs/pages/references/permissionless/how-to/parallel-transactions.mdx b/docs/pages/references/permissionless/how-to/parallel-transactions.mdx index d711278e..8ceffcba 100644 --- a/docs/pages/references/permissionless/how-to/parallel-transactions.mdx +++ b/docs/pages/references/permissionless/how-to/parallel-transactions.mdx @@ -1,6 +1,6 @@ # How to send multiple user operations in parallel -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. +permissionless.js library lets you 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. ## Batching Multiple Calls diff --git a/docs/pages/references/permissionless/how-to/paymasters/conditional-sponsoring.mdx b/docs/pages/references/permissionless/how-to/paymasters/conditional-sponsoring.mdx index af7b1422..4d19ee2c 100644 --- a/docs/pages/references/permissionless/how-to/paymasters/conditional-sponsoring.mdx +++ b/docs/pages/references/permissionless/how-to/paymasters/conditional-sponsoring.mdx @@ -1,11 +1,6 @@ # How to conditionally sponsor a user operation -The permissionless.js library allows you to conditionally sponsor a user operation. This can be useful in situations like: - -- Sponsor only first 10 transactions -- Sponsor if they have a specific NFT - -The use cases can be many, but the general idea is to use the `middleware.sponsorUserOperation` parameter to conditionally sponsor a user operation. +permissionless.js lets you conditionally sponsor a user operation — useful when you want to cap free sponsorship to the first N transactions per user, gate it behind ownership of a specific NFT, or apply any other custom rule. The general approach is to use the `middleware.sponsorUserOperation` parameter to decide per-operation whether to attach the paymaster. Let's take an example where you want to sponsor only the first 10 transactions. diff --git a/docs/pages/references/permissionless/how-to/testing/docker.mdx b/docs/pages/references/permissionless/how-to/testing/docker.mdx index f2eaa3a8..1238943d 100644 --- a/docs/pages/references/permissionless/how-to/testing/docker.mdx +++ b/docs/pages/references/permissionless/how-to/testing/docker.mdx @@ -1,11 +1,6 @@ # Local Testing With Docker -This guide introduces a ready-to-use mock test environment, that contains: - -- A local Alto bundler -- A mock verifying paymaster -- An Anvil node -- ERC-4337 related contracts, including the EntryPoint and account factories for all major smart account implementations. +This guide walks you through a ready-to-use Docker-based mock ERC-4337 test environment that bundles a local Alto bundler, a mock verifying paymaster, an Anvil node, and all ERC-4337 related contracts — the EntryPoint and account factories for every major smart account implementation. The test environment is orchestrated using **docker compose**. Where the docker containers are pulled from [this repo](https://github.com/pimlicolabs/mock-aa-environment). diff --git a/docs/pages/references/permissionless/index.mdx b/docs/pages/references/permissionless/index.mdx index 81a63798..7f9dfc95 100644 --- a/docs/pages/references/permissionless/index.mdx +++ b/docs/pages/references/permissionless/index.mdx @@ -22,7 +22,9 @@ import { HomePage } from 'vocs/components'
-# Overview +permissionless.js is a TypeScript library built on top of viem for interacting with ERC-4337 bundlers, paymasters, and smart accounts. The library is provider-agnostic, has zero runtime dependencies, and provides high-level support for major smart account implementations including Safe, Kernel, Biconomy, SimpleAccount, TrustWallet, and LightAccount. + +## Overview ```ts twoslash const pimlicoApiKey = "YOUR_API_KEY_HERE" @@ -53,7 +55,7 @@ opReceipt!.actualGasUsed ``` -# Features +## Features - **High-level smart account support**: We support a high-level API for deploying and managing smart accounts, including some of the most popular implementations ([Safe](https://safe.global), [Kernel](https://zerodev.app), [Biconomy](https://biconomy.io), [TrustWallet](https://trustwallet.com/swift), etc.) - **Bundler support**: We support all bundler actions following [ERC-4337](https://eips.ethereum.org/EIPS/eip-4337#rpc-methods-eth-namespace). @@ -63,7 +65,7 @@ opReceipt!.actualGasUsed - **Built on & for viem**: permissionless.js is designed to be a thin wrapper around viem, maintaining the same style and overall feel viem provides. - and a lot more... -# Source Code +## Source Code The source code for permissionless.js is available on [GitHub](https://github.com/pimlicolabs/permissionless.js) diff --git a/docs/pages/references/permissionless/reference/erc7579-actions/accountId.mdx b/docs/pages/references/permissionless/reference/erc7579-actions/accountId.mdx index f37928f7..afdfeb44 100644 --- a/docs/pages/references/permissionless/reference/erc7579-actions/accountId.mdx +++ b/docs/pages/references/permissionless/reference/erc7579-actions/accountId.mdx @@ -1,6 +1,6 @@ # accountId -Gets the accountId of the smart account as defined in [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579). Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. +Returns the account ID of the smart account as defined in [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) — a string that identifies which ERC-7579 implementation the account follows so modules can be installed against the correct interface. ## Usage diff --git a/docs/pages/references/permissionless/reference/erc7579-actions/installModule.mdx b/docs/pages/references/permissionless/reference/erc7579-actions/installModule.mdx index 18b64729..6639f144 100644 --- a/docs/pages/references/permissionless/reference/erc7579-actions/installModule.mdx +++ b/docs/pages/references/permissionless/reference/erc7579-actions/installModule.mdx @@ -1,6 +1,6 @@ # installModule -Installs a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module to the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. +Installs an [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module on the smart account by sending a user operation that calls the account's `installModule` function — used to add validators, executors, hooks, or fallback handlers to an ERC-7579-compatible account. ## Usage diff --git a/docs/pages/references/permissionless/reference/erc7579-actions/isModuleInstalled.mdx b/docs/pages/references/permissionless/reference/erc7579-actions/isModuleInstalled.mdx index 5f8a2cc3..45e1306f 100644 --- a/docs/pages/references/permissionless/reference/erc7579-actions/isModuleInstalled.mdx +++ b/docs/pages/references/permissionless/reference/erc7579-actions/isModuleInstalled.mdx @@ -1,6 +1,6 @@ # isModuleInstalled -Checks if an [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module is installed on the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. +Returns `true` if the specified [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module is currently installed on the smart account — useful for gating UI flows or skipping a redundant `installModule` call. ## Usage diff --git a/docs/pages/references/permissionless/reference/erc7579-actions/supportsExecutionMode.mdx b/docs/pages/references/permissionless/reference/erc7579-actions/supportsExecutionMode.mdx index df344f65..6f48b288 100644 --- a/docs/pages/references/permissionless/reference/erc7579-actions/supportsExecutionMode.mdx +++ b/docs/pages/references/permissionless/reference/erc7579-actions/supportsExecutionMode.mdx @@ -1,6 +1,6 @@ # supportsExecutionMode -Checks if a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) execution mode is supported on the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. +Returns `true` if the smart account supports a given [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) execution mode (single, batch, delegate-call, etc.). Not every implementation supports every mode, so check before issuing a call that depends on one. :::info According to the specification, not all execution modes must be supported. So it is recommended to use this function to check if the execution mode is supported before using it. diff --git a/docs/pages/references/permissionless/reference/erc7579-actions/supportsModule.mdx b/docs/pages/references/permissionless/reference/erc7579-actions/supportsModule.mdx index 13da8770..2c3bbd84 100644 --- a/docs/pages/references/permissionless/reference/erc7579-actions/supportsModule.mdx +++ b/docs/pages/references/permissionless/reference/erc7579-actions/supportsModule.mdx @@ -1,6 +1,6 @@ # supportsModule -Checks if a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module type is supported by the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. +Returns `true` if the smart account supports a given [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module type (validator, executor, hook, or fallback) — check this before attempting to install a module of that type. ## Usage diff --git a/docs/pages/references/permissionless/reference/erc7579-actions/uninstallModule.mdx b/docs/pages/references/permissionless/reference/erc7579-actions/uninstallModule.mdx index 04c48d8b..cf5c8227 100644 --- a/docs/pages/references/permissionless/reference/erc7579-actions/uninstallModule.mdx +++ b/docs/pages/references/permissionless/reference/erc7579-actions/uninstallModule.mdx @@ -1,6 +1,6 @@ # uninstallModule -Uninstalls a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module from the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. +Uninstalls an [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module from the smart account by sending a user operation that calls the account's `uninstallModule` function — used to remove validators, executors, hooks, or fallback handlers previously installed on the account. ## Usage diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/estimateUserOperationGas.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/estimateUserOperationGas.mdx index 5f26a32b..1cd4fe72 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/estimateUserOperationGas.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/estimateUserOperationGas.mdx @@ -1,5 +1,3 @@ # estimateUserOperationGas -`SmartAccountClient` extends viem's `BundlerClient` and so extends the `estimateUserOperationGas` method. - -You can view the full list of options for `estimateUserOperationGas` [in viem's documentation](https://viem.sh/account-abstraction/actions/bundler/estimateUserOperationGas). +Estimates the `preVerificationGas`, `verificationGasLimit`, and `callGasLimit` needed to validate and execute a user operation against the current chain state. `SmartAccountClient` wraps viem's `BundlerClient.estimateUserOperationGas`, so the [full list of options is documented in viem](https://viem.sh/account-abstraction/actions/bundler/estimateUserOperationGas). diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/getChainId.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/getChainId.mdx index 70592931..ab23446a 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/getChainId.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/getChainId.mdx @@ -1,5 +1,3 @@ # getChainId -`SmartAccountClient` extends viem's `BundlerClient` and so extends the `getChainId` method. - -You can view the full list of options for `getChainId` [in viem's documentation](https://viem.sh/account-abstraction/actions/bundler/getChainId). +Returns the chain ID reported by the connected bundler — useful for confirming the bundler is on the expected network. `SmartAccountClient` wraps viem's `BundlerClient.getChainId`, so the [full list of options is documented in viem](https://viem.sh/account-abstraction/actions/bundler/getChainId). diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/getSupportedEntryPoints.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/getSupportedEntryPoints.mdx index ea2af042..c204d0f2 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/getSupportedEntryPoints.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/getSupportedEntryPoints.mdx @@ -1,5 +1,3 @@ # getSupportedEntryPoints -`SmartAccountClient` extends viem's `BundlerClient` and so extends the `getSupportedEntryPoints` method. - -You can view the full list of options for `getSupportedEntryPoints` [in viem's documentation](https://viem.sh/account-abstraction/actions/bundler/getSupportedEntryPoints). +Returns the list of ERC-4337 EntryPoint contract addresses supported by the connected bundler. `SmartAccountClient` wraps viem's `BundlerClient.getSupportedEntryPoints`, so the [full list of options is documented in viem](https://viem.sh/account-abstraction/actions/bundler/getSupportedEntryPoints). diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperation.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperation.mdx index 454472d5..817aeb17 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperation.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperation.mdx @@ -1,5 +1,3 @@ # getUserOperation -`SmartAccountClient` extends viem's `BundlerClient` and so extends the `getUserOperation` method. - -You can view the full list of options for `getUserOperation` [in viem's documentation](https://viem.sh/account-abstraction/actions/bundler/getUserOperation). +Returns the user operation and its bundler-side state for a given user operation hash — including the EntryPoint it was submitted to and the transaction hash if it has already been included on-chain. `SmartAccountClient` wraps viem's `BundlerClient.getUserOperation`, so the [full list of options is documented in viem](https://viem.sh/account-abstraction/actions/bundler/getUserOperation). diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperationReceipt.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperationReceipt.mdx index 831e680b..8cb02d48 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperationReceipt.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/getUserOperationReceipt.mdx @@ -1,5 +1,3 @@ # getUserOperationReceipt -`SmartAccountClient` extends viem's `BundlerClient` and so extends the `getUserOperationReceipt` method. - -You can view the full list of options for `getUserOperationReceipt` [in viem's documentation](https://viem.sh/account-abstraction/actions/bundler/getUserOperationReceipt). +Returns the on-chain receipt for a user operation after the bundler has included it in a transaction — covering success status, actual gas used, the paymaster used, and the wrapping transaction receipt. `SmartAccountClient` wraps viem's `BundlerClient.getUserOperationReceipt`, so the [full list of options is documented in viem](https://viem.sh/account-abstraction/actions/bundler/getUserOperationReceipt). diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/prepareUserOperation.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/prepareUserOperation.mdx index 04d8e32a..5b164a09 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/prepareUserOperation.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/prepareUserOperation.mdx @@ -1,5 +1,3 @@ # prepareUserOperation -`SmartAccountClient` extends viem's `BundlerClient` and so extends the `prepareUserOperation` method. - -You can view the full list of options for `prepareUserOperation` [in viem's documentation](https://viem.sh/account-abstraction/actions/bundler/prepareUserOperation). +Builds an unsigned user operation by filling in fees, nonce, gas limits, paymaster data, and any other missing fields — ready to be signed and submitted. `SmartAccountClient` wraps viem's `BundlerClient.prepareUserOperation` and applies the smart account's defaults; the [full list of options is documented in viem](https://viem.sh/account-abstraction/actions/bundler/prepareUserOperation). diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/sendUserOperation.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/sendUserOperation.mdx index a59729cf..5360c135 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/sendUserOperation.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/sendUserOperation.mdx @@ -1,5 +1,3 @@ # sendUserOperation -`SmartAccountClient` extends viem's `BundlerClient` and so extends the `sendUserOperation` method. - -You can view the full list of options for `sendUserOperation` [in viem's documentation](https://viem.sh/account-abstraction/actions/bundler/sendUserOperation). +Signs a user operation with the connected smart account and submits it to the bundler, returning the user operation hash you can use to track inclusion. `SmartAccountClient` wraps viem's `BundlerClient.sendUserOperation`, so the [full list of options is documented in viem](https://viem.sh/account-abstraction/actions/bundler/sendUserOperation). diff --git a/docs/pages/references/permissionless/reference/smart-account-actions/waitForUserOperationReceipt.mdx b/docs/pages/references/permissionless/reference/smart-account-actions/waitForUserOperationReceipt.mdx index b3ddfa7f..76c03bac 100644 --- a/docs/pages/references/permissionless/reference/smart-account-actions/waitForUserOperationReceipt.mdx +++ b/docs/pages/references/permissionless/reference/smart-account-actions/waitForUserOperationReceipt.mdx @@ -1,5 +1,3 @@ # waitForUserOperationReceipt -`SmartAccountClient` extends viem's `BundlerClient` and so extends the `waitForUserOperationReceipt` method. - -You can view the full list of options for `waitForUserOperationReceipt` [in viem's documentation](https://viem.sh/account-abstraction/actions/bundler/waitForUserOperationReceipt). +Polls the bundler until the user operation with the given hash is included on-chain and returns its receipt. `SmartAccountClient` wraps viem's `BundlerClient.waitForUserOperationReceipt`, so the [full list of options is documented in viem](https://viem.sh/account-abstraction/actions/bundler/waitForUserOperationReceipt). diff --git a/docs/pages/references/permissionless/tutorial/tutorial-2.mdx b/docs/pages/references/permissionless/tutorial/tutorial-2.mdx index 016a2d45..93e90531 100644 --- a/docs/pages/references/permissionless/tutorial/tutorial-2.mdx +++ b/docs/pages/references/permissionless/tutorial/tutorial-2.mdx @@ -1,11 +1,11 @@ # Tutorial 2 — Submit a user operation with an ERC-20 Paymaster +In this tutorial, you will deploy an ERC-4337 smart contract wallet on Base Sepolia, and submit a user operation that pays for its gas fees with USDC using an ERC-20 Paymaster. + :::info You can visit our [ERC-20 Paymaster overview page](/references/paymaster/erc20-paymaster) to learn more about the design and architecture of our ERC-20 Paymaster, and the deployed smart contract addresses. ::: -In this tutorial, you will deploy an ERC-4337 smart contract wallet on Base Sepolia, and submit a user operation that pays for its gas fees with USDC using an ERC-20 Paymaster. - ## Steps ::::steps diff --git a/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterData.mdx b/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterData.mdx index 5e3c1cb5..5e6ba7b6 100644 --- a/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterData.mdx +++ b/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterData.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # getPaymasterData -Return values to be used in paymaster-related fields of a signed user operation. This method calls `pm_getPaymasterData` and is part of the experimental [ERC-7677 specification](https://github.com/ethereum/ERCs/pull/360/files). +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Return values to be used in paymaster-related fields of a signed user operation. This method calls `pm_getPaymasterData` and is part of the experimental [ERC-7677 specification](https://github.com/ethereum/ERCs/pull/360/files). ## Usage diff --git a/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterStubData.mdx b/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterStubData.mdx index fb0944cb..35631a0b 100644 --- a/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterStubData.mdx +++ b/docs/pages/references/permissionless/v0_1/experimental/eip7677/getPaymasterStubData.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # getPaymasterStubData -Returns stub values to be used in paymaster-related fields of an unsigned user operation for gas estimation. This method calls `pm_getPaymasterStubData` and is part of the experimental [ERC-7677 specification](https://github.com/ethereum/ERCs/pull/360/files). +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Returns stub values to be used in paymaster-related fields of an unsigned user operation for gas estimation. This method calls `pm_getPaymasterStubData` and is part of the experimental [ERC-7677 specification](https://github.com/ethereum/ERCs/pull/360/files). ## Usage diff --git a/docs/pages/references/permissionless/v0_1/faqs.mdx b/docs/pages/references/permissionless/v0_1/faqs.mdx index 36709584..af9690db 100644 --- a/docs/pages/references/permissionless/v0_1/faqs.mdx +++ b/docs/pages/references/permissionless/v0_1/faqs.mdx @@ -4,6 +4,8 @@ import VersionWarning from "../VersionWarning" # permissionless.js FAQs +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Answers to common questions and troubleshooting tips for issues you may run into with permissionless.js v0.1, covering bundler timeouts, gas estimation errors, and other runtime problems. + ## Getting `WaitForUserOperationReceiptTimeoutError`? This error is thrown when the bundler takes too long to bundle your user operation or the default timeout configured in permissionless.js is not enough. @@ -39,4 +41,4 @@ const userOp = await smartAccountClient.prepareUserOperationRequest({ preVerificationGas: 100_000n, }, }) -``` \ No newline at end of file +``` diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/support.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/support.mdx index 9b716006..de5f9adc 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/support.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/support.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # Account Support -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. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ 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. | Account | EntryPoint v0.7 | EntryPoint v0.6 | | :------ | :------ | :------ | diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-biconomy-account.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-biconomy-account.mdx index 9a60c7a7..1a5dc015 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-biconomy-account.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-biconomy-account.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # How to create and use a Biconomy account with permissionless.js -[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. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ [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. ## Steps @@ -72,4 +72,4 @@ You can also send an array of transactions in a single batch. // [!include ~/snippets/v0_1/accounts/biconomy.ts:submitBatch] ``` -:::: \ No newline at end of file +:::: diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-erc7579-account.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-erc7579-account.mdx index 2dc534c6..450e79f4 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-erc7579-account.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-erc7579-account.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # How to use an ERC-7579 compatible smart account with permissionless.js -[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. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ [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. Currently Safe and Kernel are the only smart accounts that implements ERC-7579. diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-kernel-account.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-kernel-account.mdx index c799affe..3f31edf9 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-kernel-account.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-kernel-account.mdx @@ -4,12 +4,12 @@ import VersionWarning from "../../../VersionWarning" # How to create and use a Kernel account with permissionless.js +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ [Kernel](https://github.com/zerodevapp/kernel) is a **modular smart account** that supports plugins, which are smart contracts that extend the account's functionalities. You can use Kernel with popular plugins such as session keys and account recovery, and even write your own plugins. Kernel is compatible with [ERC-7579](https://erc7579.com/). + :::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. ::: -[Kernel](https://github.com/zerodevapp/kernel) is a **modular smart account** that supports plugins, which are smart contracts that extend the account's functionalities. You can use Kernel with popular plugins such as session keys and account recovery, and even write your own plugins. Kernel is compatible with [ERC-7579](https://erc7579.com/). - ## Picking an EntryPoint Kernel is compatible with EntryPoint versions v0.6 and v0.7. diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-light-account.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-light-account.mdx index fca31b0b..536b794b 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-light-account.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-light-account.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # How to create and use a LightAccount with permissionless.js -[LightAccount](https://github.com/alchemyplatform/light-account) is the smart account implementation made by Alchemy and inspired by SimpleAccount. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ [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. This guide will show you how to create and use a LightAccount with permissionless.js. diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-safe-account.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-safe-account.mdx index bf7162a8..d4a8f2a9 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-safe-account.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-safe-account.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # How to create and use a Safe account with permissionless.js -[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. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ [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. ## Steps diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-simple-account.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-simple-account.mdx index 9562cabf..ea961b38 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-simple-account.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-simple-account.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # How to create and use a SimpleAccount with permissionless.js -[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. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ [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. ## Steps diff --git a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-trustwallet-account.mdx b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-trustwallet-account.mdx index 305cd1fd..ee8a473d 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/accounts/use-trustwallet-account.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/accounts/use-trustwallet-account.mdx @@ -4,15 +4,15 @@ import VersionWarning from "../../../VersionWarning" # How to create and use a Trust smart account with permissionless.js +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Trust Wallet is one of the most trusted wallet provider empowering more than 122 million users and is the first Web3 wallet to be [certified by ISO](https://trustwallet.com/security). +After thorough development and extensive security audits, Trust Wallet launched the [Smart Wallet](https://trustwallet.com/swift) powered by account abstraction. + :::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. This is a service that TrustWallet provides to builders to build innovative products on top of a secure foundation. Monitoring will automatically start as soon as the Barz account is deployed on-chain; for projects wanting to get security monitoring information, reach out to the smart wallet channel in [TrustWallet Discord](https://discord.gg/trustwallet). ::: -Trust Wallet is one of the most trusted wallet provider empowering more than 122 million users and is the first Web3 wallet to be [certified by ISO](https://trustwallet.com/security). -After thorough development and extensive security audits, Trust Wallet launched the [Smart Wallet](https://trustwallet.com/swift) powered by account abstraction. - With the recent opensource of their Smart Wallet system Barz, their smart account solution, together with their security infrastructure is disclosed for public to support builders build products on a secure foundation. This guide will walk you through how to create and use a Barz account with permissionless.js diff --git a/docs/pages/references/permissionless/v0_1/how-to/dapp-gas-sponsorship.mdx b/docs/pages/references/permissionless/v0_1/how-to/dapp-gas-sponsorship.mdx index 4b1fa86b..34bc24e6 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/dapp-gas-sponsorship.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/dapp-gas-sponsorship.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../VersionWarning" # Update your existing app to sponsor gas fees for smart account users -If you are looking to sponsor gas fees for your users without embedding a wallet in your app, you can use this guide to update your existing app to sponsor gas fees for smart accounts. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ If you are looking to sponsor gas fees for your users without embedding a wallet in your app, you can use this guide to update your existing app to sponsor gas fees for smart accounts. ## Steps @@ -18,4 +18,4 @@ Follow the deployment guide on the [ERC-7677 Proxy Server](https://github.com/pi Follow Step 3 on the [erc7677.xyz guide](https://www.erc7677.xyz/guides/sponsoring-transactions#3-send-eip-5792-requests-with-a-paymaster-service-capability) to update your app to support ERC-5792 requests and enable the paymaster service capability feature, using the public URL you created for the ERC-7677 proxy in the previous step. -:::: \ No newline at end of file +:::: diff --git a/docs/pages/references/permissionless/v0_1/how-to/error-handling.mdx b/docs/pages/references/permissionless/v0_1/how-to/error-handling.mdx index a58fd789..682d5818 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/error-handling.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/error-handling.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../VersionWarning" # Error Handling -Similarly to how [error handling in viem works](https://viem.sh/docs/error-handling), every module in permissionless.js exports an accompanying error type which you can use to strongly type your `catch` statements. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Similarly to how [error handling in viem works](https://viem.sh/docs/error-handling), every module in permissionless.js exports an accompanying error type which you can use to strongly type your `catch` statements. These types come in the form of `ErrorType`. For example, the `estimateUserOperationGas` action exports a `EstimateUserOperationGasErrorType` type. @@ -68,4 +68,4 @@ export const bundlerClient = createBundlerClient({ }) ``` -::: \ No newline at end of file +::: diff --git a/docs/pages/references/permissionless/v0_1/how-to/local-testing.mdx b/docs/pages/references/permissionless/v0_1/how-to/local-testing.mdx index 064f8436..d6ceaf75 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/local-testing.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/local-testing.mdx @@ -4,12 +4,7 @@ import VersionWarning from "../../VersionWarning" # Local Testing -This guide introduces a ready-to-use mock test environment, that contains: - -- A local Alto bundler -- A mock verifying paymaster -- An Anvil node -- ERC-4337 related contracts, including the EntryPoint and account factories for all major ERC-4337 account implementations. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ This guide walks you through a ready-to-use Docker-based mock ERC-4337 test environment that bundles a local Alto bundler, a mock verifying paymaster, an Anvil node, and all ERC-4337 related contracts — the EntryPoint and account factories for every major smart account implementation. The test environment is orchestrated using **docker compose**. Where the docker containers are pulled from [this repo](https://github.com/pimlicolabs/mock-aa-environment). diff --git a/docs/pages/references/permissionless/v0_1/how-to/migration-guide.mdx b/docs/pages/references/permissionless/v0_1/how-to/migration-guide.mdx index 787296de..8f5f7869 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/migration-guide.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/migration-guide.mdx @@ -4,6 +4,8 @@ import VersionWarning from "../../VersionWarning" # Migration Guide +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ This guide covers the breaking changes introduced in permissionless.js v0.1 and lists the code edits you need to make when upgrading from earlier versions. + ## 0.1.0 :::warning @@ -125,4 +127,4 @@ const userOperationHash = await bundlerClient.sendUserOperation({ userOperation: sponsoredUserOperation, entryPoint: ENTRYPOINT_ADDRESS_V07, // [!code --] }) -``` \ No newline at end of file +``` diff --git a/docs/pages/references/permissionless/v0_1/how-to/parallel-transactions.mdx b/docs/pages/references/permissionless/v0_1/how-to/parallel-transactions.mdx index 89a1feef..097e1e39 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/parallel-transactions.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/parallel-transactions.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../VersionWarning" # How to send multiple user operations in parallel -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. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ permissionless.js library lets you 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. ## Batching Multiple Calls diff --git a/docs/pages/references/permissionless/v0_1/how-to/paymasters/conditional-sponsoring.mdx b/docs/pages/references/permissionless/v0_1/how-to/paymasters/conditional-sponsoring.mdx index 1d95413d..8c8da90e 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/paymasters/conditional-sponsoring.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/paymasters/conditional-sponsoring.mdx @@ -4,12 +4,7 @@ import VersionWarning from "../../../VersionWarning" # How to conditionally sponsor a user operation -The permissionless.js library allows you to conditionally sponsor a user operation. This can be useful in situations like: - -- Sponsor only first 10 transactions -- Sponsor if they have a specific NFT - -The use cases can be many, but the general idea is to use the `middleware.sponsorUserOperation` parameter to conditionally sponsor a user operation. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ permissionless.js lets you conditionally sponsor a user operation — useful when you want to cap free sponsorship to the first N transactions per user, gate it behind ownership of a specific NFT, or apply any other custom rule. The general approach is to use the `middleware.sponsorUserOperation` parameter to decide per-operation whether to attach the paymaster. Let's take an example where you want to sponsor only the first 10 transactions. diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/dfns.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/dfns.mdx index f8647983..2598862e 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/dfns.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/dfns.mdx @@ -6,7 +6,7 @@ import SmartAccounts from "./smartAccounts.mdx" # How to use a DFNS signer with permissionless.js -[Dfns](https://www.dfns.co/) is an MPC/TSS Wallet-as-a-Service API/SDK provider. Dfns aims to optimize the balance of security and UX by deploying key shares into a decentralized network on the backend while enabling wallet access via biometric open standards on the frontend like Webauthn. Reach out [here](https://www.dfns.co/) to set up a sandbox environment to get started. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ [Dfns](https://www.dfns.co/) is an MPC/TSS Wallet-as-a-Service API/SDK provider. Dfns aims to optimize the balance of security and UX by deploying key shares into a decentralized network on the backend while enabling wallet access via biometric open standards on the frontend like Webauthn. Reach out [here](https://www.dfns.co/) to set up a sandbox environment to get started. ## Setup @@ -26,4 +26,4 @@ After following the Dfns documentation, you will have access to a `dfnsWallet` o ### Use with permissionless.js - \ No newline at end of file + diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/dynamic.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/dynamic.mdx index d8e291c4..169642bb 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/dynamic.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/dynamic.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # How to use a Dynamic signer with permissionless.js -permissionless.js allows you to plug in custom signers to control the accounts that you create. Dynamic is an embedded wallet provider that allows you to easily onboard users to your dapp. It is possible to use Dynamic as a signer with permissionless.js, allowing you to use Dynamic to create and control smart accounts and sign transactions. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ permissionless.js allows you to plug in custom signers to control the accounts that you create. Dynamic is an embedded wallet provider that allows you to easily onboard users to your dapp. It is possible to use Dynamic as a signer with permissionless.js, allowing you to use Dynamic to create and control smart accounts and sign transactions. ::::steps @@ -97,4 +97,4 @@ const txHash = await smartAccountClient.sendTransaction({ }) ``` -:::: \ No newline at end of file +:::: diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/fireblocks.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/fireblocks.mdx index 14a336a4..1e4071b7 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/fireblocks.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/fireblocks.mdx @@ -6,7 +6,7 @@ import SmartAccounts from "./smartAccounts.mdx" # How to use a Fireblocks signer with permissionless.js -[Fireblocks](https://www.fireblocks.com/) is a user-friendly platform designed for building blockchain-based products and managing digital asset operations. It uses a direct custody approach, combining high performance with zero counterparty risk and multi-layered security. The platform includes secure MPC-based digital asset wallets, a policy engine for governance and transaction rules, and comprehensive treasury management. Fireblocks' security framework features multiple layers, including MPC-CMP technology, secure enclaves, and a robust policy engine, ensuring protection against cyberattacks, internal threats, and human errors. It's widely used for various operations like treasury, trading, and managing NFTs, smart contracts, and user wallets. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ [Fireblocks](https://www.fireblocks.com/) is a user-friendly platform designed for building blockchain-based products and managing digital asset operations. It uses a direct custody approach, combining high performance with zero counterparty risk and multi-layered security. The platform includes secure MPC-based digital asset wallets, a policy engine for governance and transaction rules, and comprehensive treasury management. Fireblocks' security framework features multiple layers, including MPC-CMP technology, secure enclaves, and a robust policy engine, ensuring protection against cyberattacks, internal threats, and human errors. It's widely used for various operations like treasury, trading, and managing NFTs, smart contracts, and user wallets. ## Setup @@ -27,4 +27,4 @@ After following the Fireblocks documentation, you will have access to a `Fireblo ### Use with permissionless.js - \ No newline at end of file + diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/index.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/index.mdx index 4de65cc7..526fc226 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/index.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/index.mdx @@ -4,6 +4,6 @@ import VersionWarning from "../../../VersionWarning" # Signers for permissionless.js -Smart accounts are able to define custom authentication and authorization schemes, but still require signatures to validate user operations coming from signers. permissionless.js defines the `SmartAccountSigner` interface, which is a generic interface that signers for smart accounts can implement. While by default these signers have full control over the smart account, it's possible to define custom roles and permissions for signers, and mix-and-match them to create complex multi-signature schemes, as well as rotate signers and revoke their access. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Smart accounts are able to define custom authentication and authorization schemes, but still require signatures to validate user operations coming from signers. permissionless.js defines the `SmartAccountSigner` interface, which is a generic interface that signers for smart accounts can implement. While by default these signers have full control over the smart account, it's possible to define custom roles and permissions for signers, and mix-and-match them to create complex multi-signature schemes, as well as rotate signers and revoke their access. -In addition to pure EOA signers, permissionless.js supports a variety of third-party wallet services as signers for smart accounts. This allows you to leverage the UIs and infrastructure of these services, while still using smart accounts supported by permissionless.js. \ No newline at end of file +In addition to pure EOA signers, permissionless.js supports a variety of third-party wallet services as signers for smart accounts. This allows you to leverage the UIs and infrastructure of these services, while still using smart accounts supported by permissionless.js. diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/lit-protocol.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/lit-protocol.mdx index ffa97218..3577d10e 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/lit-protocol.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/lit-protocol.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # How to Integrate Pimlico with Lit Protocol OTP Authentication -This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. :::info Lit Protocol is an Authentication solution that lets you create and manage distributed cryptographic key-pairs for condition-based encryption and programmatic signing. A decentralized key management network, Lit can be used in place of centralized key custodians and other key management solutions. For more information on how Lit Protocol works, visit [their documentation page](https://developer.litprotocol.com/architecture). diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/magic.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/magic.mdx index a8025a45..5acf315e 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/magic.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/magic.mdx @@ -6,7 +6,7 @@ import SmartAccounts from "./smartAccounts.mdx" # How to use a Magic signer with permissionless.js -[Magic](https://magic.link/) is a popular embedded wallet provider that supports social logins. While social logins are great, your users still need to onramp in order to pay for gas, which introduces significant friction. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ [Magic](https://magic.link/) is a popular embedded wallet provider that supports social logins. While social logins are great, your users still need to onramp in order to pay for gas, which introduces significant friction. By combining permissionless.js with Magic, you can use Magic to enable a smooth social login experience, while using permissionless.js accounts as the smart wallets to sponsor gas for users, batch transactions, and more. @@ -30,4 +30,4 @@ After following the Magic documentation, you will have access to a `MagicBase` o ### Use with permissionless.js - \ No newline at end of file + diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/para.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/para.mdx index ae1bbe4a..81963ca3 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/para.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/para.mdx @@ -6,7 +6,7 @@ import SmartAccounts from "./smartAccounts.mdx" # How to use a Para signer with permissionless.js -[Para](https://www.getpara.com/) offers a signing solution enabling the creation of secure, embedded MPC wallets accessible via email or social login. These wallets, compatible across different applications, offer portability, recoverability, and programmability, eliminating the need for users to establish separate signers or contract accounts for each application. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ [Para](https://www.getpara.com/) offers a signing solution enabling the creation of secure, embedded MPC wallets accessible via email or social login. These wallets, compatible across different applications, offer portability, recoverability, and programmability, eliminating the need for users to establish separate signers or contract accounts for each application. ## Setup diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/particle-network.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/particle-network.mdx index 22ee6565..972bb7ce 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/particle-network.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/particle-network.mdx @@ -6,7 +6,7 @@ import SmartAccounts from "./smartAccounts.mdx" # How to use a Particle Network signer with permissionless.js -[Particle Network](https://particle.network/) is an intent-centric, modular wallet-as-a-service (WaaS). By utilizing MPC-TSS for key management, Particle can streamline onboarding via familiar Web2 methods such as Google, emails, and phone numbers. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ [Particle Network](https://particle.network/) is an intent-centric, modular wallet-as-a-service (WaaS). By utilizing MPC-TSS for key management, Particle can streamline onboarding via familiar Web2 methods such as Google, emails, and phone numbers. By combining permissionless.js with Particle, you can use Particle to enable a smooth social login experience, while using ZeroDev as the smart wallet to sponsor gas for users, batch transactions, and more. @@ -29,4 +29,4 @@ After following the Particle Network documentation, you will have access to a `P ### Use with permissionless.js - \ No newline at end of file + diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/privy.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/privy.mdx index 0e36fe3f..b36f5c86 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/privy.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/privy.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # How to use a Privy signer with permissionless.js -permissionless.js allows you to plug in custom signers to control the accounts that you create. Privy is an embedded wallet provider that allows you to easily onboard users to your dapp. It is possible to use Privy as a signer with permissionless.js, allowing you to use Privy to create and control smart accounts and sign transactions. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ permissionless.js allows you to plug in custom signers to control the accounts that you create. Privy is an embedded wallet provider that allows you to easily onboard users to your dapp. It is possible to use Privy as a signer with permissionless.js, allowing you to use Privy to create and control smart accounts and sign transactions. Additionally you may want to look at Privy's guide on working with permissionless.js [here](https://docs.privy.io/guide/react/recipes/account-abstraction/pimlico). diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/turnkey.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/turnkey.mdx index 791f85e3..3b1ca2a9 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/turnkey.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/turnkey.mdx @@ -6,7 +6,7 @@ import SmartAccounts from "./smartAccounts.mdx" # How to use a Turnkey signer with permissionless.js -[Turnkey](https://turnkey.com/) is a key infrastructure provider with a great developer API and a powerful security policy engine. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ [Turnkey](https://turnkey.com/) is a key infrastructure provider with a great developer API and a powerful security policy engine. By combining permissionless.js with Turnkey, you can create **custodial AA wallets** whose security is provided by Turnkey, with powerful functionalities such as sponsoring gas, batching transactions, etc. @@ -29,4 +29,4 @@ After following the Turnkey documentation, you will have access to a `TurnkeyCli ### Use with permissionless.js - \ No newline at end of file + diff --git a/docs/pages/references/permissionless/v0_1/how-to/signers/web3auth.mdx b/docs/pages/references/permissionless/v0_1/how-to/signers/web3auth.mdx index 37682ce5..038d993b 100644 --- a/docs/pages/references/permissionless/v0_1/how-to/signers/web3auth.mdx +++ b/docs/pages/references/permissionless/v0_1/how-to/signers/web3auth.mdx @@ -6,7 +6,7 @@ import SmartAccounts from "./smartAccounts.mdx" # How to use a Web3Auth signer with permissionless.js -[Web3Auth](https://web3auth.io/) is a popular embedded wallet provider that supports social logins. While social logins are great, your users still need to onramp in order to pay for gas, which introduces significant friction. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ [Web3Auth](https://web3auth.io/) is a popular embedded wallet provider that supports social logins. While social logins are great, your users still need to onramp in order to pay for gas, which introduces significant friction. By combining permissionless.js with Web3Auth, you can use Web3Auth to enable a smooth social login experience, while using permissionless.js accounts as the smart wallets to sponsor gas for users, batch transactions, and more. diff --git a/docs/pages/references/permissionless/v0_1/index.mdx b/docs/pages/references/permissionless/v0_1/index.mdx index 0150c6b9..8de49115 100644 --- a/docs/pages/references/permissionless/v0_1/index.mdx +++ b/docs/pages/references/permissionless/v0_1/index.mdx @@ -26,7 +26,9 @@ import { HomePage } from 'vocs/components'
-# Overview +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ permissionless.js is a TypeScript library built on top of viem for interacting with ERC-4337 bundlers, paymasters, and smart accounts. The library is provider-agnostic, has zero runtime dependencies, and provides high-level support for major smart account implementations including Safe, Kernel, Biconomy, SimpleAccount, TrustWallet, and LightAccount. + +## Overview ```ts const pimlicoApiKey = "YOUR_API_KEY_HERE" @@ -58,7 +60,7 @@ opReceipt!.actualGasUsed ``` -# Features +## Features - **High-level smart account support**: We support a high-level API for deploying and managing smart accounts, including some of the most popular implementations ([Safe](https://safe.global), [Kernel](https://zerodev.app), [Biconomy](https://biconomy.io), [TrustWallet](https://trustwallet.com/swift), etc.) - **Bundler support**: We support all bundler actions following [ERC-4337](https://eips.ethereum.org/EIPS/eip-4337#rpc-methods-eth-namespace). @@ -68,7 +70,7 @@ opReceipt!.actualGasUsed - **Built on & for viem**: permissionless.js is designed to be a thin wrapper around viem, maintaining the same style and overall feel viem provides. - and a lot more... -# Source Code +## Source Code The source code for permissionless.js is available on [GitHub](https://github.com/pimlicolabs/permissionless.js) diff --git a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToKernelSmartAccount.mdx b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToKernelSmartAccount.mdx index af784049..dd2f959f 100644 --- a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToKernelSmartAccount.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToKernelSmartAccount.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # signerToKernelSmartAccount -Creates a KernelAccount instance controlled by a `SmartAccountSigner`. Check out [this guide](/references/permissionless/how-to/accounts/use-kernel-account) for a complete tutorial. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Creates a KernelAccount instance controlled by a `SmartAccountSigner`. Check out [this guide](/references/permissionless/how-to/accounts/use-kernel-account) for a complete tutorial. ## Usage diff --git a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToLightSmartAccount.mdx b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToLightSmartAccount.mdx index 3a790351..036c0fa5 100644 --- a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToLightSmartAccount.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToLightSmartAccount.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # signerToLightSmartAccount -Creates a LightAccount instance controlled by a `SmartAccountSigner`. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Creates a LightAccount instance controlled by a `SmartAccountSigner`. ## Usage diff --git a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSafeSmartAccount.mdx b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSafeSmartAccount.mdx index 967e4ec8..9ebfca64 100644 --- a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSafeSmartAccount.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSafeSmartAccount.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # signerToSafeSmartAccount -Creates a Safe smart account instance controlled by a `SmartAccountSigner`. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Creates a Safe smart account instance controlled by a `SmartAccountSigner`. ## Usage @@ -129,4 +129,4 @@ An array of calls that will be executed during the deployment of the smart accou If you provide an address, the smart account can not be deployed. This should be used if you want to interact with an existing smart account. ::: -The address of the smart account. If not provided, the determinstic smart account address will be used. \ No newline at end of file +The address of the smart account. If not provided, the determinstic smart account address will be used. diff --git a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSimpleSmartAccount.mdx b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSimpleSmartAccount.mdx index d04c5496..21d45ec5 100644 --- a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSimpleSmartAccount.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToSimpleSmartAccount.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # signerToSimpleSmartAccount -Creates a SimpleAccount instance controlled by a `SmartAccountSigner`. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Creates a SimpleAccount instance controlled by a `SmartAccountSigner`. ## Usage diff --git a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToTrustSmartAccount.mdx b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToTrustSmartAccount.mdx index a94e6036..2c9515a4 100644 --- a/docs/pages/references/permissionless/v0_1/reference/accounts/signerToTrustSmartAccount.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/accounts/signerToTrustSmartAccount.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # signerToTrustSmartAccount -Creates a Trust Wallet Smart Account instance controlled by a `SmartAccountSigner`. Check out [this guide](/references/permissionless/how-to/accounts/use-trustwallet-account) for a complete tutorial. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Creates a Trust Wallet Smart Account instance controlled by a `SmartAccountSigner`. Check out [this guide](/references/permissionless/how-to/accounts/use-trustwallet-account) for a complete tutorial. ## Usage diff --git a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/estimateUserOperationGas.mdx b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/estimateUserOperationGas.mdx index 7be6eac6..9bb1f868 100644 --- a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/estimateUserOperationGas.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/estimateUserOperationGas.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # estimateUserOperationGas -Estimate the gas limits for a User Operation. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Estimate the gas limits for a User Operation. ## Usage @@ -76,4 +76,4 @@ The address of the entry point contract. ## JSON-RPC Method -[`eth_estimateUserOperationGas`](https://eips.ethereum.org/EIPS/eip-4337#rpc-methods-eth-namespace) \ No newline at end of file +[`eth_estimateUserOperationGas`](https://eips.ethereum.org/EIPS/eip-4337#rpc-methods-eth-namespace) diff --git a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationByHash.mdx b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationByHash.mdx index 90256622..7af1260b 100644 --- a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationByHash.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationByHash.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # getUserOperationByHash -Return a User Operation based on a User Operation hash. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Return a User Operation based on a User Operation hash. ## Usage @@ -68,4 +68,4 @@ The User Operation hash. ## JSON-RPC Method -[`eth_estimateUserOperationByHash`](https://eips.ethereum.org/EIPS/eip-4337#rpc-methods-eth-namespace) \ No newline at end of file +[`eth_estimateUserOperationByHash`](https://eips.ethereum.org/EIPS/eip-4337#rpc-methods-eth-namespace) diff --git a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationReceipt.mdx b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationReceipt.mdx index 23f0a123..fd2939a6 100644 --- a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationReceipt.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/getUserOperationReceipt.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # getUserOperationReceipt -Return a User Operation receipt based on a User Operation hash. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Return a User Operation receipt based on a User Operation hash. ## Usage @@ -67,4 +67,4 @@ The User Operation hash. ## JSON-RPC Method -[`eth_estimateUserOperationGas`](https://eips.ethereum.org/EIPS/eip-4337#rpc-methods-eth-namespace) \ No newline at end of file +[`eth_estimateUserOperationGas`](https://eips.ethereum.org/EIPS/eip-4337#rpc-methods-eth-namespace) diff --git a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/sendUserOperation.mdx b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/sendUserOperation.mdx index b3cfffe5..e09224e5 100644 --- a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/sendUserOperation.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/sendUserOperation.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # sendUserOperation -Submits a user operation to the bundler. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Submits a user operation to the bundler. ## Usage @@ -74,4 +74,4 @@ The address of the entry point contract. ## JSON-RPC Method -[`eth_sendUserOperation`](https://eips.ethereum.org/EIPS/eip-4337#rpc-methods-eth-namespace) \ No newline at end of file +[`eth_sendUserOperation`](https://eips.ethereum.org/EIPS/eip-4337#rpc-methods-eth-namespace) diff --git a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/supportedEntryPoints.mdx b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/supportedEntryPoints.mdx index 85ad301d..430f69c1 100644 --- a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/supportedEntryPoints.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/supportedEntryPoints.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # supportedEntryPoints -Return the Entry Points supported by the bundler. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Return the Entry Points supported by the bundler. ## Usage @@ -40,4 +40,4 @@ The Entry Points supported by the bundler. ## JSON-RPC Method -[`eth_supportedEntryPoints`](https://eips.ethereum.org/EIPS/eip-4337#rpc-methods-eth-namespace) \ No newline at end of file +[`eth_supportedEntryPoints`](https://eips.ethereum.org/EIPS/eip-4337#rpc-methods-eth-namespace) diff --git a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/waitForUserOperationReceipt.mdx b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/waitForUserOperationReceipt.mdx index cccd22d6..a76975da 100644 --- a/docs/pages/references/permissionless/v0_1/reference/bundler-actions/waitForUserOperationReceipt.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/bundler-actions/waitForUserOperationReceipt.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # waitForUserOperationReceipt -Waits for the User Operation to be included on a block (one confirmation), and then returns the User Operation Receipt. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Waits for the User Operation to be included on a block (one confirmation), and then returns the User Operation Receipt. :::warning If you are getting `WaitForUserOperationReceiptTimeoutError`. Use custom timeout in transport, please see the [FAQs](/references/permissionless/faqs#getting-waitforuseroperationreceipttimeouterror) for more information. @@ -83,4 +83,4 @@ Optional timeout (in milliseconds) to wait before polling is stopped. ## JSON-RPC Method -[`eth_estimateUserOperationGas`](https://eips.ethereum.org/EIPS/eip-4337#rpc-methods-eth-namespace) \ No newline at end of file +[`eth_estimateUserOperationGas`](https://eips.ethereum.org/EIPS/eip-4337#rpc-methods-eth-namespace) diff --git a/docs/pages/references/permissionless/v0_1/reference/clients/bundlerClient.mdx b/docs/pages/references/permissionless/v0_1/reference/clients/bundlerClient.mdx index 95d07165..0c42dab7 100644 --- a/docs/pages/references/permissionless/v0_1/reference/clients/bundlerClient.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/clients/bundlerClient.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # Bundler Client -A Bundler Client is an interface to official ERC-4337 JSON-RPC API methods that include sending user operations, estimation user operation gas limits, getting user operation receipts and more. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ A Bundler Client is an interface to official ERC-4337 JSON-RPC API methods that include sending user operations, estimation user operation gas limits, getting user operation receipts and more. To create a Bundler Client, create a basic client and extend it with the Bundler Actions. @@ -47,4 +47,4 @@ const bundlerClient = createBundlerClient({ transport: http("https://api.pimlico.io/v2/sepolia/rpc?apikey=YOUR_API_KEY_HERE"), entryPoint: ENTRYPOINT_ADDRESS_V07 }) -``` \ No newline at end of file +``` diff --git a/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoBundlerClient.mdx b/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoBundlerClient.mdx index 41f1c01c..782b5c93 100644 --- a/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoBundlerClient.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoBundlerClient.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # Pimlico Bundler Client -A Pimlico Bundler Client is an interface to official ERC-4337 JSON-RPC API methods that include sending user operations, estimation user operation gas limits, getting user operation receipts and more as well as the Pimlico-specific bundler methods [pimlico_getUserOperationStatus](/references/bundler/endpoints/pimlico_getUserOperationStatus) and [pimlico_getUserOperationGasPrice](/references/bundler/endpoints/pimlico_getUserOperationGasPrice). +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ A Pimlico Bundler Client is an interface to official ERC-4337 JSON-RPC API methods that include sending user operations, estimation user operation gas limits, getting user operation receipts and more as well as the Pimlico-specific bundler methods [pimlico_getUserOperationStatus](/references/bundler/endpoints/pimlico_getUserOperationStatus) and [pimlico_getUserOperationGasPrice](/references/bundler/endpoints/pimlico_getUserOperationGasPrice). To create a Pimlico Bundler Client, create a basic client and extend it with the Bundler Actions and Pimlico Bundler Actions. @@ -51,4 +51,4 @@ const pimlicoBundlerClient = createPimlicoBundlerClient({ transport: http("https://api.pimlico.io/v2/sepolia/rpc?apikey=YOUR_API_KEY_HERE"), entryPoint: ENTRYPOINT_ADDRESS_V07 }) -``` \ No newline at end of file +``` diff --git a/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoPaymasterClient.mdx b/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoPaymasterClient.mdx index bf2a064b..b6d810d7 100644 --- a/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoPaymasterClient.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/clients/pimlicoPaymasterClient.mdx @@ -4,14 +4,14 @@ import VersionWarning from "../../../VersionWarning" # Pimlico Paymaster Client +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ A Pimlico Paymaster Client is an interface to the [Pimlico-specific paymaster methods](/references/paymaster/verifying-paymaster/endpoints). + :::warning The Pimlico paymaster actions in permissionless.js only work with the v2 Pimlico API. The v1 API for paymasters is deprecated and will be removed in the future. This version, instead of simply signing over the passed-in User Operation, estimates the gas values for the User Operation and then signs over the estimated gas values, returning not only the `paymasterAndData` but also the `preVerificationGas`, `verificationGasLimit`, and `callGasLimit`. ::: -A Pimlico Paymaster Client is an interface to the [Pimlico-specific paymaster methods](/references/paymaster/verifying-paymaster/endpoints). - To create a Pimlico Paymaster Client, create a basic client and extend it with the Pimlico Paymaster Actions. ## Import @@ -65,4 +65,4 @@ const pimlicoPaymasterClient = createPimlicoPaymasterClient({ transport: http("https://api.pimlico.io/v2/sepolia/rpc?apikey=YOUR_API_KEY_HERE"), entryPoint: ENTRYPOINT_ADDRESS_V07 }) -``` \ No newline at end of file +``` diff --git a/docs/pages/references/permissionless/v0_1/reference/clients/smartAccountClient.mdx b/docs/pages/references/permissionless/v0_1/reference/clients/smartAccountClient.mdx index d0ae5a5f..1e61740c 100644 --- a/docs/pages/references/permissionless/v0_1/reference/clients/smartAccountClient.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/clients/smartAccountClient.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # Smart Account Client -A Smart Account Client is an almost drop-in replacement for a standard viem [walletClient](https://viem.sh/docs/clients/wallet) but for managing smart accounts instead of EOA accounts. In addition, a Smart Account Client also contains, depending on the underlying smart account implementation used, a few extra actions that are specific to smart accounts. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ A Smart Account Client is an almost drop-in replacement for a standard viem [walletClient](https://viem.sh/docs/clients/wallet) but for managing smart accounts instead of EOA accounts. In addition, a Smart Account Client also contains, depending on the underlying smart account implementation used, a few extra actions that are specific to smart accounts. To create a Smart Account Client, use the `createSmartAccountClient` function. @@ -40,4 +40,4 @@ Then you can consume Smart Account Actions and access properties: ```ts const smartAccountAddress = await smartAccountClient.address -``` \ No newline at end of file +``` diff --git a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/accountId.mdx b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/accountId.mdx index a629d693..1d180527 100644 --- a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/accountId.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/accountId.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # accountId -Gets the accountId of the smart account as defined in [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579). Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Returns the account ID of the smart account as defined in [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) — a string that identifies which ERC-7579 implementation the account follows so modules can be installed against the correct interface. ## Usage diff --git a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/installModule.mdx b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/installModule.mdx index 741fd0c5..a5d01a68 100644 --- a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/installModule.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/installModule.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # installModule -Installs a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module to the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Installs an [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module on the smart account by sending a user operation that calls the account's `installModule` function — used to add validators, executors, hooks, or fallback handlers to an ERC-7579-compatible account. ## Usage diff --git a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/isModuleInstalled.mdx b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/isModuleInstalled.mdx index e47512bb..45376a2f 100644 --- a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/isModuleInstalled.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/isModuleInstalled.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # isModuleInstalled -Checks if an [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module is installed on the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Returns `true` if the specified [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module is currently installed on the smart account — useful for gating UI flows or skipping a redundant `installModule` call. ## Usage diff --git a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsExecutionMode.mdx b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsExecutionMode.mdx index 206e1ab9..5e7c2fd1 100644 --- a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsExecutionMode.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsExecutionMode.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # supportsExecutionMode -Checks if a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) execution mode is supported on the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Returns `true` if the smart account supports a given [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) execution mode (single, batch, delegate-call, etc.). Not every implementation supports every mode, so check before issuing a call that depends on one. :::info According to the specification, not all execution modes must be supported. So it is recommended to use this function to check if the execution mode is supported before using it. diff --git a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsModule.mdx b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsModule.mdx index 96f44f98..b75b7ce8 100644 --- a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsModule.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/supportsModule.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # supportsModule -Checks if a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module type is supported by the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Returns `true` if the smart account supports a given [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module type (validator, executor, hook, or fallback) — check this before attempting to install a module of that type. ## Usage diff --git a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/uninstallModule.mdx b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/uninstallModule.mdx index 15cbd1f8..cf4f452f 100644 --- a/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/uninstallModule.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/erc7579-actions/uninstallModule.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # uninstallModule -Uninstalls a [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module from the smart account. Check out [this guide](/references/permissionless/how-to/accounts/use-erc7579-account) for a complete tutorial. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Uninstalls an [ERC-7579](https://eips.ethereum.org/EIPS/eip-7579) module from the smart account by sending a user operation that calls the account's `uninstallModule` function — used to remove validators, executors, hooks, or fallback handlers previously installed on the account. ## Usage diff --git a/docs/pages/references/permissionless/v0_1/reference/glossary/errors.mdx b/docs/pages/references/permissionless/v0_1/reference/glossary/errors.mdx index fc09ffd8..d511cf52 100644 --- a/docs/pages/references/permissionless/v0_1/reference/glossary/errors.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/glossary/errors.mdx @@ -2,7 +2,9 @@ import VersionWarning from "../../../VersionWarning" -# Errors [Glossary of Errors in permissionless.js.] +# Errors + +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ A glossary of every error class thrown by permissionless.js v0.1, grouped by the layer that raises them (EntryPoint, smart account, paymaster, etc.) so you can quickly find what went wrong. All errors in permissionless.js extend the standard viem [`BaseError`](https://github.com/wevm/viem/blob/main/src/errors/base.ts). @@ -33,4 +35,4 @@ All errors in permissionless.js extend the standard viem [`BaseError`](https://g ### `PaymasterValidationRevertedError` ### `PaymasterDataRejectedError` ### `PaymasterPostOpRevertedError` -### `InvalidPaymasterAndDataError` \ No newline at end of file +### `InvalidPaymasterAndDataError` diff --git a/docs/pages/references/permissionless/v0_1/reference/index.mdx b/docs/pages/references/permissionless/v0_1/reference/index.mdx index 1c1b28c5..1ccc25f8 100644 --- a/docs/pages/references/permissionless/v0_1/reference/index.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/index.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../VersionWarning" # permissionless.js -permissionless.js is a TypeScript library built on viem for interacting with ERC-4337 bundlers, paymasters, and User Operations. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ permissionless.js is a TypeScript library built on viem for interacting with ERC-4337 bundlers, paymasters, and User Operations. ## Installation @@ -28,4 +28,4 @@ pnpm install permissionless bun install permissionless ``` -:::: \ No newline at end of file +:::: diff --git a/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationGasPrice.mdx b/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationGasPrice.mdx index 345467e1..f7e43e88 100644 --- a/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationGasPrice.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationGasPrice.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # getUserOperationGasPrice -Return a User Operation based on a User Operation hash. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Returns the current `maxFeePerGas` and `maxPriorityFeePerGas` recommended by Pimlico's bundler across slow, standard, and fast tiers — use these gas prices when sending a user operation through the bundler. ## Usage diff --git a/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationStatus.mdx b/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationStatus.mdx index 641fad5c..d3f25786 100644 --- a/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationStatus.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/pimlico-bundler-actions/getUserOperationStatus.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # getUserOperationStatus -Return a status of the User Operation as well as potentially the hash of the transaction being used to bundle the User Operation. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Return a status of the User Operation as well as potentially the hash of the transaction being used to bundle the User Operation. ## Usage @@ -47,4 +47,4 @@ The hash of the User Operation. ## JSON-RPC Method -[`pimlico_getUserOperationStatus`](/references/bundler/endpoints/pimlico_getUserOperationStatus) \ No newline at end of file +[`pimlico_getUserOperationStatus`](/references/bundler/endpoints/pimlico_getUserOperationStatus) diff --git a/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/sponsorUserOperation.mdx b/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/sponsorUserOperation.mdx index 32dffde7..f9a038fd 100644 --- a/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/sponsorUserOperation.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/sponsorUserOperation.mdx @@ -4,14 +4,14 @@ import VersionWarning from "../../../VersionWarning" # sponsorUserOperation +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Estimates the gas values for the User Operation and sponsors the operation with the new gas values. + :::warning The Pimlico paymaster actions in permissionless.js only work with the v2 Pimlico API. The v1 API for paymasters is deprecated and will be removed in the future. This version, instead of simply signing over the passed-in User Operation, estimates the gas values for the User Operation and then signs over the estimated gas values, returning not only the `paymasterAndData` but also the `preVerificationGas`, `verificationGasLimit`, and `callGasLimit`. ::: -Estimates the gas values for the User Operation and sponsors the operation with the new gas values. - ## Usage ::::code-group @@ -79,4 +79,4 @@ The ID of the [sponsorship policy](https://dashboard.pimlico.io/sponsorship-poli ## JSON-RPC Method -[`pm_sponsorUserOperation`](/references/paymaster/verifying-paymaster/endpoints#pm_sponsoruseroperation) \ No newline at end of file +[`pm_sponsorUserOperation`](/references/paymaster/verifying-paymaster/endpoints#pm_sponsoruseroperation) diff --git a/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/validateSponsorshipPolicies.mdx b/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/validateSponsorshipPolicies.mdx index 76be0989..515330ac 100644 --- a/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/validateSponsorshipPolicies.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/pimlico-paymaster-actions/validateSponsorshipPolicies.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # validateSponsorshipPolicies -Validates a User Operation against an array of [sponsorship policies](https://dashboard.pimlico.io/sponsorship-policies), and returns an array of sponsorship policies (alongside additional data for each policy) that are willing to sponsor the user operation. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Validates a User Operation against an array of [sponsorship policies](https://dashboard.pimlico.io/sponsorship-policies), and returns an array of sponsorship policies (alongside additional data for each policy) that are willing to sponsor the user operation. ## Usage @@ -112,4 +112,4 @@ An array of sponsorship policy IDs to validate against. ## JSON-RPC Method -[`pm_validateSponsorshipPolicies`](/references/paymaster/verifying-paymaster/endpoints) \ No newline at end of file +[`pm_validateSponsorshipPolicies`](/references/paymaster/verifying-paymaster/endpoints) diff --git a/docs/pages/references/permissionless/v0_1/reference/public-actions/getAccountNonce.mdx b/docs/pages/references/permissionless/v0_1/reference/public-actions/getAccountNonce.mdx index 7027abd2..8bf17e99 100644 --- a/docs/pages/references/permissionless/v0_1/reference/public-actions/getAccountNonce.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/public-actions/getAccountNonce.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # getAccountNonce -Returns the current nonce of the smart account for a specified key. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Returns the current nonce of the smart account for a specified key. ## Usage diff --git a/docs/pages/references/permissionless/v0_1/reference/public-actions/getSenderAddress.mdx b/docs/pages/references/permissionless/v0_1/reference/public-actions/getSenderAddress.mdx index e1916769..0e3f794a 100644 --- a/docs/pages/references/permissionless/v0_1/reference/public-actions/getSenderAddress.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/public-actions/getSenderAddress.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # getSenderAddress -Return a sender address corresponding to the initCode of the User Operation where the smart account will be deployed. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Return a sender address corresponding to the initCode of the User Operation where the smart account will be deployed. ## Usage @@ -52,4 +52,4 @@ The initCode of the User Operation that deploys the smart account. - **Type:** `Address` -The entry point address. \ No newline at end of file +The entry point address. diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/deployContract.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/deployContract.mdx index 7b4d6ad1..5ed473f0 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/deployContract.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/deployContract.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # deployContract -deploys a contract to the network from a smart account, given bytecode & constructor arguments. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ deploys a contract to the network from a smart account, given bytecode & constructor arguments. :::info This action is only supported by some smart account types. diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/prepareUserOperationRequest.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/prepareUserOperationRequest.mdx index 8eec65b1..cb1be9ba 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/prepareUserOperationRequest.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/prepareUserOperationRequest.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # prepareUserOperationRequest -Prepares a user operation request for signing by populating a `sender`, `nonce`, `initCode`, gas price values, gas limit values, and optionally requesting sponsorship from a paymaster. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Prepares a user operation request for signing by populating a `sender`, `nonce`, `initCode`, gas price values, gas limit values, and optionally requesting sponsorship from a paymaster. ## Usage diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransaction.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransaction.mdx index 6c7cf158..63f25ed6 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransaction.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransaction.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # sendTransaction -Send a transaction from a smart account using the same `sendTransaction` interface as viem. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Send a transaction from a smart account using the same `sendTransaction` interface as viem. Internally, sendTransaction calls the smartAccount's `prepareUserOperationRequest`, `sendUserOperation`, and `waitForUserOperationReceipt` actions. diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransactions.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransactions.mdx index e8fe2ebe..e002e0ff 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransactions.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendTransactions.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # sendTransactions -Send a batch of transaction from a smart account. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Send a batch of transaction from a smart account. ## Usage diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendUserOperation.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendUserOperation.mdx index dea7da48..eb0e7acd 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendUserOperation.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/sendUserOperation.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # sendUserOperation -Submits a user operation to the smart account client's underlying bundler. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Submits a user operation to the smart account client's underlying bundler. ## Usage diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signMessage.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signMessage.mdx index 319dc8a3..2d6d0dfe 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signMessage.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signMessage.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # signMessage -Uses a smart account to sign and calculate an Ethereum-specific signature in [EIP-191 format](https://eips.ethereum.org/EIPS/eip-191): `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Uses a smart account to sign and calculate an Ethereum-specific signature in [EIP-191 format](https://eips.ethereum.org/EIPS/eip-191): `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`. With the calculated signature, you can: diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signTypedData.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signTypedData.mdx index bb9662e3..b737e911 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signTypedData.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/signTypedData.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # signTypedData -Signs typed data from a smart account and calculates an Ethereum-specific signature in [https://eips.ethereum.org/EIPS/eip-712](https://eips.ethereum.org/EIPS/eip-712): `sign(keccak256("\x19\x01" ‖ domainSeparator ‖ hashStruct(message)))` +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Signs typed data from a smart account and calculates an Ethereum-specific signature in [https://eips.ethereum.org/EIPS/eip-712](https://eips.ethereum.org/EIPS/eip-712): `sign(keccak256("\x19\x01" ‖ domainSeparator ‖ hashStruct(message)))` ## Usage diff --git a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/writeContract.mdx b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/writeContract.mdx index 538b2251..6ede5bb8 100644 --- a/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/writeContract.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/smart-account-actions/writeContract.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # writeContract -Uses a smart account to executes a write function on a contract. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Uses a smart account to executes a write function on a contract. A "write" function on a Solidity contract modifies the state of the blockchain. diff --git a/docs/pages/references/permissionless/v0_1/reference/utils/getRequiredPrefund.mdx b/docs/pages/references/permissionless/v0_1/reference/utils/getRequiredPrefund.mdx index 012e7585..b5c81df5 100644 --- a/docs/pages/references/permissionless/v0_1/reference/utils/getRequiredPrefund.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/utils/getRequiredPrefund.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # getRequiredPrefund -Returns the minimum required funds in wei in the senders's smart account to execute the user operation. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Returns the minimum required funds in wei in the senders's smart account to execute the user operation. ## Import @@ -35,4 +35,4 @@ The requied prefund in wei. - **Type:** `UserOperation` -The User Operation to get the prefund for. \ No newline at end of file +The User Operation to get the prefund for. diff --git a/docs/pages/references/permissionless/v0_1/reference/utils/getUserOperationHash.mdx b/docs/pages/references/permissionless/v0_1/reference/utils/getUserOperationHash.mdx index 24ddb42a..0abb040c 100644 --- a/docs/pages/references/permissionless/v0_1/reference/utils/getUserOperationHash.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/utils/getUserOperationHash.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # getUserOperationHash -Generates the hash of the User Operation [as calculated by the EntryPoint](https://github.com/eth-infinitism/account-abstraction/blob/465f22310fcc639964e6ab5f8aa648770c6d8981/contracts/core/EntryPoint.sol#L296-L302). +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Generates the hash of the User Operation [as calculated by the EntryPoint](https://github.com/eth-infinitism/account-abstraction/blob/465f22310fcc639964e6ab5f8aa648770c6d8981/contracts/core/EntryPoint.sol#L296-L302). ## Import @@ -49,4 +49,4 @@ The chain ID of the chain on which the User Operation is being executed. - **Type:** `Address` -The entry point address. \ No newline at end of file +The entry point address. diff --git a/docs/pages/references/permissionless/v0_1/reference/utils/providerToSmartAccountSigner.mdx b/docs/pages/references/permissionless/v0_1/reference/utils/providerToSmartAccountSigner.mdx index d0526b7c..030d8d8b 100644 --- a/docs/pages/references/permissionless/v0_1/reference/utils/providerToSmartAccountSigner.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/utils/providerToSmartAccountSigner.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # providerToSmartAccountSigner -Takes an EIP-1193 provider and returns a signer that can be used as a signer with permissionless accounts. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Takes an EIP-1193 provider and returns a signer that can be used as a signer with permissionless accounts. ## Import @@ -45,4 +45,4 @@ The EIP-1193 provider. - **Type:** `Address` -The address of the signer. If not provided, it will automatically be fetched from the provider using `eth_requestAccounts`. \ No newline at end of file +The address of the signer. If not provided, it will automatically be fetched from the provider using `eth_requestAccounts`. diff --git a/docs/pages/references/permissionless/v0_1/reference/utils/signUserOperationHashWithECDSA.mdx b/docs/pages/references/permissionless/v0_1/reference/utils/signUserOperationHashWithECDSA.mdx index b2365d4f..2f1692df 100644 --- a/docs/pages/references/permissionless/v0_1/reference/utils/signUserOperationHashWithECDSA.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/utils/signUserOperationHashWithECDSA.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # signUserOperationHashWithECDSA -Signs the hash of the User Operation with the standard ECDSA signature scheme (used by all EOAs and most smart wallets). +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Signs the hash of the User Operation with the standard ECDSA signature scheme (used by all EOAs and most smart wallets). Can take in either the hash of the User Operation or a combination of the User Operation, chain ID and entry point address (calculating the hash internally). @@ -84,4 +84,4 @@ The chain ID of the chain on which the User Operation is being executed. - **Type:** `Address` -The entry point address. \ No newline at end of file +The entry point address. diff --git a/docs/pages/references/permissionless/v0_1/reference/utils/walletClientToSmartAccountSigner.mdx b/docs/pages/references/permissionless/v0_1/reference/utils/walletClientToSmartAccountSigner.mdx index 135e41c6..999a9fa3 100644 --- a/docs/pages/references/permissionless/v0_1/reference/utils/walletClientToSmartAccountSigner.mdx +++ b/docs/pages/references/permissionless/v0_1/reference/utils/walletClientToSmartAccountSigner.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../../VersionWarning" # walletClientToSmartAccountSigner -Takes a walletClient and returns a custom signer that can be used as a signer with permissionless accounts. This is especially useful when using `useWallet` from wagmi, allowing for an easy way to plug in custom frontend wagmi signers to permissionless accounts. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Takes a walletClient and returns a custom signer that can be used as a signer with permissionless accounts. This is especially useful when using `useWallet` from wagmi, allowing for an easy way to plug in custom frontend wagmi signers to permissionless accounts. ## Import @@ -30,4 +30,4 @@ The smart account signer that can be used with permissionless accounts. - **Type:** `WalletClient` -The viem/wagmi wallet client. \ No newline at end of file +The viem/wagmi wallet client. diff --git a/docs/pages/references/permissionless/v0_1/tutorial/index.mdx b/docs/pages/references/permissionless/v0_1/tutorial/index.mdx index 78e9336e..180711d0 100644 --- a/docs/pages/references/permissionless/v0_1/tutorial/index.mdx +++ b/docs/pages/references/permissionless/v0_1/tutorial/index.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../VersionWarning" # Tutorials -Learning-oriented lessons that take you through a series of steps to complete a project. Most useful when you want to get started with Pimlico. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ Learning-oriented lessons that take you through a series of steps to complete a project. Most useful when you want to get started with Pimlico. [Tutorial 1](/references/permissionless/v0_1/tutorial/tutorial-1) takes you through the journey of leveraging permissionless.js's high-level APIs to easily create and bundle a user operation. diff --git a/docs/pages/references/permissionless/v0_1/tutorial/tutorial-1.mdx b/docs/pages/references/permissionless/v0_1/tutorial/tutorial-1.mdx index 0bda330c..5939c167 100644 --- a/docs/pages/references/permissionless/v0_1/tutorial/tutorial-1.mdx +++ b/docs/pages/references/permissionless/v0_1/tutorial/tutorial-1.mdx @@ -4,7 +4,7 @@ import VersionWarning from "../../VersionWarning" # Tutorial 1 — Send your first gasless transaction -In this tutorial, you will submit your first fully-gasless transaction from a smart account. +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ In this tutorial, you will submit your first fully-gasless transaction from a smart account. You will set up the necessary permissionless.js clients, create a user operation, ask Pimlico's verifying paymaster to sponsor it, and then submit it on-chain with Pimlico's bundler. @@ -125,4 +125,4 @@ Please [get in touch](https://t.me/pimlicoHQ) if you have any questions or if yo ### Combined code -If you want to see the complete code that combines all of the previous steps, we uploaded it to a [separate repository](https://github.com/pimlicolabs/tutorials). If you're looking to run it, remember to replace the API key with your own! \ No newline at end of file +If you want to see the complete code that combines all of the previous steps, we uploaded it to a [separate repository](https://github.com/pimlicolabs/tutorials). If you're looking to run it, remember to replace the API key with your own! diff --git a/docs/pages/references/permissionless/v0_1/tutorial/tutorial-2.mdx b/docs/pages/references/permissionless/v0_1/tutorial/tutorial-2.mdx index b03a2805..8e7ddae0 100644 --- a/docs/pages/references/permissionless/v0_1/tutorial/tutorial-2.mdx +++ b/docs/pages/references/permissionless/v0_1/tutorial/tutorial-2.mdx @@ -4,12 +4,12 @@ import VersionWarning from "../../VersionWarning" # Tutorial 2 — Submit a user operation with a Verifying Paymaster +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ In this tutorial, you will generate a user operation, ask Pimlico's verifying paymaster to sponsor it, and then submit the sponsored user operation on-chain with Pimlico's Alto bundler. + :::note This is a low-level tutorial that walks you through the steps of constructing a user operation from scratch. If you would like to leverage permissionless.js's high-level functions, take a look at [tutorial 1](/references/permissionless/tutorial/tutorial-1). ::: -In this tutorial, you will generate a user operation, ask Pimlico's verifying paymaster to sponsor it, and then submit the sponsored user operation on-chain with Pimlico's Alto bundler. - ## Steps ::::steps diff --git a/docs/pages/references/permissionless/v0_1/why.mdx b/docs/pages/references/permissionless/v0_1/why.mdx index cbb45381..d9eb59f6 100644 --- a/docs/pages/references/permissionless/v0_1/why.mdx +++ b/docs/pages/references/permissionless/v0_1/why.mdx @@ -2,7 +2,9 @@ import VersionWarning from "../VersionWarning" -# Why permissionless.js [A summary of why we built permissionless.js] +# Why permissionless.js + +_You are viewing permissionless.js v0.1 documentation. [View the latest documentation →](/references/permissionless)._ A summary of why we built permissionless.js — the gaps in existing ERC-4337 tooling, the principles that shaped the library, and how it stays vendor-agnostic while still giving you tight integration with viem. ## Problems diff --git a/docs/pages/references/permissionless/wagmi/index.mdx b/docs/pages/references/permissionless/wagmi/index.mdx index c449d92f..4481ff6c 100644 --- a/docs/pages/references/permissionless/wagmi/index.mdx +++ b/docs/pages/references/permissionless/wagmi/index.mdx @@ -22,7 +22,9 @@ import { HomePage } from 'vocs/components'
-# Overview +@permissionless/wagmi is a TypeScript library built on top of permissionless.js and wagmi that enables EIP-5792 features — gas sponsorship via ERC-7677 paymasters and transaction batching — in your wagmi app with just a couple lines of code. + +## Overview ```tsx [main.tsx] import { PermissionlessProvider } from "@permissionless/wagmi" // [!code ++] @@ -75,14 +77,14 @@ function App() { And that's it! -# Features +## Features - **ERC-7677 Paymaster service**: Makes it easier to interact with an external smart account that offers support. - **Sending multiple transactions**: Makes it easier to send multiple transactions from an external smart account. - **Built on & for wagmi**: `@permissionless/wagmi` is designed to be a thin wrapper around wagmi, maintaining the same style and overall feel wagmi provides. - and a lot more coming soon... -# Source Code +## Source Code The source code for `@permissionless/wagmi` is available on [GitHub](https://github.com/pimlicolabs/permissionless.js) diff --git a/docs/pages/references/permissionless/wagmi/reference/hooks/useSendTransaction.mdx b/docs/pages/references/permissionless/wagmi/reference/hooks/useSendTransaction.mdx index 5648a8c6..a0aca3be 100644 --- a/docs/pages/references/permissionless/wagmi/reference/hooks/useSendTransaction.mdx +++ b/docs/pages/references/permissionless/wagmi/reference/hooks/useSendTransaction.mdx @@ -5,7 +5,7 @@ description: Hook for creating, signing, and sending transactions to networks. # useSendTransaction -Hook for creating, signing, and sending transactions to networks. +Drop-in replacement for wagmi's `useSendTransaction` that routes the transaction through the configured smart account and ERC-7677 paymaster — returning a transaction *reference* (not an EOA hash) that pairs with `useWaitForTransactionReceipt` from this package. ## Import diff --git a/docs/pages/references/permissionless/wagmi/reference/hooks/useWaitForTransactionReceipt.mdx b/docs/pages/references/permissionless/wagmi/reference/hooks/useWaitForTransactionReceipt.mdx index 65bd6cb3..b65ca000 100644 --- a/docs/pages/references/permissionless/wagmi/reference/hooks/useWaitForTransactionReceipt.mdx +++ b/docs/pages/references/permissionless/wagmi/reference/hooks/useWaitForTransactionReceipt.mdx @@ -5,7 +5,7 @@ description: Hook that waits for the transaction to be included on a block, and # useWaitForTransactionReceipt -Hook that waits for the transaction to be included on a block, and then returns the transaction receipt. If the transaction reverts, then the action will throw an error. Replacement detection (e.g. sped up transactions) is also supported. +Drop-in replacement for wagmi's `useWaitForTransactionReceipt` that resolves the receipt for a smart account transaction submitted via this package's `useSendTransaction`, using the transaction reference returned by that hook instead of an EOA hash. ## Import diff --git a/docs/pages/references/permissionless/why.mdx b/docs/pages/references/permissionless/why.mdx index 07d18296..fa1c4bae 100644 --- a/docs/pages/references/permissionless/why.mdx +++ b/docs/pages/references/permissionless/why.mdx @@ -1,4 +1,6 @@ -# Why permissionless.js [A summary of why we built permissionless.js] +# Why permissionless.js + +A summary of why we built permissionless.js — the gaps in existing ERC-4337 tooling, the principles that shaped the library, and how it stays vendor-agnostic while still giving you tight integration with viem. ## Problems diff --git a/docs/pages/references/platform/api/sponsorship-policies/create.mdx b/docs/pages/references/platform/api/sponsorship-policies/create.mdx index 72c00acd..ed53aa3f 100644 --- a/docs/pages/references/platform/api/sponsorship-policies/create.mdx +++ b/docs/pages/references/platform/api/sponsorship-policies/create.mdx @@ -1,6 +1,6 @@ # Create a sponsorship policy -Creates a sponsorship policy. +Creates a new sponsorship policy in your Pimlico account — including its name, scope (active chains and EntryPoint versions), spending limits, and active time window — via a single `POST` to the platform API. ## HTTP Request diff --git a/docs/pages/references/platform/api/sponsorship-policies/object.mdx b/docs/pages/references/platform/api/sponsorship-policies/object.mdx index 0edea4a2..e50e295d 100644 --- a/docs/pages/references/platform/api/sponsorship-policies/object.mdx +++ b/docs/pages/references/platform/api/sponsorship-policies/object.mdx @@ -1,5 +1,7 @@ # The Sponsorship Policy object +A sponsorship policy is a set of rules that govern which user operations the verifying paymaster will sponsor. The object captures the policy's identifier, status, active time window, allowed chains, and spending limits. + ## Attributes :::note diff --git a/docs/pages/stackup-migration.mdx b/docs/pages/stackup-migration.mdx index e7c1b72a..429744f7 100644 --- a/docs/pages/stackup-migration.mdx +++ b/docs/pages/stackup-migration.mdx @@ -1,4 +1,4 @@ -# Migration from Stackup [This guide is intended for users migrating from Stackup to Pimlico] +# Migration from Stackup Welcome to Pimlico! We're excited to help you in your transition from Stackup. This guide will help you understand the migration process, the changes you'll need to make to your existing setup, and give a brief overview of new features you will have access to.