Request Counting

BlockReq meters authenticated JSON-RPC by distinguishable Requests. Archive or historical reads are not a separate bill. The Dashboard shows Requests used, Requests remaining, and Wallet balance.

What counts as one Request

  • One authenticated HTTP JSON-RPC item that was executed or served counts as 1 Request. That includes success, empty-but-valid results, cache hits, and execution exceptions such as revert.
  • Each item in a customer batch is forwarded as its own request and counted on its own method. Mixed-method batches are not combined onto one method.
  • One WSS JSON-RPC request, including subscribe or unsubscribe, counts as 1 Request.
  • Each delivered WSS event or notification counts as 1 Request. This includes EVM eth_subscription pushes and Solana subscription messages. WSS notification counting is not replaced by the HTTP rule.

What counts as zero

  • HTTP JSON-RPC method not found and other non-execution application errors.
  • Protocol, transport, rate-limit, or cancellation failures, and unrouted early errors.
  • Local admission rejection.
  • WSS ping and pong frames.
  • Notifications that were not delivered to the customer.
  • Authentication or policy rejections.
  • Rate-limit responses (429) and gateway failures (5xx).
  • Public unauthenticated HTTP or WSS traffic does not decrement a customer request balance.

HTTP and WSS logs

  • HTTP eth_getLogs counts as 1 Request, regardless of block range.
  • WSS log and subscription traffic counts each delivered event as 1 Request.

Method multipliers

Each distinguishable Request starts as 1 Request. Some method families then count as N Requests used:

Method familyCounts asMethods
Ordinary chain, net, and web3 calls1eth_* such as eth_blockNumber, eth_call, eth_getBalance, eth_getBlockByNumber, eth_sendRawTransaction, eth_getLogs; net_*; web3_*; eth_subscribe / eth_unsubscribe; each delivered EVM or Solana notification
Proof and block receipts3eth_getProof, eth_getBlockReceipts
Single-call debug and trace5debug_traceCall, debug_traceTransaction, trace_call, trace_callMany, trace_transaction, trace_filter, trace_get, trace_rawTransaction, trace_replayTransaction
Block-level debug, replay, and txpool20debug_traceBlockByNumber, debug_traceBlockByHash, other debug_traceBlock*; trace_block; trace_replayBlockTransactions; txpool_status, txpool_inspect, txpool_content, and other txpool_*

Free does not include debug_*, trace_*, or txpool_*. Paid plans do not distinguish those families from each other.

Archive or historical state reads use the same multiplier as the method itself.

Examples

Customer eventRequests used
eth_blockNumber1
Historical eth_getBalance1
HTTP eth_getLogs (any block range)1
One delivered eth_subscription event1
One delivered Solana subscription message1
eth_getProof3
debug_traceCall5
debug_traceBlockByNumber20
eth_call revert1
HTTP method not found0
WSS ping/pong or an undelivered notification0

Balance and PAYG

Free grants and Request Packs hold Requests remaining in independently expiring lots. Settlement debits eligible lots using FEFO (earliest expiry first). If PAYG is enabled after prepaid Requests are exhausted, additional Requests used accrue at $3.90 per 1M Requests used.

The Dashboard shows Request volume and wallet value separately:

  • Request remaining (prepaid balance)
  • Requests 24h / 30d
  • Wallet balance

See Plans & Pricing for pack sizes, validity, availability, and rate limits.