Skip to main content

SDKs

This page lists SDKs for interacting with TON Blockchain.

Ecosystem SDKs

This list of standard libraries for building in TON Ecosystem.

LibraryLanguageBlockchain connectionDescriptionDeveloper community
tonTypeScriptHTTP APIsUniversal library for TON.@tondev_eng
ton4jJavaHTTP APIs, TonlibFundamental Java SDK for TON.@ton4java
tonutils-goGoHTTP APIs, ADNLUniversal Go library for TON.@tonutils
tonutilsPythonHTTP APIs, ADNLHigh-level, object-oriented library for TON.@pythonnton

Core SDKs

This list of original libraries developed by TON Core.

LibraryLanguageBlockchain connectionDescription
ton-kotlinKotlinNative ADNLKotlin / Multiplatform SDK for TON.
pytonlibPythonTonlibStandalone Python library built on libtonlibjson.
pytoniqPythonNative ADNLPython SDK with native lite-client and other ADNL-based protocols.
mytonlibPythonADNLPython SDK for interacting with TON.
Java TonlibJavaTonlibOfficial Java examples from the TON monorepo.
tonwebJavaScriptHTTP APIsJavaScript SDK with minimal external dependencies, extensively tested in production.
tolk-jsJavaScriptoff-chain onlyWASM wrapper for TON Tolk Language

Additional SDKs

LibraryLanguageBlockchain connectionDescription
C++ TonlibC++Tonlib binaryOfficial C++ examples for smart contracts from the TON monorepo.
labraburn/SwiftyTONSwiftTonlib binaryNative Swift wrapper for tonlib with async/await support.
tonlib-xcframeworkSwiftTonlib binaryTonlib build helper for iOS, supporting all architectures.
labraburn/node-tonlibNode.jsTonlib binaryNode.js C++ addon for working with libtonlibjson.
TonToolsPythonHTTP APIsHigh-level, object-oriented Python library for interacting with TON.
tonpyPythonADNLPython package for interacting with TON.
tvm_valuetypesPythonoff-chain onlyUtilities for handling TVM types.
pytvmPythonoff-chain onlyPython TVM emulator using C++ bindings.
pytoniq-corePythonoff-chain onlyTransport-free, powerful SDK.
tonkite/adnlTypeScriptADNL and WebSocketADNL TypeScript implementation.
tonutils-jsTypeScriptADNLTypeScript interface for TON development. Not browser-compatible due to native ADNL dependency.
fotonTypeScriptHTTP APIsTypeScript toolkit for TON wallets and blockchain. Wraps existing solutions (Blueprint and TON Connect) into a single API.
tonlib-goGoTonlib binaryOfficial bindings for libtonlibjson.
tongoGoNative ADNLGo library for the TON Blockchain.
olifanton/tonPHPHTTP APIsPHP SDK with TON primitives and smart contract tools.
ayrat555/tonElixiroff-chain onlyElixir SDK for interacting with TON.
tonlib-rsRustTonlib binary
getgems-io/ton-grpcRustHTTP APIs, TonlibRust bindings for libtonlibjson with additional services.
TonSdk.NETC#HTTP APIs, Native ADNLNative C# SDK for TON Blockchain.
justdmitry/TonLib.NETC#HTTP APIs, Tonlib.NET SDK for TON Blockchain, connecting via libtonlibjson.

Blockchain connection

You can connect to the TON Blockchain in four main ways:

  1. 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.
  2. 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.
  3. 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.
  4. Off-chain – these SDKs enable creation and serialization of cells locally, which can then be sent to APIs.

See also

Was this article useful?