> For the complete documentation index, see [llms.txt](https://docs.rpcfast.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rpcfast.com/rpc-fast-saas-evm/compute-units-cus.md).

# Compute Units (CUs)

We use Compute Units as an alternative to the ‘pay-per-click’ method. It provides greater flexibility and cost savings.

### Compute Units (CU) balance

The **CU balance** allows you to use methods with a specific price for the application. It enables you to optimize your spending and calculate the usage more precisely. Summing up, you only pay for the methods you use. **Free plan has 300M CUs available.**

### RPC Methods Cost in CU

We calculate the cost of each method based on the computational capacity, time, and CPU spent on each action.

### Supported Methods

**BSC, Ethereum, and Polygon**

|                                          |      |
| ---------------------------------------- | ---- |
| eth\_call                                | 25   |
| trace\_get                               | 17   |
| web3\_sha3                               | 15   |
| trace\_call                              | 75   |
| eth\_chainId                             | 5    |
| eth\_getCode                             | 19   |
| eth\_getLogs                             | 65   |
| eth\_syncing                             | 5    |
| net\_version                             | 5    |
| trace\_block                             | 24   |
| erigon\_forks                            | 24   |
| eth\_accounts                            | 5    |
| eth\_gasPrice                            | 19   |
| eth\_getProof                            | 21   |
| trace\_filter                            | 75   |
| eth\_newFilter                           | 20   |
| eth\_subscribe                           | 10   |
| net\_listening                           | 5    |
| erigon\_issuance                         | 24   |
| eth\_getBalance                          | 19   |
| trace\_callMany                          | 75   |
| eth\_blockNumber                         | 5    |
| eth\_estimateGas                         | 75   |
| eth\_unsubscribe                         | 10   |
| eth\_getStorageAt                        | 17   |
| eth\_getFilterLogs                       | 75   |
| trace\_transaction                       | 26   |
| eth\_getBlockByHash                      | 21   |
| eth\_newBlockFilter                      | 20   |
| web3\_clientVersion                      | 5    |
| eth\_uninstallFilter                     | 10   |
| erigon\_getLogsByHash                    | 24   |
| eth\_getBlockByNumber                    | 16   |
| eth\_getBlockReceipts                    | 500  |
| eth\_getFilterChanges                    | 20   |
| trace\_rawTransaction                    | 75   |
| erigon\_getHeaderByHash                  | 24   |
| eth\_sendRawTransaction                  | 200  |
| eth\_getTransactionCount                 | 26   |
| parity\_getBlockReceipts                 | 500  |
| trace\_replayTransaction                 | 2800 |
| alchemy\_getTokenBalances                | 26   |
| alchemy\_getTokenMetadata                | 16   |
| erigon\_getHeaderByNumber                | 24   |
| eth\_getTransactionByHash                | 17   |
| alchemy\_getAssetTransfers               | 150  |
| alchemy\_getTokenAllowance               | 19   |
| eth\_getTransactionReceipt               | 15   |
| eth\_sendPrivateTransaction              | 250  |
| eth\_cancelPrivateTransaction            | 250  |
| trace\_replayBlockTransactions           | 2800 |
| alchemy\_getTransactionReceipts          | 250  |
| eth\_newPendingTransactionFilter         | 20   |
| eth\_getBlockTransactionCountByHash      | 20   |
| eth\_getBlockTransactionCountByNumber    | 20   |
| eth\_getTransactionByBlockHashAndIndex   | 15   |
| eth\_getTransactionByBlockNumberAndIndex | 15   |

**Ethereum only**

<table><thead><tr><th width="374">Method</th><th>CUs</th></tr></thead><tbody><tr><td>eth_protocolVersion</td><td>5</td></tr><tr><td>eth_createAccessList</td><td>10</td></tr><tr><td>eth_feeHistory</td><td>10</td></tr><tr><td>eth_maxPriorityFeePerGas</td><td>10</td></tr><tr><td>eth_getUncleByBlockHashAndIndex</td><td>15</td></tr><tr><td>eth_getUncleByBlockNumberAndIndex</td><td>15</td></tr><tr><td>eth_getUncleCountByBlockHash</td><td>15</td></tr><tr><td>eth_getUncleCountByBlockNumber</td><td>15</td></tr></tbody></table>

**Polygon API**

<table><thead><tr><th width="373">Method</th><th>CUs</th></tr></thead><tbody><tr><td>bor_getAuthor</td><td>15</td></tr><tr><td>bor_getCurrentProposer</td><td>15</td></tr><tr><td>bor_getCurrentValidators</td><td>15</td></tr><tr><td>bor_getRootHash</td><td>15</td></tr><tr><td>bor_getSignersAtHash</td><td>15</td></tr><tr><td>eth_getTransactionReceiptsByBlock</td><td>250</td></tr></tbody></table>

**Transaction Simulation:** All simulations have a fixed price of **2000 CU.**

#### Ran Out of CU?

If you spend all CU' monthly quota, the request will fail and return an `HTTPS 429 error` with an error code `-32005`.

```
{"error":"invalid or empty api key"}
```

### Billing

We count all requests received from each single account. Each payment plan has its limitations. Regardless of their number, we charge you by calculating the whole number of CUs for all apps.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.rpcfast.com/rpc-fast-saas-evm/compute-units-cus.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
