{"id":13759145,"url":"https://github.com/candidelabs/voltaire","last_synced_at":"2025-12-25T04:57:16.157Z","repository":{"id":115480953,"uuid":"601415811","full_name":"candidelabs/voltaire","owner":"candidelabs","description":"Account Abstraction Bundler written in Python \u0026 Rust - ERC-4337","archived":false,"fork":false,"pushed_at":"2025-05-08T12:33:38.000Z","size":71013,"stargazers_count":53,"open_issues_count":1,"forks_count":13,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-05-08T13:38:19.137Z","etag":null,"topics":["bundler","erc4337","ethereum"],"latest_commit_sha":null,"homepage":"https://docs.candide.dev/wallet/bundler/erc-4337-intro","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/candidelabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-14T02:29:28.000Z","updated_at":"2025-05-08T12:33:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"7b4c53e1-6877-41cd-8ffa-5d64b278ecd7","html_url":"https://github.com/candidelabs/voltaire","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/candidelabs%2Fvoltaire","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/candidelabs%2Fvoltaire/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/candidelabs%2Fvoltaire/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/candidelabs%2Fvoltaire/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/candidelabs","download_url":"https://codeload.github.com/candidelabs/voltaire/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253396698,"owners_count":21901896,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bundler","erc4337","ethereum"],"created_at":"2024-08-03T13:00:47.428Z","updated_at":"2025-12-25T04:57:16.140Z","avatar_url":"https://github.com/candidelabs.png","language":"Rust","funding_links":[],"categories":["dApps directory","Uncategorized"],"sub_categories":["Account Abstraction (ERC-4337) Bundlers","Uncategorized"],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1 align=\"center\"\u003eVoltaire\u003c/h1\u003e\n\u003c/div\u003e\n\n\u003c!-- PROJECT LOGO --\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/8b28b10f-495a-4cf7-8ec8-43c4cf684db8\"\u003e\n  \u003cp\u003e\n    \u003cb\u003e\n      Modular and lighting-fast Python-Rust Bundler for Ethereum EIP-4337 Account Abstraction\n    \u003c/b\u003e\n   \u003c/p\u003e\n\u003c/div\u003e\n\n# Using an instance\n\nFor a quick bundler instance, use one of our [public hosted endpoints](https://docs.candide.dev/wallet/bundler/rpc-endpoints/) for your development.\n\n# Deployment\n\nDeploy Voltaire using the latest docker image\n\n```\ndocker run --net=host --rm -ti ghcr.io/candidelabs/voltaire/voltaire-bundler:latest --bundler_secret $BUNDLER_SECRET --rpc_url $RPC_URL --rpc_port $PORT --ethereum_node_url $ETHEREUM_NODE_URL --chain_id $CHAIN_ID --verbose --unsafe --disable_p2p\n```\n\n# Development\n\n## Ubuntu: Get started testing the bundler in 5 minutes \n\n### Install Poetry\n```\ncurl -sSL https://install.python-poetry.org | python3 -\n```\n### Install dependencies\n```\npoetry install\n```\n\n### Make sure you are using the right python version\n\n```\npoetry env use python3.11\n```\n\n### Install Docker\n\nFollow the installation guide to install [docker on ubuntu](https://docs.docker.com/engine/install/ubuntu/)\n\n### Post docker installation\n\nFollow the instruction for docker's [post linux instalation](https://docs.docker.com/engine/install/linux-postinstall/)  \n\n### Start geth\n```\ndocker run --rm -ti --name geth -p 8545:8545 ethereum/client-go:v1.10.26 \\\n  --miner.gaslimit 12000000 \\\n  --http --http.api personal,eth,net,web3,debug \\\n  --http.vhosts '*,localhost,host.docker.internal' --http.addr \"0.0.0.0\" \\\n  --ignore-legacy-receipts --allow-insecure-unlock --rpc.allow-unprotected-txs \\\n  --dev \\\n  --verbosity 4 \\\n  --nodiscover --maxpeers 0 --mine --miner.threads 1 \\\n  --networkid 1337\n```\n\n### Deploy the EntryPoint and fund the signer (in another terminal)\n```\ngeth --exec 'loadScript(\"scripts/deploy.js\")' attach http://0.0.0.0:8545\n```\n\n### Set env values\n```\nsource scripts/init-params \n```\n\n### Run the bundler\n```\npoetry run python3 -m voltaire_bundler --entrypoint $ENTRYPOINT --bundler_secret $BUNDLER_SECRET --chain_id 1337 --verbose\n```\n\n### Test the bundler by cloning `eth-infinitism/bundler-spec-tests`\n\nFollow the instruction in \u003ca href='https://github.com/eth-infinitism/bundler-spec-tests'\u003eeth-infinitism/bundler-spec-tests\u003c/a\u003e to install dependencies and run the test\n\n## P2P rust section development\n\n### Install Rust\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n```\n\n### Install build dependencies\n```\nsudo apt install musl-tools\nrustup target add x86_64-unknown-linux-musl\n```\n\n### Build the rust section using poetry script\n```\npoetry run build_p2p\n```\n\n## Contributions\n\nThank you for considering contributing to open-source code! We welcome contributions and are grateful for even the smallest of fixes. \n\nIf you want to contribute today or follow along with the contributor discussion, you can use our main discord to chat with us about the development of Voltaire.\n\n\u003c!-- LICENSE --\u003e\n## License\nLGPL\n\n\u003c!-- ACKNOWLEDGMENTS --\u003e\n## Acknowledgments\n\nNone of this would have been possible without the following teams and organizations below: \n\n* \u003ca href='https://eips.ethereum.org/EIPS/eip-4337'\u003eEIP-4337: Account Abstraction via Entry Point Contract specification \u003c/a\u003e\n* \u003ca href='https://github.com/eth-infinitism/bundler'\u003eeth-infinitism/bundler\u003c/a\u003e\n* \u003ca href='https://github.com/sigp/lighthouse'\u003eLighthouse: Ethereum consensus client\u003c/a\u003e\n* [The Ethereum Foundation](https://ethereum.foundation/) throught the Ecosystem Support Grants Program (ESP).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcandidelabs%2Fvoltaire","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcandidelabs%2Fvoltaire","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcandidelabs%2Fvoltaire/lists"}