Ultra Relay is a modified version of Alto, originally developed by Pimlico.
It is a TypeScript implementation of the ERC-4337 bundler specification, focused on transaction inclusion reliability.
⚠️ DISCLAIMER: This project contains modifications made by ZeroDev Inc. It is not affiliated with or endorsed by Pimlico.
Ultra Relay has been modified from the original Alto to support relayer functionality without requiring a paymaster.
- Accepting zeroed out
maxFeePerGas
andmaxPriorityFeePerGas
in the User Operation to be sent on-chain - Other general improvements related to relayer/bundler (non-paymaster) sponsored user operations
These modifications were first made on [Jan 22, 2025] and continue to be updated.
For a full explanation of Alto, please visit Pimlico's docs page
pnpm install
pnpm build
./alto --entrypoints "0x5ff1...2789,0x0000...a032" --executor-private-keys "..." --utility-private-key "..." --min-balance "0" --rpc-url "http://localhost:8545" --network-name "local"
To find a list of all options, run:
./alto help
A helper script for running Alto locally with an Anvil node can be found at scripts/run-local-instance.sh.
A comprehensive guide for self-hosting Alto can be found here.
pnpm build
pnpm test # note: foundry must be installed on the machine for this to work
- Run Geth node or any other node that support debug_traceCall
- Clone bundler-spec-tests repo.
- build & run bundler with
--environment development --bundleMode manual --safeMode true
Distributed under the GPL-3.0 License. See LICENSE for more information.
- Email: contact@zerodev.app
- Eth-Infinitism bundler
- Lodestar
- Pimlico Alto Bundler, the original implementation from which Ultra Relay is derived.