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, andeth_getStorageAtfor direct state reads. - Use
eth_getLogsfor historical event backfills and WebSocketlogssubscriptions for live event streams. - Use
eth_sendRawTransactionfor 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 component | Applies to | Rate |
|---|---|---|
| RPC calls | Default | 20 credits per RPC call |
| RPC calls | RPC method cost class: Standard | 20 credits per RPC call |
| RPC calls | RPC method cost class: Compute-heavy | 30 credits per RPC call |
| RPC calls | RPC method cost class: Log scans | 40 credits per RPC call |
| RPC calls | RPC method cost class: State proofs | 40 credits per RPC call |
| RPC calls | RPC method cost class: Trace and debug | 60 credits per RPC call |
| Subscription events | Default | 20 credits per subscription event |
| Subscription events | Subscription type: newHeads | 20 credits per subscription event |
| Subscription events | Subscription type: logs | 20 credits per subscription event |
| Subscription events | Subscription type: newPendingTransactions | 20 credits per subscription event |
| Subscription events | Subscription type: syncing | 20 credits per subscription event |
| Response bytes | Default | 0 credits per GiB |
| Response bytes | RPC method cost class: Log scans | 1,500,000 credits per GiB |
RPC method cost class
| Class | Methods |
|---|---|
| Compute-heavy | eth_call, eth_createAccessList, eth_estimateGas |
| Log scans | eth_getLogs |
| State proofs | eth_getProof |
| Trace and debug | debug_…, trace_… |
| Standard | All 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
| Method | Params | Returns | Transport | Notes |
|---|---|---|---|---|
web3_clientVersion | [] | Client version string | HTTPS | Useful for diagnostics, not feature detection. |
web3_sha3 | [data] | Keccak-256 hash | HTTPS | Input and output are hex-encoded. |
net_version | [] | Network ID string | HTTPS | Prefer eth_chainId for EVM chain identity. |
net_listening | [] | Boolean | HTTPS | Compatibility method. |
net_peerCount | [] | Peer count hex quantity | HTTPS | Value depends on upstream node and network. |
eth_chainId | [] | EIP-155 chain ID hex quantity | HTTPS | Use before signing transactions. |
eth_protocolVersion | [] | Protocol version string | HTTPS | Legacy compatibility method. |
eth_syncing | [] | Sync object or false | HTTPS | Hosted endpoints should normally return false. |
Blocks and fees
| Method | Params | Returns | Transport | Notes |
|---|---|---|---|---|
eth_blockNumber | [] | Latest known block number | HTTPS | Use as an anchor for repeatable reads. |
eth_getBlockByHash | [blockHash, hydrateTransactions] | Block object or null | HTTPS | Set hydration to true only when full transactions are needed. |
eth_getBlockByNumber | [blockTagOrNumber, hydrateTransactions] | Block object or null | HTTPS | Supports latest, safe, finalized, and explicit block numbers. |
eth_getBlockReceipts | [blockHashOrNumber] | Receipt array or null | HTTPS | More efficient than many individual receipt lookups when supported by the upstream client. |
eth_getBlockTransactionCountByHash | [blockHash] | Transaction count hex quantity | HTTPS | Returns null if the block is unknown. |
eth_getBlockTransactionCountByNumber | [blockTagOrNumber] | Transaction count hex quantity | HTTPS | Use explicit blocks for repeatable reads. |
eth_gasPrice | [] | Gas price hex quantity | HTTPS | For EIP-1559 transactions, prefer fee history and priority fee methods. |
eth_maxPriorityFeePerGas | [] | Priority fee hex quantity | HTTPS | Client and network behavior can vary. |
eth_feeHistory | [blockCount, newestBlock, rewardPercentiles] | Fee history object | HTTPS | Use bounded block counts. |
eth_blobBaseFee | [] | Blob base fee hex quantity | HTTPS | Relevant for networks with EIP-4844 blob gas. |
State and execution
| Method | Params | Returns | Transport | Notes |
|---|---|---|---|---|
eth_getBalance | [address, block] | Wei balance hex quantity | HTTPS | Use explicit blocks for repeatable reads. |
eth_getStorageAt | [address, slot, block] | 32-byte storage value | HTTPS | Archive access is available for historical state. |
eth_getTransactionCount | [address, block] | Account nonce hex quantity | HTTPS | Use pending carefully when preparing transactions. |
eth_getCode | [address, block] | Contract bytecode | HTTPS | Empty bytecode is returned for EOAs and nonexistent contracts. |
eth_getProof | [address, storageKeys, block] | Account and storage proof object | HTTPS | Useful for verification workflows. |
eth_call | [transactionCallObject, block] | Return data bytes | HTTPS | Contract reverts are application results unless the envelope fails. |
eth_estimateGas | [transactionCallObject, block?] | Estimated gas hex quantity | HTTPS | Treat as an estimate, not a guarantee. |
eth_createAccessList | [transactionCallObject, block?] | Access-list result object | HTTPS | Useful for advanced transaction preparation. |
Transactions
| Method | Params | Returns | Transport | Notes |
|---|---|---|---|---|
eth_sendRawTransaction | [signedTransactionData] | Transaction hash | HTTPS | Recommended submission path. Sign locally. |
eth_sendTransaction | [transactionObject] | Transaction hash | HTTPS | Hosted RPC does not custody user keys; most apps should not rely on this. |
eth_sign | [address, data] | Signature | HTTPS | Hosted RPC does not custody user keys; prefer wallet or application signing. |
eth_signTransaction | [transactionObject] | Signed transaction data | HTTPS | Hosted RPC does not custody user keys. |
eth_getTransactionByHash | [transactionHash] | Transaction object or null | HTTPS | Returns null until the transaction is known to the node. |
eth_getTransactionByBlockHashAndIndex | [blockHash, index] | Transaction object or null | HTTPS | Use when the block hash is already known. |
eth_getTransactionByBlockNumberAndIndex | [blockTagOrNumber, index] | Transaction object or null | HTTPS | Use explicit block numbers for repeatable reads. |
eth_getTransactionReceipt | [transactionHash] | Receipt object or null | HTTPS | Returns null while pending. |
eth_accounts | [] | Address array | HTTPS | Hosted RPC normally returns an empty list. |
Logs and filters
| Method | Params | Returns | Transport | Notes |
|---|---|---|---|---|
eth_getLogs | [filterObject] | Log array | HTTPS | Use bounded block ranges; broad archive scans can hit organization limits. |
eth_newFilter | [filterObject] | Filter ID | HTTPS | Store filter IDs only for short-lived polling. |
eth_newBlockFilter | [] | Filter ID | HTTPS | Prefer WebSocket newHeads for long-lived streams. |
eth_newPendingTransactionFilter | [] | Filter ID | HTTPS | Pending transaction visibility varies by network. |
eth_getFilterChanges | [filterId] | Log, block hash, or transaction hash array | HTTPS | Poll frequently enough to avoid filter expiration. |
eth_getFilterLogs | [filterId] | Log array | HTTPS | Use eth_getLogs for stateless historical reads. |
eth_uninstallFilter | [filterId] | Boolean | HTTPS | Always 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.
| Method | Params | Returns | Transport | Notes |
|---|---|---|---|---|
trace_transaction | [transactionHash] | Array of call traces | HTTPS | Every internal call of one mined transaction. |
trace_get | [transactionHash, traceIndices] | Call trace or null | HTTPS | One trace from a transaction by its position. |
trace_block | [blockTagOrNumber] | Array of call traces | HTTPS | Responses grow with the block's transaction count. |
trace_filter | [filterObject] | Array of call traces | HTTPS | Filter by block range and from or to address; use bounded ranges. |
trace_call | [transactionCallObject, traceTypes, block] | Trace results | HTTPS | Traces a call without submitting it. |
trace_callMany | [[transactionCallObject, traceTypes][], block] | Array of trace results | HTTPS | Traces calls in sequence on the same state. |
trace_replayTransaction | [transactionHash, traceTypes] | Trace results | HTTPS | traceTypes selects trace, vmTrace and stateDiff. |
trace_replayBlockTransactions | [blockTagOrNumber, traceTypes] | Array of trace results | HTTPS | Replays every transaction in a block. |
WebSocket subscriptions
| Method | Params | Returns | Transport | Notes |
|---|---|---|---|---|
eth_subscribe | [subscriptionType, options?] | Subscription ID | WebSocket | Supported types include newHeads, logs, newPendingTransactions, and syncing. |
eth_unsubscribe | [subscriptionId] | Boolean | WebSocket | Unsubscribe 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.
| Method | Params | Returns | Transport | Notes |
|---|---|---|---|---|
eth_coinbase | [] | Address | HTTPS | Legacy compatibility method. |
eth_mining | [] | Boolean | HTTPS | Usually false on modern hosted endpoints. |
eth_hashrate | [] | Hashrate hex quantity | HTTPS | Usually 0x0 on modern hosted endpoints. |
eth_getWork | [] | Work array | HTTPS | Legacy proof-of-work method. |
eth_submitWork | [nonce, powHash, digest] | Boolean | HTTPS | Legacy proof-of-work method. |
eth_submitHashrate | [hashrate, id] | Boolean | HTTPS | Legacy proof-of-work method. |
eth_getUncleCountByBlockHash | [blockHash] | Uncle count hex quantity | HTTPS | Legacy Ethereum block structure. |
eth_getUncleCountByBlockNumber | [blockTagOrNumber] | Uncle count hex quantity | HTTPS | Legacy Ethereum block structure. |
eth_getUncleByBlockHashAndIndex | [blockHash, index] | Uncle block object or null | HTTPS | Legacy Ethereum block structure. |
eth_getUncleByBlockNumberAndIndex | [blockTagOrNumber, index] | Uncle block object or null | HTTPS | Legacy Ethereum block structure. |
Next steps
Last updated