# Compute Units (CUs)

### Compute Units (CU) balance&#x20;

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.**&#x20;

### 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`.&#x20;

```
{"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: 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.rpcfast.com/rpc-fast-saas-evm/compute-units-cus.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.
