Skip to main content
Lumera publishes a machine readable API catalog in the OpenRPC format. Wallets, developer tools, and code generators can discover every JSON-RPC method the node supports, including parameters, return types, and usage examples. This page shows how to fetch the spec and browse it interactively. The EVM and its JSON-RPC surface are live on testnet (lumera-testnet-2) only. Mainnet gains them with its EVM upgrade.

Two ways to fetch the spec

Both return the same embedded spec of about 743 methods. The spec is regenerated on every build from the actual Go RPC implementation, so it never drifts from the running code.

Quick start

Query the public testnet endpoint with rpc_discover.
Expected output.
On your own node, the Cosmos REST server also serves the spec over plain HTTP.
The HTTP endpoint is served by the Cosmos REST API server on port 1317, not the EVM JSON-RPC server on port 8545. The REST server needs api.enable = true and the JSON-RPC server needs json-rpc.enable = true in app.toml.

Use the OpenRPC playground

The OpenRPC Playground is a browser based explorer that renders the spec as a searchable method list with live request execution. Pass the spec location in the url query parameter. Point it at a node’s REST port, which serves /openrpc.json.
Or point it directly at the JSON-RPC port, which answers both discovery names.
Inside the playground you can do the following.
  • Browse the left panel, which groups methods by namespace (eth, net, web3, debug, txpool, rpc)
  • Click a method to see its parameters, return type, and examples
  • Click “Try It” to execute the method against the connected node
  • Read results inline with syntax highlighting
The playground loads the spec with a GET to /openrpc.json, then sends “Try It” requests as POSTs back to the same URL. Lumera proxies POST /openrpc.json to the internal JSON-RPC server and rewrites the OpenRPC style rpc.discover name to the native rpc_discover for compatibility. Direct requests to the JSON-RPC port accept both names.
Mainnet builds refuse to start with the debug, personal, or admin namespaces enabled. Testnet allows them, so plan tracing dependent workflows accordingly.

CORS for browser access

The /openrpc.json endpoint and the WebSocket server share one CORS origin list, configured in app.toml.
Restrict origins to specific domains on production endpoints.

Configuration requirements

For discovery to work on your own node, app.toml needs the JSON-RPC server enabled with the rpc namespace in the API list.
The rpc namespace is included by default and re-added during config migration. If you customized the api list, make sure rpc is still present. The HTTP endpoint additionally requires the REST server.

Useful queries

Regenerating the spec

This part only matters if you work on the lumerad codebase itself. The spec is embedded in the binary at build time. After adding or changing JSON-RPC methods, regenerate it with make openrpc. The spec also regenerates automatically as a dependency of make build, so a fresh build always serves a catalog that matches its compiled RPC surface.

Next steps

Deploy with Remix

Use the RPC surface interactively by deploying a Solidity contract.

EVM JSON-RPC reference

Endpoints and methods for scripting against the EVM.