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 HTTP JSON-RPC item counts as 1 Request. Each item in a batch counts separately.
- 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_subscriptionpushes and Solana subscription messages. - A cached response still counts as 1 Request because the customer received a response.
- A JSON-RPC application error in the response still counts as 1 Request.
What counts as zero
- 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_getLogscounts 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 family | Counts as | Methods |
|---|---|---|
| Ordinary chain, net, and web3 calls | 1 | eth_* 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 receipts | 3 | eth_getProof, eth_getBlockReceipts |
| Single-call debug and trace | 5 | debug_traceCall, debug_traceTransaction, trace_call, trace_callMany, trace_transaction, trace_filter, trace_get, trace_rawTransaction, trace_replayTransaction |
| Block-level debug, replay, and txpool | 20 | debug_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 event | Requests used |
|---|---|
eth_blockNumber | 1 |
Historical eth_getBalance | 1 |
HTTP eth_getLogs (any block range) | 1 |
One delivered eth_subscription event | 1 |
| One delivered Solana subscription message | 1 |
eth_getProof | 3 |
debug_traceCall | 5 |
debug_traceBlockByNumber | 20 |
| WSS ping/pong or an undelivered notification | 0 |
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.