TegroTON
ton3-client
TypeScript

ton3 client

Last updated May 14, 2026
10
Stars
3
Forks
6
Issues
0
Stars/day
Attention Score
43
Language breakdown
TypeScript 100.0%
โ–ธ Files click to expand
README
Archived โ€” early experimental TON SDK, no longer maintained.
>
Preserved for historical reference only. The code may be outdated and is not recommended for new projects.

๐Ÿ’Ž @tegro/ton3-client

License ton3 npm TON
:warning: Work in progress, API can (and most likely will) be changed!

How to install

npm i @tegro/ton3-client

Simple usage

import { TonClient } from '@tegro/ton3-client';
import { Coins, Address } from 'ton3-core';

const endpoint = 'https://api.toncenter.com/jsonRPC'; // jsonRPC API url const apiKey = 'HEREWILLBEYOURAPIKEYIFITIS_REQUIRED';

const tonClient = new TonClient({ endpoint, apiKey });

// This is a part of Tegro Wallet const getBestWalletTypeByPublicKey = async (publicKey: Uint8Array) => { const walletTypes = ['org.ton.wallets.v3.r2', 'org.ton.wallets.v4.r2']; let maxBalance = new Coins(0); let bestContract = walletTypes[0]; for (const walletType of walletTypes) { const wallet = Wallet.openByPubKey({ workchain: 0, publicKey, version: walletType, }); const balance = await tonClient.getBalance(wallet.address); if (balance.gt(maxBalance)) { maxBalance = balance; bestContract = walletType; } } return bestContract; }

TON DNS example

// ... tonClient has been declared before

const getAddressFromDomain = async (domain: string) => { if (!(/\S+.ton\b/.test(domain))) return undefined; // is not domain try { const mbAddr = await tonClient.DNS.getWalletAddress(domain); return mbAddr instanceof Address ? mbAddr : undefined; } catch { return undefined; } }

Jettons example

// ... tonClient has been declared before

const jettonsExample = async (jettonAddress: Address, myAddress: Address) => { // user jetton wallet address const jettonWallet = await tonClient.Jetton.getWalletAddress(jettonAddress, myAddress); // jetton metadata const { content } = await tonClient.Jetton.getData(jettonAddress); const deployed = await tonClient.isContractDeployed(jettonWallet); // user jetton balance const balance = deployed ? await tonClient.Jetton.getBalance(jettonWallet) : new Coins(0, { decimals: meta.decimals }); // user jetton transactions const transactions = deployed ? await tonClient.Jetton.getTransactions(jettonWallet) : [] }

Bug Report

If you have questions or suggestions, please file an Issue.

License

MIT License

ยฉ 2026 GitRepoTrend ยท TegroTON/ton3-client ยท Updated daily from GitHub