https://github.com/transeptorlabs/transeptor-bundler
A light weight blazing fast, modular ERC4337 TypeScript bundler built with functional programming.
https://github.com/transeptorlabs/transeptor-bundler
account-abstraction bundler erc4337 esm ethereum functional-programming nodejs p2p typescript
Last synced: 1 day ago
JSON representation
A light weight blazing fast, modular ERC4337 TypeScript bundler built with functional programming.
- Host: GitHub
- URL: https://github.com/transeptorlabs/transeptor-bundler
- Owner: transeptorlabs
- License: gpl-3.0
- Created: 2023-04-09T19:51:47.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-05-02T21:35:35.000Z (9 days ago)
- Last Synced: 2025-05-02T22:27:11.489Z (9 days ago)
- Topics: account-abstraction, bundler, erc4337, esm, ethereum, functional-programming, nodejs, p2p, typescript
- Language: TypeScript
- Homepage: https://transeptor.transeptorlabs.io/
- Size: 4.34 MB
- Stars: 26
- Watchers: 2
- Forks: 4
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-account-abstraction - Transeptor - Typescript Implementation
README
A lightweight, blazing-fast, modular ERC-4337 TypeScript bundler built with functional programming> :warning: **The `main` branch of Transeptor is under active development and is compatible with [Entrypoint releases/v0.8](https://github.com/eth-infinitism/account-abstraction/tree/releases/v0.8).**
>
> **Support for previous EntryPoint releases is available below.**
>
> - Compatible with [Entrypoint releases/v0.7](https://github.com/eth-infinitism/account-abstraction/tree/releases/v0.7): [Transeptor v0.11.0-alpha.0](https://github.com/transeptorlabs/transeptor-bundler/tree/v0.11.0-alpha.0)
> - Compatible with [Entrypoint releases/v0.6](https://github.com/eth-infinitism/account-abstraction/tree/releases/v0.6): [Transeptor v0.5.3-alpha.0](https://github.com/transeptorlabs/transeptor-bundler/tree/v0.5.3-alpha.0)## Quick Start
To quickly start using Transeptor, follow the instructions in our [Quick Start guide](https://transeptor.transeptorlabs.io/docs/get-started#quick-start).
## Development
**Prerequisites**
- [NodeJS](https://nodejs.org/) (>=v22.14.0)
- [Yarn](https://classic.yarnpkg.com/lang/en/) (v4.7.0)
- [Docker](https://docs.docker.com/compose/install/) (>=v27.5.1)
- [Git](https://git-scm.com/) (>=v2.39.5)Follow these instructions to get the project up and running on your local machine for development purposes:
1. Run the following commands in order to prepare dev environment.
```bash
# Ensure the submodule is checked out properly by running
git submodule update --init --recursive# Use the correct node version
nvm use# Install dependencies
yarn install# Starts local `geth node` and `geth-tracer-node` Docker images and deploys entrypoint contract to the local network.
yarn local-eth
```2. Please wait for environment vars to be printed in the terminal and copy it to your `.env` files.
3. In a new terminal window, start the bundler node in dev mode with a live watch for changes in the `./src` path with auto restarts. There are three different dev modes:
- `yarn dev` - To start the bundler node in safe mode with full storage and opcode checks.
- `yarn dev:unsafe` - To start the bundler node in unsafe mode with no storage or opcode checks.
- `yarn dev:native-tracer` - To start the bundler node in safe mode with full storage and opcode checks enabled by the native tracer.- The bundler node will start on `http://localhost:4337/rpc`.
### Test
Run the test suite.
```bash
yarn test
```Run an e2e script to send a userOp through the bundler.
```bash
yarn send-op
```### Lint
```bash
yarn lint
yarn lint:fix
```## Running Transeptor
Transeptor offers multiple options for installation and configuration. Refer to the [Running Transeptor](https://github.com/transeptorlabs/transeptor-bundler/blob/main/docs/running-transeptor.md) guide for details.
## Node Configuration
For detailed configuration options, including command-line arguments and environment variables, visit the [Node Configuration guide](https://github.com/transeptorlabs/transeptor-bundler/blob/main/docs/node-configuration.md).
## Contribute
We welcome contributions to enhance our ERC-4337 Bundler. Please follow our [contribution guidelines.](https://github.com/transeptorlabs/transeptor-bundler/blob/main/CONTRIBUTING.md).
## Contact Us
If you have any questions or feedback about Transeptor, reach out to us:.
- **Twitter**: [@transeptorlabs](https://twitter.com/transeptorlabs)
- **Telegram**: [Telegram channel](https://t.me/+eUGda3KIND4zMjRh)## License
Licensed under the [GPL-3.0 License](https://github.com/transeptorlabs/transeptor-bundler/blob/main/LICENSE).
## Acknowledgements
We appreciate the open-source community and those who have shared their knowledge, enabling us to build on their work:
- [Infinitism](https://github.com/eth-infinitism/bundler) - for inspiring our project and serving as a reference for implementation techniques.
## Relevant Documents
- [ERC-4337](https://eips.ethereum.org/EIPS/eip-4337)
- [ERC-7562](https://eips.ethereum.org/EIPS/eip-7562)
- [EIP-1153](https://eips.ethereum.org/EIPS/eip-1153)