Practical overview
When it fits
Use it when a Spring Boot backend needs Spring-managed web3j clients and configurable Ethereum node connectivity. Consider the optional admin client when the application needs personal-module methods and its node supports them.
Who it is for
- Java developers building Spring Boot backends that need web3j clients.
- Application teams configuring Ethereum node access through Spring application properties.
Documented uses
- Add web3j to a Spring Boot application and inject a Web3j client.
- Set the Ethereum node endpoint using application properties or use the documented local HTTP default.
- Enable and inject an Admin client for supported personal-module methods.
- Adjust HTTP connect, read and write timeouts for operations that may take longer.
Requirements & limits
- The documented setup uses Maven or Gradle and a Spring Boot application.
- The default HTTP endpoint is http://localhost:8545; other HTTP or IPC endpoints are set with web3j.client-address.
- Admin injection requires setting web3j.admin-client = true, and personal-module methods depend on node support.
- The httpTimeoutSeconds setting controls OkHttp connect, read and write timeouts; zero means no timeout, and the documentation says changing it is not required for transacting.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Add injected web3j clients to a Spring Boot application
Set up the starter and configure the Ethereum node endpoint used by the injected client.
Before you start
- A Spring Boot application
- Maven or Gradle
- An Ethereum node endpoint supplied by the application operator
Steps
Add the documented web3j-spring-boot-starter dependency to the Maven or Gradle build.
Inject a Web3j instance into the application using Spring.
Use the default HTTP endpoint at http://localhost:8545, or set web3j.client-address in application properties to an HTTP or IPC endpoint.
Expected outcome
The application can obtain a Spring-injected web3j client configured for the selected endpoint.
Guide limitations
- The endpoint must be supplied by the application operator.
- The guide documents configuration, not a verified connection to a particular node.
Configure an optional injected admin client
Enable injection of an Admin client for personal-module methods.
Before you start
- A Spring Boot application using the web3j Spring Boot Starter
- A connected node that supports the personal-module methods the application intends to use
Steps
Set web3j.admin-client = true in application properties.
Inject an Admin instance into the Spring application.
Expected outcome
Spring can inject an Admin client for supported personal-module methods.
Guide limitations
- The connected node must support the personal module methods being used.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 17 October 2026
- Original website title
- web3j/web3j-spring-boot-starter · Official homepage title · retained in its source language

