Practical overview
When it fits
Use Ethereumex when an Elixir application needs a client library for Ethereum JSON-RPC and the team has an endpoint available through HTTP, IPC or WebSocket.
Who it is for
- Elixir developers integrating Ethereum JSON-RPC into an application
- Teams that need WebSocket subscriptions to Ethereum headers, logs or pending transaction hashes
Documented uses
- Retrieve Ethereum network, block, balance or transaction information from an application
- Make read-only smart-contract calls and estimate gas through JSON-RPC
- Send transaction requests through an Ethereum node
- Receive selected Ethereum events through WebSocket subscriptions
Requirements & limits
- The application must configure a node endpoint; Ethereumex is not itself an Ethereum node.
- HTTP, IPC and WebSocket require different configuration, and IPC additionally needs an IPC path.
- Contract-call data must be encoded for the contract method and arguments; the README suggests manual encoding or ExABI.
- The README documents Jason as the default JSON library and allows a custom module implementing the required encode and decode functions.
- HTTP pool and response timeouts can be configured globally or overridden per request.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Configure Ethereumex for HTTP requests
Add the library to an Elixir project and configure its HTTP endpoint and request options.
Before you start
- An Elixir project using Mix
- An Ethereum JSON-RPC HTTP endpoint
- Jason or another JSON module implementing the documented encode and decode functions
Steps
Add
:ethereumexand a JSON library such as:jasonto the dependencies inmix.exs.Set the Ethereum JSON-RPC URL under
config :ethereumexinconfig/config.exs.Optionally configure HTTP headers and pool or receive timeouts; per-request
:http_optionscan override configured values.
Expected outcome
The project is configured to make Ethereum JSON-RPC calls through Ethereumex's HTTP client.
Guide limitations
- The guide covers dependency and HTTP configuration, not provisioning or operating an Ethereum node.
- Actual RPC responses depend on the configured endpoint.
Set up WebSocket subscriptions
Configure Ethereumex to connect over WebSocket and subscribe to supported blockchain notifications.
Before you start
- An Elixir application with Ethereumex installed
- An Ethereum WebSocket JSON-RPC endpoint
Steps
Set
websocket_urlandclient_type: :websocketin the Ethereumex configuration.Use the WebSocket client to subscribe to
:newHeads,:logswith an optional filter, or:newPendingTransactions.Handle
eth_subscriptionnotifications in the application process and unsubscribe with the returned subscription ID when finished.
Expected outcome
The application is configured to receive notifications for the selected subscription type.
Guide limitations
- The guide does not cover setting up the WebSocket endpoint.
- The README documents these subscription types; available notifications depend on the connected endpoint.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 9 October 2026
- Original website title
- mana-ethereum/ethereumex · Official homepage title · retained in its source language

