SDKs
This page lists SDKs for interacting with TON Blockchain.
Ecosystem SDKs
This list of standard libraries for building in TON Ecosystem.
Library | Language | Blockchain connection | Description | Developer community |
---|---|---|---|---|
ton | TypeScript | HTTP APIs | Universal library for TON. | @tondev_eng |
ton4j | Java | HTTP APIs, Tonlib | Fundamental Java SDK for TON. | @ton4java |
tonutils-go | Go | HTTP APIs, ADNL | Universal Go library for TON. | @tonutils |
tonutils | Python | HTTP APIs, ADNL | High-level, object-oriented library for TON. | @pythonnton |
Core SDKs
This list of original libraries developed by TON Core.
Library | Language | Blockchain connection | Description |
---|---|---|---|
ton-kotlin | Kotlin | Native ADNL | Kotlin / Multiplatform SDK for TON. |
pytonlib | Python | Tonlib | Standalone Python library built on libtonlibjson . |
pytoniq | Python | Native ADNL | Python SDK with native lite-client and other ADNL-based protocols. |
mytonlib | Python | ADNL | Python SDK for interacting with TON. |
Java Tonlib | Java | Tonlib | Official Java examples from the TON monorepo. |
tonweb | JavaScript | HTTP APIs | JavaScript SDK with minimal external dependencies, extensively tested in production. |
tolk-js | JavaScript | off-chain only | WASM wrapper for TON Tolk Language |
Additional SDKs
Library | Language | Blockchain connection | Description |
---|---|---|---|
C++ Tonlib | C++ | Tonlib binary | Official C++ examples for smart contracts from the TON monorepo. |
labraburn/SwiftyTON | Swift | Tonlib binary | Native Swift wrapper for tonlib with async/await support. |
tonlib-xcframework | Swift | Tonlib binary | Tonlib build helper for iOS, supporting all architectures. |
labraburn/node-tonlib | Node.js | Tonlib binary | Node.js C++ addon for working with libtonlibjson . |
TonTools | Python | HTTP APIs | High-level, object-oriented Python library for interacting with TON. |
tonpy | Python | ADNL | Python package for interacting with TON. |
tvm_valuetypes | Python | off-chain only | Utilities for handling TVM types. |
pytvm | Python | off-chain only | Python TVM emulator using C++ bindings. |
pytoniq-core | Python | off-chain only | Transport-free, powerful SDK. |
tonkite/adnl | TypeScript | ADNL and WebSocket | ADNL TypeScript implementation. |
tonutils-js | TypeScript | ADNL | TypeScript interface for TON development. Not browser-compatible due to native ADNL dependency. |
foton | TypeScript | HTTP APIs | TypeScript toolkit for TON wallets and blockchain. Wraps existing solutions (Blueprint and TON Connect) into a single API. |
tonlib-go | Go | Tonlib binary | Official bindings for libtonlibjson . |
tongo | Go | Native ADNL | Go library for the TON Blockchain. |
olifanton/ton | PHP | HTTP APIs | PHP SDK with TON primitives and smart contract tools. |
ayrat555/ton | Elixir | off-chain only | Elixir SDK for interacting with TON. |
tonlib-rs | Rust | Tonlib binary | |
getgems-io/ton-grpc | Rust | HTTP APIs, Tonlib | Rust bindings for libtonlibjson with additional services. |
TonSdk.NET | C# | HTTP APIs, Native ADNL | Native C# SDK for TON Blockchain. |
justdmitry/TonLib.NET | C# | HTTP APIs, Tonlib | .NET SDK for TON Blockchain, connecting via libtonlibjson . |
Blockchain connection
You can connect to the TON Blockchain in four main ways:
- HTTP APIs – relies on a third-party service ( e.g. TON Center or TON API) for stability and security. If you run a self-hosted RPC, however, stability and security are entirely under your control. Learn more in APIs.
- ADNL – connects to a liteserver. You can operate your own liteserver or rent one for direct use. Public liteservers are often unreliable due to limited resources and high demand. However, built-in validation prevents them from serving false data.
- Tonlib – Tonlib library connects to a liteserver and shares the same advantages and limitations. Your application includes a dynamically loaded, externally compiled library. Initial synchronization is required on the first use and may take some time to complete.
- Off-chain – these SDKs enable creation and serialization of cells locally, which can then be sent to APIs.
See also
Was this article useful?