SDKs
Instant navigate on preferred language with right sidebar.
Overview
There are different ways to connect to blockchain:
- RPC data provider or other API: in most cases, you have to rely on its stability and security.
- ADNL connection: you're connecting to a liteserver. They might be inaccessible, but with a certain level of validation (implemented in the library), cannot lie.
- Tonlib binary: you're connecting to liteserver as well, so all benefits and downsides apply. However, your application also contains a dynamic-loading library compiled outside.
- Offchain-only. Such SDKs allow to create and serialize cells, which you can then send to APIs.
TypeScript / JavaScript
| Library | Blockchain connection | Description | 
|---|---|---|
| ton | via RPC (Orbs / Toncenter / etc) | Convenient client library with wallet wrappers for development dApps on TON Blockchain. | 
| tonweb | via RPC (Orbs / Toncenter / etc) | Old-style TON JS SDK, with minimal external dependencies, extensively tested in production. | 
| tonkite/adnl | ADNL natively / via WebSocket | ADNL TypeScript implementation. | 
| tonutils | Native ADNL | TypeScript-based interface for building and interacting with applications in TON Ecosystem. Due to native ADNL dependency, cannot be used for blockchain interaction in browser. | 
| foton | via RPC (Orbs / Toncenter / etc) | TypeScript toolkit for interacting with TON wallets and blockchain as a whole. The library wraps existing solutions (Blueprint and TON Connect) into one comfortable API. | 
Java
| Library | Blockchain connection | Description | 
|---|---|---|
| ton4j | Tonlib binary | Java SDK for The Open Network (TON) | 
Python
| Library | Blockchain connection | Description | 
|---|---|---|
| pytoniq | Native ADNL | Python SDK with native LiteClient and other ADNL-based protocols implementations. | 
| pytoniq-core | offchain-only | Python powerful transport-free SDK | 
| tonutils | via RPC (TONAPI / Toncenter) / Native ADNL (pytoniq) | Tonutils is a high-level object-oriented library for Python designed to facilitate interactions with the TON blockchain | 
| pytonlib | Tonlib binary | This is standalone Python library based on libtonlibjson, brought as a binary dependency from TON monorepo. | 
| mytonlib | Native ADNL | Native Python SDK library for working with The Open Network | 
| TonTools | via RPC (Orbs / Toncenter / etc) | TonTools is a high-level OOP library for Python, which can be used to interact with TON Blockchain. | 
| tonpy | Native ADNL | Python package that provides data structures and API to interact with TON blockchain. | 
| tvm_valuetypes | offchain-only | library is collection of utilities for handling TVM types. | 
| pytvm | offchain | Python TVM emulator using bindings to C++ standard emulator | 
C#
| Library | Blockchain connection | Description | 
|---|---|---|
| TonSdk.NET | Native ADNL or RPC | Native C# SDK for The Open Network. | 
| justdmitry/TonLib.NET | Tonlib binary | .NET SDK for The Open Network, connecting via libtonlibjson brought as a binary dependency from TON monorepo. | 
Rust
| Library | Blockchain connection | Description | 
|---|---|---|
| tonlib-rs | Tonlib binary | Rust SDK for The Open Network, bringing binary dependency from TON monorepo. | 
| getgems-io/ton-grpc | Tonlib binary | Rust bindings for tonlibjson (thus, depending on binary from TON monorepo) and services built on top of it | 
Go
| Library | Blockchain connection | Description | 
|---|---|---|
| tonutils-go | Native ADNL | Golang library for interacting with TON blockchain | 
| tongo | Native ADNL | Go implementation of libraries for TON blockchain | 
| tonlib-go | Tonlib binary | Official bindings for libtonlibjson | 
SDKs for other languages
| Library | Language | Blockchain connection | Description | 
|---|---|---|---|
| ton-kotlin | Kotlin | Native ADNL | Kotlin/Multiplatform SDK for The Open Network. | 
| tonlib-java | Java | Tonlib bin | JVM wrapper for TonLib that can be used with Java/Scala/Kotlin/etc. | 
| ayrat555/ton | Elixir | offchain-only | TON SDK for Elixir. | 
| C++ Tonlib | C++ | Tonlib binary | Official examples on smart contract interaction in TON monorepo | 
| Java Tonlib | Java | Tonlib binary | Official examples on smart contract interaction in TON monorepo. | 
| labraburn/SwiftyTON | Swift | Tonlib binary | Native Swift wrapper for tonlib with async/await. | 
| tonlib-xcframework | Swift | Tonlib binary | Tonlib build helper for iOS, all architectures. | 
| labraburn/node-tonlib | NodeJS | Tonlib binary | C++ addon for NodeJS to work with tonlibjson. | 
| olifanton/ton | PHP | via RPC (Orbs / Toncenter / etc) | PHP SDK with a set of standard primitives and contracts. |