Skip to main content
POST
rpc_modules
curl --request POST \
  --url https://rpc.testnet.tempo.xyz/ \
  --header 'Content-Type: application/json' \
  --data '
{
  "jsonrpc": "2.0",
  "method": "rpc_modules",
  "params": [],
  "id": 1
}
'
{
  "jsonrpc": "<string>",
  "id": 123,
  "result": {}
}
Tempo API method that returns the available RPC namespaces and their versions. This is useful for discovering which API methods are supported by the node.

Parameters

  • none

Response

  • result — an object with module names as keys and versions as values

Available namespaces on Tempo

NamespaceVersionDescription
eth1.0Standard Ethereum methods
net1.0Network methods
web31.0Web3 utility methods
debug1.0Debug and trace methods
trace1.0Transaction tracing
txpool1.0Transaction pool methods
rpc1.0RPC info methods
miner1.0Miner methods
Tempo also has Tempo-specific namespaces (tempo_, admin_) for blockchain-specific features.

rpc_modules code examples

const ethers = require('ethers');
const NODE_URL = "CHAINSTACK_NODE_URL";
const provider = new ethers.JsonRpcProvider(NODE_URL);

const getModules = async () => {
    const modules = await provider.send("rpc_modules", []);
    console.log("Available modules:");
    for (const [name, version] of Object.entries(modules)) {
      console.log(`  ${name}: ${version}`);
    }
  };

getModules();

Example response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "rpc": "1.0",
    "web3": "1.0",
    "eth": "1.0",
    "txpool": "1.0",
    "net": "1.0",
    "debug": "1.0",
    "miner": "1.0",
    "trace": "1.0"
  }
}

Body

application/json
jsonrpc
string
default:2.0
method
string
default:rpc_modules
params
any[]
id
integer
default:1

Response

200 - application/json

Available RPC modules

jsonrpc
string
id
integer
result
object

Object with module names as keys and versions as values