> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tronrental.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Единицы квоты (WU)

> Как Node API взвешивает вызов: формула, коэффициенты для блоков и свежие блоки

## Что такое WU

WU — единица учёта использования Node API. Квота вашего тарифа и его лимит чтения считаются в WU.
Вызов стоит WU в зависимости от размера ответа ноды: чем больше данных возвращает нода, тем больше
работы она выполнила. Большинство вызовов — аккаунт, его ресурсы, вызов контракта, построение или
отправка транзакции — стоят 1 WU.

Каждый вызов с ответом сообщает свою стоимость: в заголовке ответа `X-Node-API-WU` по HTTP и в
завершающих метаданных `x-node-api-wu` по gRPC. В кабинете виден расход по дням.

## Формула

```
WU = max(1, round((1.5 + 0.11 × KB) / 3.5 × factor))
```

* **KB** — размер ответа ноды в килобайтах (байты ÷ 1024) до сжатия. gzip экономит трафик, а не WU.
* **round** — округление до ближайшего целого; половины округляются вверх.
* **factor** — коэффициент, зависит от вида вызова:

| Вызов | Коэффициент |
| - | - |
| Целые блоки: `getnowblock`, `getblockbynum`, `getblockbyid`, `getblock` с `"detail": true`, а также диапазоны `getblockbylimitnext` и `getblockbylatestnum` | `0.65` |
| Квитанции целого блока: `gettransactioninfobyblocknum` | `1.6` |
| Всё остальное, включая `getblock` с `"detail": false` (только заголовок) | `1` |

Те же правила действуют для `/walletsolidity/*` и для gRPC, где ответ измеряется в protobuf, а
gRPC-аналоги этих методов (`GetNowBlock2`, `GetBlockByNum2`, `GetBlock`, …) считаются вызовами того же
вида.

| Размер ответа | Коэффициент `1` | Блоки, `0.65` | Квитанции, `1.6` |
| - | - | - | - |
| 10 KB | 1 | 1 | 1 |
| 50 KB | 2 | 1 | 3 |
| 100 KB | 4 | 2 | 6 |
| 200 KB | 7 | 4 | 11 |
| 500 KB | 16 | 10 | 26 |
| 800 KB | 26 | 17 | 41 |

С коэффициентом `1` ответы примерно до 34 KB стоят 1 WU.

## Свежие блоки

Блок в пределах **20 от головы** сети — примерно за последнюю минуту — стоит фиксированные **3 WU**, а
его квитанции — **2 WU**, независимо от размера. Блок, который ещё не создан, стоит столько, сколько
стоит его (пустой) ответ: 1 WU. Более старые блоки и их квитанции тарифицируются по формуле.

Диапазоны (`getblockbylimitnext`, `getblockbylatestnum`) всегда тарифицируются по формуле, по всему
ответу, и возвращают не больше 10 блоков за вызов.

## Измеренные примеры

| Вызов | Ответ | WU |
| - | - | - |
| `getaccount`, `triggerconstantcontract`, `getnodeinfo` | несколько KB | 1 |
| `getblock` с `"detail": false` | 0.5 KB | 1 |
| `getnowblock` | 600–800 KB | 3 |
| `gettransactioninfobyblocknum`, свежий блок | 230–290 KB | 2 |
| `getblockbynum`, старый блок | 236 KB | 5 |
| `getblockbynum`, старый блок | 783 KB | 16 |
| `gettransactioninfobyblocknum`, старый блок | 110 KB | 6 |
| `gettransactioninfobyblocknum`, старый блок | 179 KB | 10 |
| `getblockbylatestnum` с `"num": 3` | 1.6 MB | 34 |

## Что ничего не стоит

* **Отказы.** Запрос, отклонённый с `code` ошибки (см. [Лимиты и ошибки](/ru/node-api/errors)), не
  тарифицируется и не несёт `X-Node-API-WU`.
* **Метод, которого у ноды нет** — `404 method_not_found` с `X-Node-API-WU: 0`. Такой вызов всё равно
  учитывается в лимите в секунду, поэтому цикл с опечатками замедляется, а не оплачивается.
* **Нода не ответила** — `502 node_error`.

Ошибка, которую возвращает сама нода, — это ответ: java-tron сообщает о большинстве ошибок в JSON
(`{"Error": "…"}`), часто со статусом `200`, и они тарифицируются по размеру, как любой ответ, — минимум
1 WU.

## Оценка расхода

* Слежение за каждым блоком сети — заголовок (1 WU) плюс квитанции свежего блока (2 WU) — это 3 WU на
  блок: около 86 400 WU в сутки, или около 2.6 млн WU за 30 дней.
* Перевод USDT, построенный и отправленный через ноду, — 2 WU.
* Дороже всего чтение старых блоков: старый блок размером 600–800 KB — 13–17 WU.

Квота расходуется в WU; лимиты в секунду считаются по классам вызовов — WU чтения в секунду, блоковые
запросы в секунду, отправки транзакций в секунду. См. [Лимиты и ошибки](/ru/node-api/errors) и цифры
для каждого тарифа в разделе [Тарифы и оплата](/ru/node-api/plans).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.