TonAPI: чтение ончейн-данных через REST
Прочитаешь баланс, jetton и события аккаунта через TonAPI REST (tonapi.io) с реальными curl и TypeScript.
Что такое TonAPI
TonAPI (tonapi.io) — индексированный HTTP API к TON: аккаунты, jetton, NFT, события и трассы уже разобраны в удобные JSON-модели. Базовый URL mainnet: https://tonapi.io/v2. Ключ — на tonconsole.com; без ключа запросы сильно троттлятся.
Читаем аккаунт
Адрес — любой user-friendly или raw. Пример — известный mainnet-кошелёк (не testnet):
Тот же запрос из TypeScript:
Jetton-балансы владельца:
События аккаунта (высокоуровневые actions поверх трасс):
Как это работает
GET /v2/accounts/{id}— человекочитаемый снимок: баланс в nanotons, статус (active/uninit/ …), интерфейсы..../jettons— уже разобранные jetton-кошельки, не нужно вручную звать get-методы master/wallet..../events— индексёр склеивает трассу в actions (transfer, swap и т.д.); для жёсткой бизнес-логики лучше опираться на raw traces/transactions, не только на actions.- Заголовок
Authorization: Bearer <key>— основной способ аутентификации; testnet:https://testnet.tonapi.io/v2.
Частые ошибки
HTTP 429 → превышен rate limit. Добавь ключ, снизь частоту polling, используй backoff — см. Ошибка: TonAPI — rate limit.
Путаешь mainnet и testnet base URL → «пустой» или чужой аккаунт. Для тестнета — testnet.tonapi.io.
Строишь критичную логику только на events.actions → набор actions может меняться. Для денег и инвариантов читай транзакции/traces или свой индекс.
Что дальше
- Toncenter API: альтернатива для чтения данных — JSON-RPC ближе к
@ton/ton - TonAPI vs Toncenter API — когда что выбирать
- Мониторинг событий контракта — вебхуки и polling
Материалы gramdocs.tech носят образовательный характер и не являются финансовой, юридической или инвестиционной рекомендацией. Работа с блокчейном TON и токеном Gram связана с рисками потери средств. Правовая информация