Skip to content

zerodevapp/ultra-relay

Repository files navigation

🚀 Ultra Relay (Modified from Alto) 🚀

Node Version

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.

Modifications by ZeroDev Inc.

Ultra Relay has been modified from the original Alto to support relayer functionality without requiring a paymaster.

Key Changes

  • Accepting zeroed out maxFeePerGas and maxPriorityFeePerGas 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.

Getting started

For a full explanation of Alto, please visit Pimlico's docs page

Run an instance of Ultra Relay (Command remains alto for compatibility):

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.

Run the test suite with the following commands:

pnpm build
pnpm test # note: foundry must be installed on the machine for this to work

Prerequisites

How to test bundler specs

  • 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

License

Distributed under the GPL-3.0 License. See LICENSE for more information.

Contact

Acknowledgements

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages