TonAPI vs Toncenter API

Сравнение TonAPI и Toncenter для чтения сети TON: индексированные данные, лимиты и что выбрать в продакшене.

TonAPI vs Toncenter API — коротко

Для продукта с UI и историей транзакций бери TonAPI (tonapi.io): индексированные jetton/NFT, удобные REST-модели, меньше ручной сборки из raw. Toncenter ближе к «тонкому» RPC/lite-server API — хорош для низкоуровневых вызовов и когда уже сидишь на @ton/ton + их endpoint. Многие ставят TonAPI для чтения UX-данных и отдельный RPC для send/get-методов контракта.


Таблица сравнения

ПараметрTonAPIToncenter
МодельИндексированный HTTP APIJSON-RPC / toncenter API
Jetton / NFTГотовые сущности и балансыЧасто руками через get-методы + парсинг
ИсторияУдобные ленты событийБолее сырой вид транзакций
СовместимостьСвои клиенты / OpenAPIНативно дружит с @ton/ton
Rate limitsПо тарифу / ключуПо ключу / публичным лимитам
Типичный use-caseПродуктовый бэкенд и кошелёк UIНоды-прокси, raw runMethod, sendBoc

Когда выбрать TonAPI

  • Экран «балансы jetton / NFT / события» без своего индексера
  • Нужны человекочитаемые статусы и связи account → tokens
  • Быстрый MVP Mini App, где важнее скорость фичи, чем полный контроль над RPC

Когда выбрать Toncenter (или свой lite-client)

  • Шлёшь boc / слушаешь raw транзакции через привычный @ton/ton TonClient
  • Нужен предсказуемый runMethod без лишней абстракции
  • Поднимаешь свой инфраструктурный слой и не хочешь зависеть от модели индексера

Пример: один клиент — разные задачи

typescript
// @ton/ton ^15 — Toncenter-совместимый endpoint
import { TonClient, Address } from "@ton/ton";

const client = new TonClient({
  endpoint: "https://toncenter.com/api/v2/jsonRPC",
  apiKey: process.env.TONCENTER_API_KEY,
});

const balance = await client.getBalance(Address.parse(addr));

// TonAPI — отдельный HTTP для индексированных данных (пример эндпоинта)
// GET https://tonapi.io/v2/accounts/{account_id}/jettons
const res = await fetch(
  `https://tonapi.io/v2/accounts/${addr}/jettons`,
  { headers: { Authorization: `Bearer ${process.env.TONAPI_KEY}` } },
);
const jettons = await res.json();

Практичный сплит: TonAPI для отображения, TonClient/RPC для контрактных get/send. Не тащи всё через один API «потому что так проще в первый день».

Материалы gramdocs.tech носят образовательный характер и не являются финансовой, юридической или инвестиционной рекомендацией. Работа с блокчейном TON и токеном Gram связана с рисками потери средств. Правовая информация