Skip to content

Supported methods

Parameters, return shapes, transports, costs, and notes for standard EVM JSON-RPC methods.

GraphOps supports standard Ethereum-compatible JSON-RPC methods on supported EVM networks. Methods are available over HTTPS unless the transport column says WebSocket only. Current credit rates and method classes appear below.

Bitcoin RPC uses native Bitcoin JSON-RPC method names rather than the EVM methods listed on this page. See API integration for the Bitcoin endpoint and request shape.

Method behavior can differ by network and node client. Check the notes for the methods you use; for an unlisted method or network-specific feature, ask GraphOps support(opens in a new tab) about availability.

Choose a method

  • Use eth_call, eth_getBalance, eth_getCode, and eth_getStorageAt for direct state reads.
  • Use eth_getLogs for historical event backfills and WebSocket logs subscriptions for live event streams.
  • Use eth_sendRawTransaction for transaction submission. Sign transactions in your application or wallet.
  • Use safe, finalized, or explicit block references when consistency matters more than freshness.
  • Use Substreams or Subgraphs when the workflow is better served by streaming or indexed GraphQL access.

Current credit rates

Current rates as of Nov 14, 2026, 12:03 AM UTC.

Usage componentApplies toRate
RPC callsDefault20 credits per RPC call
RPC callsRPC method cost class: Standard20 credits per RPC call
RPC callsRPC method cost class: Compute-heavy30 credits per RPC call
RPC callsRPC method cost class: Log scans40 credits per RPC call
RPC callsRPC method cost class: State proofs40 credits per RPC call
RPC callsRPC method cost class: Trace and debug60 credits per RPC call
Subscription eventsDefault20 credits per subscription event
Subscription eventsSubscription type: newHeads20 credits per subscription event
Subscription eventsSubscription type: logs20 credits per subscription event
Subscription eventsSubscription type: newPendingTransactions20 credits per subscription event
Subscription eventsSubscription type: syncing20 credits per subscription event
Response bytesDefault0 credits per GiB
Response bytesRPC method cost class: Log scans1,500,000 credits per GiB

RPC method cost class

ClassMethods
Compute-heavyeth_call, eth_createAccessList, eth_estimateGas
Log scanseth_getLogs
State proofseth_getProof
Trace and debugdebug_…, trace_…
StandardAll methods not matched by another class

Request example

JSON

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "eth_blockNumber",
  "params": []
}

Output

{  "jsonrpc": "2.0",JSON-RPC version  "id": 1,Matches the id you sent  "result": "0x191161d"Latest block in decimal: 26,285,597}

Client and network

MethodParamsReturnsTransportNotes
web3_clientVersion[]Client version stringHTTPSUseful for diagnostics, not feature detection.
web3_sha3[data]Keccak-256 hashHTTPSInput and output are hex-encoded.
net_version[]Network ID stringHTTPSPrefer eth_chainId for EVM chain identity.
net_listening[]BooleanHTTPSCompatibility method.
net_peerCount[]Peer count hex quantityHTTPSValue depends on upstream node and network.
eth_chainId[]EIP-155 chain ID hex quantityHTTPSUse before signing transactions.
eth_protocolVersion[]Protocol version stringHTTPSLegacy compatibility method.
eth_syncing[]Sync object or falseHTTPSHosted endpoints should normally return false.

Blocks and fees

MethodParamsReturnsTransportNotes
eth_blockNumber[]Latest known block numberHTTPSUse as an anchor for repeatable reads.
eth_getBlockByHash[blockHash, hydrateTransactions]Block object or nullHTTPSSet hydration to true only when full transactions are needed.
eth_getBlockByNumber[blockTagOrNumber, hydrateTransactions]Block object or nullHTTPSSupports latest, safe, finalized, and explicit block numbers.
eth_getBlockReceipts[blockHashOrNumber]Receipt array or nullHTTPSMore efficient than many individual receipt lookups when supported by the upstream client.
eth_getBlockTransactionCountByHash[blockHash]Transaction count hex quantityHTTPSReturns null if the block is unknown.
eth_getBlockTransactionCountByNumber[blockTagOrNumber]Transaction count hex quantityHTTPSUse explicit blocks for repeatable reads.
eth_gasPrice[]Gas price hex quantityHTTPSFor EIP-1559 transactions, prefer fee history and priority fee methods.
eth_maxPriorityFeePerGas[]Priority fee hex quantityHTTPSClient and network behavior can vary.
eth_feeHistory[blockCount, newestBlock, rewardPercentiles]Fee history objectHTTPSUse bounded block counts.
eth_blobBaseFee[]Blob base fee hex quantityHTTPSRelevant for networks with EIP-4844 blob gas.

State and execution

MethodParamsReturnsTransportNotes
eth_getBalance[address, block]Wei balance hex quantityHTTPSUse explicit blocks for repeatable reads.
eth_getStorageAt[address, slot, block]32-byte storage valueHTTPSArchive access is available for historical state.
eth_getTransactionCount[address, block]Account nonce hex quantityHTTPSUse pending carefully when preparing transactions.
eth_getCode[address, block]Contract bytecodeHTTPSEmpty bytecode is returned for EOAs and nonexistent contracts.
eth_getProof[address, storageKeys, block]Account and storage proof objectHTTPSUseful for verification workflows.
eth_call[transactionCallObject, block]Return data bytesHTTPSContract reverts are application results unless the envelope fails.
eth_estimateGas[transactionCallObject, block?]Estimated gas hex quantityHTTPSTreat as an estimate, not a guarantee.
eth_createAccessList[transactionCallObject, block?]Access-list result objectHTTPSUseful for advanced transaction preparation.

Transactions

MethodParamsReturnsTransportNotes
eth_sendRawTransaction[signedTransactionData]Transaction hashHTTPSRecommended submission path. Sign locally.
eth_sendTransaction[transactionObject]Transaction hashHTTPSHosted RPC does not custody user keys; most apps should not rely on this.
eth_sign[address, data]SignatureHTTPSHosted RPC does not custody user keys; prefer wallet or application signing.
eth_signTransaction[transactionObject]Signed transaction dataHTTPSHosted RPC does not custody user keys.
eth_getTransactionByHash[transactionHash]Transaction object or nullHTTPSReturns null until the transaction is known to the node.
eth_getTransactionByBlockHashAndIndex[blockHash, index]Transaction object or nullHTTPSUse when the block hash is already known.
eth_getTransactionByBlockNumberAndIndex[blockTagOrNumber, index]Transaction object or nullHTTPSUse explicit block numbers for repeatable reads.
eth_getTransactionReceipt[transactionHash]Receipt object or nullHTTPSReturns null while pending.
eth_accounts[]Address arrayHTTPSHosted RPC normally returns an empty list.

Logs and filters

MethodParamsReturnsTransportNotes
eth_getLogs[filterObject]Log arrayHTTPSUse bounded block ranges; broad archive scans can hit organization limits.
eth_newFilter[filterObject]Filter IDHTTPSStore filter IDs only for short-lived polling.
eth_newBlockFilter[]Filter IDHTTPSPrefer WebSocket newHeads for long-lived streams.
eth_newPendingTransactionFilter[]Filter IDHTTPSPending transaction visibility varies by network.
eth_getFilterChanges[filterId]Log, block hash, or transaction hash arrayHTTPSPoll frequently enough to avoid filter expiration.
eth_getFilterLogs[filterId]Log arrayHTTPSUse eth_getLogs for stateless historical reads.
eth_uninstallFilter[filterId]BooleanHTTPSAlways uninstall filters created by short-lived jobs.

Execution traces

The trace_* methods replay transactions and blocks and return their internal calls and state changes. They run only on networks whose Tracing column shows Yes in Supported networks. Tracing a past block also needs archive access on that network. Traces are heavy: trace one transaction or block at a time, and keep trace_filter ranges narrow.

MethodParamsReturnsTransportNotes
trace_transaction[transactionHash]Array of call tracesHTTPSEvery internal call of one mined transaction.
trace_get[transactionHash, traceIndices]Call trace or nullHTTPSOne trace from a transaction by its position.
trace_block[blockTagOrNumber]Array of call tracesHTTPSResponses grow with the block's transaction count.
trace_filter[filterObject]Array of call tracesHTTPSFilter by block range and from or to address; use bounded ranges.
trace_call[transactionCallObject, traceTypes, block]Trace resultsHTTPSTraces a call without submitting it.
trace_callMany[[transactionCallObject, traceTypes][], block]Array of trace resultsHTTPSTraces calls in sequence on the same state.
trace_replayTransaction[transactionHash, traceTypes]Trace resultsHTTPStraceTypes selects trace, vmTrace and stateDiff.
trace_replayBlockTransactions[blockTagOrNumber, traceTypes]Array of trace resultsHTTPSReplays every transaction in a block.

WebSocket subscriptions

MethodParamsReturnsTransportNotes
eth_subscribe[subscriptionType, options?]Subscription IDWebSocketSupported types include newHeads, logs, newPendingTransactions, and syncing.
eth_unsubscribe[subscriptionId]BooleanWebSocketUnsubscribe before closing long-lived clients when possible.

Legacy compatibility

These methods exist for compatibility with Ethereum clients and older tooling. Some return values are not useful on proof-of-stake or L2 networks.

MethodParamsReturnsTransportNotes
eth_coinbase[]AddressHTTPSLegacy compatibility method.
eth_mining[]BooleanHTTPSUsually false on modern hosted endpoints.
eth_hashrate[]Hashrate hex quantityHTTPSUsually 0x0 on modern hosted endpoints.
eth_getWork[]Work arrayHTTPSLegacy proof-of-work method.
eth_submitWork[nonce, powHash, digest]BooleanHTTPSLegacy proof-of-work method.
eth_submitHashrate[hashrate, id]BooleanHTTPSLegacy proof-of-work method.
eth_getUncleCountByBlockHash[blockHash]Uncle count hex quantityHTTPSLegacy Ethereum block structure.
eth_getUncleCountByBlockNumber[blockTagOrNumber]Uncle count hex quantityHTTPSLegacy Ethereum block structure.
eth_getUncleByBlockHashAndIndex[blockHash, index]Uncle block object or nullHTTPSLegacy Ethereum block structure.
eth_getUncleByBlockNumberAndIndex[blockTagOrNumber, index]Uncle block object or nullHTTPSLegacy Ethereum block structure.

Next steps

Last updated