🚀
Nodies Docs
Visit Nodies Homepage
  • 👋Nodies Guide
  • Overview
    • 💡Our Infrastructure
    • 📑Supported Blockchains
  • RPC services
    • 📪Public endpoints
    • 💲Pricing Plans
  • Snapshot services
    • 💾Overview
    • ⏬Downloading Snapshots
  • 🖥️Supported API Methods
    • Ethereum
      • debug_traceBlockByHash
      • debug_traceBlockByNumber
      • debug_traceCall
      • debug_traceTransaction
      • eth_blockNumber
      • eth_call
      • eth_chainId
      • eth_createAccessList
      • eth_estimateGas
      • eth_feeHistory
      • eth_gasPrice
      • eth_getBalance
      • eth_getBlockByHash
      • eth_getBlockByNumber
      • eth_getBlockReceipts
      • eth_getBlockTransactionCountByHash
      • eth_getBlockTransactionCountByNumber
      • eth_getCode
      • eth_getFilterChanges
      • eth_getFilterLogs
      • eth_getLogs
      • eth_getProof
      • eth_getStorageAt
      • eth_getTransactionByBlockHashAndIndex
      • eth_getTransactionByBlockNumberAndIndex
      • eth_getTransactionByHash
      • eth_getTransactionCount
      • eth_getTransactionReceipt
      • eth_getUncleByBlockHashAndIndex
      • eth_getUncleByBlockNumberAndIndex
      • eth_getUncleCountByBlockHash
      • eth_getUncleCountByBlockNumber
      • eth_maxPriorityFeePerGas
      • eth_newBlockFilter
      • eth_newFilter
      • eth_newPendingTransactionFilter
      • eth_protocolVersion
      • eth_sendRawTransaction
      • eth_subscribe
      • eth_syncing
      • eth_uninstallFilter
      • eth_unsubscribe
      • net_listening
      • net_peerCount
      • net_version
      • trace_block
      • trace_call
      • trace_callMany
      • trace_filter
      • trace_get
      • trace_replayBlockTransactions
      • trace_replayTransaction
      • trace_transaction
      • web3_clientVersion
      • web3_sha3
    • Polygon (Mainnet / PoS)
      • bor_getAuthor
      • bor_getCurrentProposer
      • bor_getCurrentValidators
      • bor_getRootHash
      • bor_getSignersAtHash
      • debug_traceBlockByHash
      • debug_traceBlockByNumber
      • debug_traceCall
      • debug_traceTransaction
      • eth_accounts
      • eth_blockNumber
      • eth_call
      • eth_chainId
      • eth_createAccessList
      • eth_estimateGas
      • eth_feeHistory
      • eth_gasPrice
      • eth_getBalance
      • eth_getBlockByHash
      • eth_getBlockByNumber
      • eth_getBlockReceipts
      • eth_getBlockTransactionCountByHash
      • eth_getBlockTransactionCountByNumber
      • eth_getCode
      • eth_getFilterChanges
      • eth_getFilterLogs
      • eth_getLogs
      • eth_getProof
      • eth_getRootHash
      • eth_getStorageAt
      • eth_getTransactionByBlockHashAndIndex
      • eth_getTransactionByBlockNumberAndIndex
      • eth_getTransactionByHash
      • eth_getTransactionCount
      • eth_getTransactionReceipt
      • eth_maxPriorityFeePerGas
      • eth_newBlockFilter
      • eth_newFilter
      • eth_newPendingTransactionFilter
      • eth_protocolVersion
      • eth_sendRawTransaction
      • eth_subscribe
      • eth_syncing
      • eth_uninstallFilter
      • eth_unsubscribe
      • net_listening
      • net_peerCount
      • net_version
      • trace_block
      • trace_call
      • trace_callMany
      • trace_filter
      • trace_get
      • trace_replayBlockTransactions
      • trace_replayTransaction
      • trace_transaction
      • txpool_content
      • txpool_inspect
      • txpool_status
      • web3_clientVersion
      • web3_sha3
    • Kava
      • debug_traceBlockByHash
      • debug_traceBlockByNumber
      • debug_traceTransaction
      • eth_accounts
      • eth_blockNumber
      • eth_call
      • eth_chainId
      • eth_estimateGas
      • eth_feeHistory
      • eth_gasPrice
      • eth_getBalance
      • eth_getBlockByHash
      • eth_getBlockByNumber
      • eth_getBlockTransactionCountByHash
      • eth_getBlockTransactionCountByNumber
      • eth_getCode
      • eth_getFilterChanges
      • eth_getFilterLogs
      • eth_getLogs
      • eth_getProof
      • eth_getRootHash
      • eth_getStorageAt
      • eth_getTransactionByBlockHashAndIndex
      • eth_getTransactionByBlockNumberAndIndex
      • eth_getTransactionByHash
      • eth_getTransactionCount
      • eth_getTransactionReceipt
      • eth_maxPriorityFeePerGas
      • eth_newBlockFilter
      • eth_newFilter
      • eth_newPendingTransactionFilter
      • eth_protocolVersion
      • eth_sendRawTransaction
      • eth_subscribe
      • eth_syncing
      • eth_uninstallFilter
      • eth_unsubscribe
      • net_listening
      • net_peerCount
      • net_version
      • txpool_content
      • txpool_inspect
      • txpool_status
      • web3_clientVersion
      • web3_sha3
    • Metis
      • debug_traceBlockByHash
      • debug_traceBlockByNumber
      • debug_traceTransaction
      • eth_accounts
      • eth_blockNumber
      • eth_call
      • eth_chainId
      • eth_coinbase
      • eth_estimateGas
      • eth_gasPrice
      • eth_getBalance
      • eth_getBlockByHash
      • eth_getBlockByNumber
      • eth_getBlockTransactionCountByHash
      • eth_getBlockTransactionCountByNumber
      • eth_getCode
      • eth_getFilterChanges
      • eth_getFilterLogs
      • eth_getLogs
      • eth_getProof
      • eth_getStorageAt
      • eth_getTransactionByBlockHashAndIndex
      • eth_getTransactionByBlockNumberAndIndex
      • eth_getTransactionByHash
      • eth_getTransactionCount
      • eth_getTransactionReceipt
      • eth_newBlockFilter
      • eth_newFilter
      • eth_newPendingTransactionFilter
      • eth_protocolVersion
      • eth_sendRawTransaction
      • eth_subscribe
      • eth_syncing
      • eth_uninstallFilter
      • eth_unsubscribe
      • net_listening
      • net_peerCount
      • net_version
      • txpool_content
      • txpool_inspect
      • txpool_status
      • web3_clientVersion
      • web3_sha3
  • Performance Benchmarks
    • 🐎Benchmark standard
    • Ethereum Benchmarks
    • Polygon Benchmarks
    • BASE Benchmarks
    • Optimism Benchmarks
    • Metis Benchmarks
    • Kava Benchmarks
    • Stellar Benchmarks
  • Application Guide
    • 📝Registration
    • 📔Projects & Teams
    • 🥇Creating your First Project & Application
      • ✏️Define your Project Name
      • 👨‍👨‍👦‍👦Invite your Team Members
      • 🎬Creating your First Application
    • 🛣️Route to Pocket
    • 🚪Dashboard
    • 🔐Endpoint Security: API Key Management
    • ♻️Viewing Statistics
Powered by GitBook
On this page
  • Providers included
  • RPC Method Tested
  • Flood Command
  • Benchmark Summary
  • Latency Benchmarks
  1. Performance Benchmarks

BASE Benchmarks

Benchmark Date: 09/04/2023

Providers included

  • Nodies

  • Blast API

  • Ankr

  • Quicknode

RPC Method Tested

eth_getBlockByNumber

Flood Command

flood eth_getBlockByNumber <endpoint1> <endpoint2> <endpoint3> <endpoint4> <endpoint5> --rates 10 100 1000 10000 --duration 30

Benchmark Summary

When evaluating the BASE mainnet endpoints across varied request loads, the following observations stand out:

  • P50 Latency: Nodies has the lowest latency across all load rates, while other providers such as BlastAPI and ANKR also show competitive latencies. Quicknode exhibits higher latencies at higher load rates.

  • P90 Latency: Nodies consistently outperforms other providers, showcasing its reliability. Similar to P50, BlastAPI and Ankr also offer strong performance. Quicknode displays high latencies at higher loads, especially at 10,000 rps.

  • P99 Latency: Nodies maintains low latencies even under high loads. Other providers show significantly higher latencies at P99, with Quicknode demonstrating the highest latency at 10,000 rps.

In summary, Nodies consistently delivers the lowest latencies at all percentiles across different load rates. BlastAPI also showcases commendable performance. QuickNode, despite acceptable results at lower request loads, struggles at higher ones. Ankr exhibited consistent but slightly elevated latencies at peak loads.

Latency Benchmarks

Metrics: Latency percentiles (P50, P90, P99) against load rates (10, 100, 1000, and 10000 rps).

P50 Latency (in ms, lower is better):

rate (rps)
BlastAPI
QuickNode
Ankr
Nodies

10

18.595

92.519

69.953

6.158

100

9.111

95.683

7.456

5.747

1,000

9.024

87.769

7.670

5.488

10,000

28.561

817.822

35.238

5.460

P90 Latency (in ms, lower is better):

rate (rps)
BlastAPI
QuickNode
Ankr
Nodies

10

24.282

97.091

97.216

6.821

100

17.299

96.739

13.900

6.407

1,000

16.048

88.099

13.502

6.074

10,000

42.990

2,882.882

4,859.879

5.969

P99 Latency (in ms. lower is better):

rate (rps)
BlastAPI
QuickNode
Ankr
Nodies

10

40.501

99.170

192.173

7.606

100

27.882

144.411

102.637

6.992

1,000

30.103

186.595

25.972

6.633

10,000

79.694

10,055.756

17,489.712

7.820

PreviousPolygon BenchmarksNextOptimism Benchmarks

Last updated 8 months ago

2MB
report.html
Full report includes more indepth benchmarks such as success rates, throughput, etc.