# Polygon Benchmarks

### **Providers included**

* Nodies
* Blast API
* Ankr
* Quicknode
* Alchemy

### 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 benchmarking the Polygon mainnet endpoints across various request loads, the performance of the endpoints presented noticeable differences:

**Nodies**:

* **P50 Latency**: Showcased unparalleled performance across all loads, maintaining sub-7ms latency even at the highest request rate of 10,000 rps.
* **P90 Latency**: Impressively consistent, with its latency remaining under 9ms up to 1,000 rps, and surging modestly to 411ms at 10,000 rps.
* **P99 Latency**: Demonstrated consistent efficiency, never surpassing 1.75 seconds, even at the most demanding load of 10,000 rps.

**Other Endpoints**:

* **P50 Latency**: Performance varied with BlastAPI showing promise in the lower loads. QuickNode, Alchemy, and Ankr faced challenges, especially as loads increased.
* **P90 Latency**: All endpoints, excluding Nodies, showed increased latencies as loads grew. Notably, QuickNode's latency neared an alarming 40.8 seconds at 10,000 rps.
* **P99 Latency**: The discrepancies widened, with most services, especially QuickNode, facing challenges at the highest loads, reaching latencies of 48.3 seconds and 16 seconds, respectively.

In conclusion, Nodies distinctly outperformed the rest, consistently delivering optimal latencies across the board. The other endpoints varied in their responses, with some like BlastAPI showing potential, while others, particularly QuickNode at higher loads, experienced significant latencies. Overall, for consistent performance, Nodies stood out as the prime choice among the tested endpoints.

### Latency Benchmarks

**Metrics**: Latency percentiles (P50, P90, P99) against load rates (10, 100, 1000, and 10000 rps).\
\
**P50 Latency (in ms, lower is better):**

<table><thead><tr><th>Rate (rps)</th><th>Alchemy</th><th>BlastAPI</th><th>QuickNode</th><th>Ankr</th><th>Nodies</th><th data-hidden>Grove</th></tr></thead><tbody><tr><td>10</td><td>118.450</td><td>56.980</td><td>162.121</td><td>76.945</td><td>7.068</td><td>15.055</td></tr><tr><td>100</td><td>111.479</td><td>9.700</td><td>153.798</td><td>7.781</td><td>6.764</td><td>14.049</td></tr><tr><td>1,000</td><td>106.592</td><td>9.700</td><td>150.990</td><td>6.804</td><td>6.342</td><td>15.084</td></tr><tr><td>10,000</td><td>133.726</td><td>116.906</td><td>31838.879</td><td>107.516</td><td>6.202</td><td>61.295</td></tr></tbody></table>

**P90 Latency (in ms, lower is better):**

<table><thead><tr><th>Rate (rps)</th><th>Alchemy</th><th>BlastAPI</th><th>QuickNode</th><th>Ankr</th><th>Nodies</th><th data-hidden>Grove</th></tr></thead><tbody><tr><td>10</td><td>134.867</td><td>263.413</td><td>178.551</td><td>123.317</td><td>8.125</td><td>27.593</td></tr><tr><td>100</td><td>119.332</td><td>24.778</td><td>163.342</td><td>12.943</td><td>7.913</td><td>23.914</td></tr><tr><td>1,000</td><td>121.105</td><td>18.346</td><td>169.801</td><td>13.074</td><td>7.383</td><td>26.552</td></tr><tr><td>10,000</td><td>380.142</td><td>165.855</td><td>40869.630</td><td>154.637</td><td>411.394</td><td>3147.894</td></tr></tbody></table>

**P99 Latency (in ms. lower is better):**

<table><thead><tr><th>Rate (rps)</th><th>Alchemy</th><th>BlastAPI</th><th>QuickNode</th><th>Ankr</th><th>Nodies</th><th data-hidden>Grove</th></tr></thead><tbody><tr><td>10</td><td>386.793</td><td>579.230</td><td>379.658</td><td>289.464</td><td>26.073</td><td>96.086</td></tr><tr><td>100</td><td>365.077</td><td>218.606</td><td>402.413</td><td>111.316</td><td>19.895</td><td>112.810</td></tr><tr><td>1,000</td><td>380.356</td><td>39.992</td><td>607.533</td><td>31.852</td><td>15.014</td><td>232.417</td></tr><tr><td>10,000</td><td>2177.805</td><td>1135.798</td><td>48314.769</td><td>1166.785</td><td>1754.009</td><td>15987.730</td></tr></tbody></table>

{% file src="/files/qARQBnR89J30oCavo679" %}
Full report includes more indepth benchmarks such as success rates, throughput, etc.
{% endfile %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nodies.app/performance-benchmarks/polygon-benchmarks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
