Install
openclaw skills install ethereum-jsonrpc-skillOperate Ethereum execution JSON-RPC through UXC with the official execution OpenRPC schema, public EVM read methods, and eth_subscribe pubsub guardrails.
openclaw skills install ethereum-jsonrpc-skillUse this skill to run Ethereum execution JSON-RPC operations through uxc + JSON-RPC.
Reuse the uxc skill for shared execution, auth, and error-handling guidance.
uxc is installed and available in PATH.https://raw.githubusercontent.com/ethereum/execution-apis/assembled-spec/refs-openrpc.jsonThis skill covers a safe read-first Ethereum execution surface:
eth_subscribe pubsub subscriptions for new heads, logs, and pending transactionsThis skill does not cover:
eth_sendRawTransactionpersonal_*, admin_*, debug_*, engine_*, txpool_*This skill defaults to a public read provider:
https://ethereum-rpc.publicnode.comThe operation surface comes from the official Ethereum execution OpenRPC schema:
https://raw.githubusercontent.com/ethereum/execution-apis/assembled-spec/refs-openrpc.jsonuxc JSON-RPC discovery normally depends on OpenRPC or rpc.discover. Ethereum RPC providers often do not expose discovery directly, so this skill uses a fixed --schema-url link and request flow.
The official execution OpenRPC document is strong enough for normal request/response methods, but it does not currently expose pubsub methods such as eth_subscribe. Use the schema-backed link for reads, and use uxc subscribe start directly for subscriptions.
For subscriptions, use a WebSocket Ethereum RPC provider that you have verified actually accepts eth_subscribe. Do not assume a public HTTPS host automatically guarantees the same wss:// host is stable for pubsub.
The default public read provider used by this skill does not require authentication.
If a user later points the same workflow at a private Ethereum RPC provider, verify its auth model first before reusing this skill unchanged.
Use the fixed link command by default:
command -v ethereum-jsonrpc-cliuxc link ethereum-jsonrpc-cli https://ethereum-rpc.publicnode.com --schema-url https://raw.githubusercontent.com/ethereum/execution-apis/assembled-spec/refs-openrpc.jsonethereum-jsonrpc-cli -hInspect operation schema first:
ethereum-jsonrpc-cli eth_blockNumber -hethereum-jsonrpc-cli eth_getBlockByNumber -hethereum-jsonrpc-cli eth_getBalance -hPrefer chain and balance/block reads before deeper state queries:
ethereum-jsonrpc-cli eth_chainIdethereum-jsonrpc-cli eth_blockNumberethereum-jsonrpc-cli eth_getBalance Address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 Block=latestExecute with key/value or positional JSON:
ethereum-jsonrpc-cli eth_getBalance Address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 Block=latestethereum-jsonrpc-cli eth_getBlockByNumber '["latest", false]'ethereum-jsonrpc-cli eth_call '[{"to":"0xA0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","data":"0x313ce567"},"latest"]'Use uxc subscribe start directly for pubsub streams:
uxc subscribe start wss://<verified-ethereum-rpc-host> eth_subscribe '{"params":["newHeads"]}' --sink file:$HOME/.uxc/subscriptions/eth-new-heads.ndjsonuxc subscribe start wss://<verified-ethereum-rpc-host> eth_subscribe '{"params":["logs",{"address":"0xA0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"}]}' --sink file:$HOME/.uxc/subscriptions/eth-logs.ndjsonuxc subscribe status <job_id>uxc subscribe stop <job_id>net_versioneth_chainIdeth_blockNumbereth_getBlockByNumbereth_getBalanceeth_getLogseth_calleth_subscribeSubscription params[0] modes that are usually most useful:
newHeadslogsnewPendingTransactions--text.ok, kind, protocol, data, error.eth_subscribe by default.eth_subscribe; treat subscriptions as runtime-only flows, not schema-discovered operations.uxc subscribe start for pubsub methods; the fixed ethereum-jsonrpc-cli link is for normal request/response methods.wss:// endpoint.ethereum-jsonrpc-cli <operation> ... is equivalent to uxc https://ethereum-rpc.publicnode.com --schema-url <ethereum_execution_openrpc_schema> <operation> ....references/usage-patterns.md