rpc_modules - Ink RPC Method
Inspect which JSON-RPC namespaces are enabled on your Ink endpoint. Useful for capability checks, client diagnostics, and RPC feature discovery.
Returns the enabled JSON-RPC namespaces exposed by the connected Ink endpoint together with their version strings.
Non-standard method.
rpc_modulesis a client-introspection RPC that is commonly available on Geth-compatible stacks, but it is not part of the core Ethereum Execution API method set. Availability varies by client and operator policy.
Why Ink? Build on Kraken's DeFi-focused Ethereum L2 built on the OP Stack and connected to the Optimism Superchain with 1s block times, ETH gas, Kraken-backed infrastructure, OP Stack compatibility, and Superchain interoperability.
When to Use This Method
rpc_modules is useful for Ink developers, DeFi builders, and teams deploying Solidity applications on the Superchain:
- Capability Discovery - Detect whether namespaces like
debug,trace,txpool, orerigonare exposed before attempting those calls - Client Diagnostics - Verify what the serving node has enabled when debugging environment-specific issues
- Infrastructure Audits - Compare public and private endpoints to confirm which RPC surfaces are intentionally exposed
- Runtime Feature Gating - Adjust tooling behavior dynamically based on the actual namespaces available on a node
Best Practices
- Call at startup to determine which features are available on a node
- Module availability varies by node client and provider configuration
- Use to gate feature access in applications before attempting unsupported calls
- This is a non-standard method; some endpoints may not expose it
Code Examples
Error Handling
| Error Code | Message | Description |
|---|---|---|
| -32601 | Method not found | The client or endpoint does not expose rpc_modules |
| -32603 | Internal error | The node rejected or failed to process the request |
Related Methods
web3_clientVersion- Inspect the client software version stringdebug_traceTransaction- Debug namespace exampletrace_transaction- Trace namespace example
eth_protocolVersion
Get the current Ethereum protocol version on Ink. Useful for client compatibility checks and identifying version-gated features.
txpool_status
Inspect pending and queued transaction counts in the Ink transaction pool. Useful for mempool monitoring, congestion analysis, and node health checks.