permissionless.js is a TypeScript library built on viem for building with ERC-4337 smart accounts, bundlers, paymasters, and user operations. The core focuses are avoiding provider lock-in, having no dependencies, maximum viem compatibility, and a small bundle size.

How-to Guides →

Practical step-by-step guides to help you achieve a specific goal. Most useful when you're trying to get something done.

Reference Guides →

Technical descriptions of how permissionless.js works, including detailed information about its APIs, methods, parameters, results, and types.

Source Code

The source code for permissionless.js is available on GitHub (opens in a new tab)

We welcome contributions from the community. If you would like to contribute, please open an issue or a pull request.


permissionless.js is distributed under an MIT License.


Feel free to ask any questions in our Telegram group (opens in a new tab)