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?