eth_hashrate - Tempo RPC Method
Get the legacy eth_hashrate compatibility value on Tempo. Public endpoints may return `0x0` or an unsupported-method error depending on the client.
Tempo RPC endpoint: endpoint URLs, plans and pricing.
Returns the legacy eth_hashrate compatibility value on Tempo. Depending on the client behind the endpoint, this call may return a hex quantity like 0x0 or a method-not-found style error.
Why Tempo? Build on a payments-first EVM chain with deterministic settlement and stablecoin-native fees with no native gas token, fees denominated in supported USD stablecoins, and full EVM RPC compatibility.
Note: Treat
eth_hashrateas a node-local mining metric and compatibility value. Public endpoints often report0x0or reject the method entirely, so it is not a reliable chain-health or consensus signal.
When to Use This Method
eth_hashrate is relevant for payment application developers, wallet teams, stablecoin issuers, and treasury automation builders:
- Node Diagnostics - Check whether the connected client reports a legacy hashrate metric
- Client Capability Checks - Distinguish between
0x0, unsupported-method, and method-not-found responses - Dashboard Integration - Display the metric alongside other node status data when it is available
Best Practices
- Returns
0x0on proof-of-stake chains (post-Merge) and most modern deployments - Not relevant for most production environments; treat as informational only
- Do not rely on this method for chain health or consensus signals
- Use eth_syncing or eth_blockNumber for reliable node status monitoring
{
"jsonrpc": "2.0",
"method": "eth_hashrate",
"params": [],
"id": 1
}Code Examples
Common Use Cases
1. Compatibility-Aware Status Dashboard
Display the reported compatibility value alongside other client status signals without assuming the method is always available:
async function getMiningStats(provider) {
const blockNumber = await provider.getBlockNumber();
let hashrate = null;
let supported = true;
try {
hashrate = await provider.send('eth_hashrate', []);
} catch (error) {
supported = false;
}
return {
supported,
hashrate: hashrate ? parseInt(hashrate, 16) : null,
currentBlock: blockNumber
};
}2. Capability Check
Check whether the connected client reports eth_hashrate at all:
async function getHashrateStatus(provider) {
try {
const hashrate = await provider.send('eth_hashrate', []);
return { supported: true, raw: hashrate, isZero: hashrate === '0x0' };
} catch (error) {
return { supported: false, message: error.message };
}
}
console.log(await getHashrateStatus(provider));Error Handling
Common errors and solutions:
| Error Code | Description | Solution |
|---|---|---|
| -32603 | Internal error | Node may be initializing - retry after delay |
| -32601 | Method not found | Node client may not support this method |
| -32005 | Rate limit exceeded | Reduce polling frequency |
Related Methods
eth_mining- Check if the node is actively miningeth_coinbase- Get the mining/coinbase addresseth_blockNumber- Get the current block height
txpool_content
Inspect the full pending and queued transaction pool on Tempo. Useful for mempool analytics, transaction replacement debugging, and operational monitoring.
Sui Network
Connect to Dwellir's Sui mainnet gRPC endpoint for typed blockchain queries, transaction execution, and real-time streams.