Tolk
New high-level TON smart contract language from TON Studio. Designed as the technical successor to FunC — typed, ergonomic, and ABI-compatible.
Aliases: tolk lang, tolk language
Tolk is a modern TVM contract language being developed by TON Studio as a technical successor to FunC. The premise is simple: give FunC a real type system, a familiar syntax, and first-class messages — without losing low-level control over the generated bytecode.
Tolk vs FunC
FunC is powerful but minimalist: manual cell parsing, S-expressions, no user-defined types. Tolk keeps the execution model but adds:
- Algebraic types and structs —
struct Transfer { amount: int; to: address; }instead of slice parsing by hand. - Pattern matching on messages — the compiler emits the opcode dispatch automatically.
- Safer modules and imports, replacing FunC’s brittle
#include. - FunC interop at the TVM instruction level, so existing libraries can be reused.
Generated bytecode density stays close to FunC — unlike Tact, where the abstractions cost more gas.
Tolk vs Tact
Tact optimises for productivity, Tolk for performance and control:
| Aspect | Tact | Tolk |
|---|---|---|
| Syntax | TypeScript-like | ML/Rust-like |
| Gas cost | higher than baseline | close to FunC |
| Audit-friendliness | moderate | high |
| Maturity | stable | actively evolving |
When to choose it
Tolk fits teams who wrote FunC before and want to keep the same level of control while getting rid of manual serialisation and fragile includes. For critical DeFi infrastructure it is quickly becoming a sensible alternative to FunC.
Docs live at docs.ton.org/v3/documentation/smart-contracts/tolk. The compiler and Blueprint integration ship through npm.