
Product
Introducing Tier 1 Reachability: Precision CVE Triage for Enterprise Teams
Socket’s new Tier 1 Reachability filters out up to 80% of irrelevant CVEs, so security teams can focus on the vulnerabilities that matter.
@tact-lang/compiler
Advanced tools
A next-gen smart contract programming language for TON Blockchain focused on efficiency and ease of development. Tact is a good fit for complex smart contracts, quick onboarding, and rapid prototyping.
Developed by TON Studio, powered by the community — as of the beginning of 2025, the number of unique code1 contracts deployed on the mainnet reached almost 28 thousand, of which about 33% were written in Tact. You can view some selected projects here: Tact in production.
Tact has undergone a comprehensive security audit by Trail of Bits, a leading Web3 security firm.
Try online! • Features • Security • Key resources • Installation • Community • Contributing
The most prominent and distinctive features of Tact are:
foreach
statement for traversing.asm
functions.storeStructureName()
and loadStructureName()
functions for (de)serialization.Some selected software and applications based on contracts written in Tact, deployed in production, and consumed by end users:
See Tact in production on the Awesome Tact list.
The Tact compiler is distributed as an NPM package bundled with the Tact standard library.
The recommended Node.js version is 22 or higher, while the minimum version is 18.
Use your favorite package manager to install it into a Node.js project:
# yarn is recommended, but not required
yarn add @tact-lang/compiler
# you can also use npm
npm i @tact-lang/compiler@latest
# or pnpm
pnpm add @tact-lang/compiler
# or bun
bun add @tact-lang/compiler
Alternatively, you can install it globally as such:
npm i -g @tact-lang/compiler
It will make the tact
compiler available on your PATH, as well as:
unboc
disassembler of a contract's code compiled into a Bag of Cells .boc
format.tact-fmt
, which can format or check the formatting of individual Tact files and directories..vsix
files in nightly releases.tact-fmt
) — The official formatter. It ships with the Tact Language Server, VS Code extension, and as a standalone binary with the compiler. You can invoke it by running npx tact-fmt
in your Tact projects.unboc
) — Disassembler for .boc
files. Ships as a standalone binary with the compiler. You can invoke it by running npx unboc
in your Tact projects.For a quick start, read the "Let's start!" mini-guide in the Tact documentation. It uses the Blueprint development environment for writing, testing, and deploying smart contracts on TON Blockchain.
If you want more manual control, use tact-template. It's a ready-to-use template with the development environment set up, including the Tact compiler with TypeScript + Jest, a local TON emulator, AI-based editor support, and examples of how to run tests.
git clone --depth 1 https://github.com/tact-lang/tact-template
If you can’t find the answer in the docs, or you’ve tried to do some local testing and it still didn’t help — don’t hesitate to reach out to Tact’s flourishing community:
@tactlang
on Telegram - Main community chat and discussion group.@tactlang_ru
on Telegram (Russian)@tact_kitchen
on Telegram - Channel with updates from the team.@tact_language
on X/Twittertact-lang
organization on GitHub@ton_studio
on Telegram@thetonstudio
on X/TwitterContributions are welcome! To help develop the compiler, see the contributing guide.
In addition, we invite you to create new educational materials in any form, help foster the community, and build new Tact contracts and projects. The best creations will be featured in awesome-tact and on social media.
Good luck on your coding adventure with ⚡ Tact!
MIT © The Tact Authors: Steve Korshakov; TON Studio.
The "unique code" means that each contract in the data sample has at least one TVM instruction that differs from the other contracts, excluding many preprocessed wallets with everything inlined — even seqno and a public key for signature verification! ↩
FAQs
Tact is a next-gen smart contract language for TON
The npm package @tact-lang/compiler receives a total of 7,969 weekly downloads. As such, @tact-lang/compiler popularity was classified as popular.
We found that @tact-lang/compiler demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket’s new Tier 1 Reachability filters out up to 80% of irrelevant CVEs, so security teams can focus on the vulnerabilities that matter.
Research
/Security News
Ongoing npm supply chain attack spreads to DuckDB: multiple packages compromised with the same wallet-drainer malware.
Security News
The MCP Steering Committee has launched the official MCP Registry in preview, a central hub for discovering and publishing MCP servers.