Credit costs
The following tables outline the credit costs associated with various RPC methods across different networks. The credit calculation logic is designed to ensure accurate and fair pricing based on the specific network and method being used.
Requests for archive data (older than 128 blocks) currently cost the same as non-archive data, but this might change in the near future.
The process used to determine the credit cost for each request is as follows:
-
Initial check for a specific credit value - When you make a request, the system first checks if there is a specific credit value assigned for the network and method used. This ensures that any unique resource requirements or costs associated with a particular network are accurately reflected.
-
Fallback to the Ethereum method's credit value - If no specific credit value is found for the network, the system applies the Ethereum method's credit value. Ethereum serves as the baseline for pricing core RPC methods.
-
Fallback to the default credit value - If the method is not found in the Ethereum table either, the system applies a default credit value. Initially set to 80 credits, this default value ensures all requests are accounted for, even if specific pricing information is not available.
Error code costs
When making requests that return status code errors, some errors count towards your credit usage.
429errors: These are not charged and can occur if you've exceeded your allowed throughput limit (requests per second).402errors: These are not charged and can occur if you've exceeded your allowed daily credit usage.4xxerrors: These are errors caused by human input, and consume 5 credits.5xxerrors: These are server errors, and do not consume any credit charges.
Ethereum
The Ethereum methods serve as a baseline for pricing RPC methods. If a credit cost is not available for a specific network, then use the default Ethereum method's credit cost.
Standard Ethereum-compliant JSON-RPC methods
| RPC method | Credit cost |
|---|---|
eth_accounts | 80 |
eth_blobBaseFee | 300 |
eth_blockNumber | 80 |
eth_call | 80 |
eth_chainId | 5 |
eth_createAccessList | 80 |
eth_estimateGas | 300 |
eth_feeHistory | 80 |
eth_gasPrice | 80 |
eth_getBalance | 80 |
eth_getBlockByHash | 80 |
eth_getBlockByNumber | 80 |
eth_getBlockReceipts | 1000 |
eth_getBlockTransactionCountByHash | 150 |
eth_getBlockTransactionCountByNumber | 150 |
eth_getCode | 80 |
eth_getLogs | 255 |
eth_getProof | 150 |
eth_getStorageAt | 80 |
eth_getTransactionByBlockHashAndIndex | 150 |
eth_getTransactionByBlockNumberAndIndex | 150 |
eth_getTransactionByHash | 80 |
eth_getTransactionCount | 80 |
eth_getTransactionReceipt | 80 |
eth_getUncleByBlockHashAndIndex | 150 |
eth_getUncleByBlockNumberAndIndex | 150 |
eth_getUncleCountByBlockHash | 150 |
eth_getUncleCountByBlockNumber | 150 |
eth_getWork | 80 |
eth_hashrate | 5 |
eth_maxPriorityFeePerGas | 80 |
eth_mining | 5 |
eth_protocolVersion | 5 |
eth_sendRawTransaction | 80 |
eth_sign | 80 |
eth_simulateV1 | 300 |
eth_submitWork | 80 |
eth_subscribe | 5 |
eth_syncing | 5 |
eth_unsubscribe | 10 |
net_listening | 5 |
net_peerCount | 80 |
net_version | 5 |
web3_clientVersion | 80 |
Trace methods
| RPC method | Credit cost |
|---|---|
trace_block | 300 |
trace_call | 300 |
trace_callMany | 300 |
trace_filter | 300 |
trace_transaction | 300 |
Filter methods
| RPC method | Credit cost |
|---|---|
eth_getFilterChanges | 140 |
eth_getFilterLogs | 255 |
eth_newBlockFilter | 80 |
eth_newFilter | 80 |
eth_uninstallFilter | 80 |
Debug methods
| RPC method | Credit cost |
|---|---|
debug_storageRangeAt | 1000 |
debug_traceBlock | 1000 |
debug_traceBlockByHash | 1000 |
debug_traceBlockByNumber | 1000 |
debug_traceCall | 1000 |
debug_traceTransaction | 1000 |
Subscription events
You can subscribe and unsubscribe to events using eth_subscribe and eth_unsubscribe.
The credit costs for the logs and newHeads events are charged per block, whereas newPendingTransaction events
are charged at approximately one second intervals.
| Subscription events | Credit cost |
|---|---|
logs | 300 |
newHeads | 50 |
newPendingTransaction | 200 |
Linea
| RPC method | Credit cost |
|---|---|
linea_estimateGas | 100 |
Polygon
| RPC method | Credit cost |
|---|---|
bor_getAuthor | 80 |
bor_getCurrentProposer | 80 |
bor_getCurrentValidators | 80 |
bor_getRootHash | 80 |
bor_getSignersAtHash | 80 |
Starknet
| RPC Method | Credit cost |
|---|---|
starknet_addDeclareTransaction | 700 |
starknet_addDeployAccountTransaction | 700 |
starknet_addInvokeTransaction | 700 |
starknet_blockHashAndNumber | 80 |
starknet_blockNumber | 80 |
starknet_call | 80 |
starknet_chainId | 5 |
starknet_estimateFee | 240 |
starknet_getBlockTransactionCount | 80 |
starknet_getBlockWithTxHashes | 80 |
starknet_getBlockWithTxs | 80 |
starknet_getClass | 80 |
starknet_getClassAt | 80 |
starknet_getClassHashAt | 80 |
starknet_getEvents | 200 |
starknet_getNonce | 80 |
starknet_getStateUpdate | 80 |
starknet_getStorageAt | 80 |
starknet_getTransactionByBlockIdAndIndex | 80 |
starknet_getTransactionByHash | 80 |
starknet_getTransactionReceipt | 80 |
starknet_pendingTransactions | 160 |
starknet_simulateTransactions | 160 |
starknet_specVersion | 5 |
starknet_syncing | 5 |
ZKsync Era
| RPC method | Credit cost |
|---|---|
zks_estimateFee | 80 |
zks_estimateGasL1ToL2 | 80 |
zks_getAllAccountBalances | 80 |
zks_getBlockDetails | 80 |
zks_getBridgeContracts | 80 |
zks_getBytecodeByHash | 80 |
zks_getL1BatchBlockRange | 80 |
zks_getL1BatchDetails | 80 |
zks_getL2ToL1LogProof | 80 |
zks_getL2ToL1MsgProof | 80 |
zks_getMainContract | 80 |
zks_getProof | 80 |
zks_getRawBlockTransactions | 80 |
zks_getTestnetPaymaster | 80 |
zks_getTransactionDetails | 80 |
zks_L1BatchNumber | 80 |
zks_L1ChainId | 80 |
Gas API
| API endpoint | Credit cost |
|---|---|
baseFeeHistory | 80 |
baseFeePercentile | 80 |
busyThreshold | 80 |
suggestedGasFees | 80 |