Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/ton-blockchain/acton/llms.txt

Use this file to discover all available pages before exploring further.

Acton ships a built-in standard library that scripts and tests can access using the @acton/ import prefix. When Acton initialises a project it writes the library source into a hidden .acton/ directory at the project root; the compiler then maps every import "@acton/..." statement to the corresponding .tolk file in that directory. Because the library is plain Tolk code you can inspect, extend, or vendor it exactly like any other source file. The library is split into two separate concerns. The Acton stdlib (this section) provides host-assisted helpers that only make sense inside the Acton runtime: assertion primitives, blockchain emulation, build utilities, I/O, and cryptography. The Tolk standard library documents the language-level builtins that are compiled into every Tolk program — things like cell manipulation, address utilities, and TVM dictionary operations. Both layers work together, but they live in different namespaces and are imported with different prefixes.
The @acton/ prefix is resolved at compile time by the Acton CLI — it is not a package-manager import. No network access is required to use the stdlib.

Available Modules

@acton/testing/assert

Low-level assertion primitives: Assert.equal, Assert.fail, Assert.consumesLessThan, and friends.

@acton/testing/expect

Fluent expect(value).toXxx() matcher API for readable test assertions.

@acton/testing/fuzz

Helpers for parameterised fuzz tests — fuzz.bound, fuzz.assume.

@acton/emulation/testing

Test-only emulation API: treasury accounts, time control, account state, snapshots.

@acton/emulation/network

Unified network layer — net.send, net.sendExternal, net.runGetMethod — works in both emulation and broadcast mode.

@acton/emulation/scripts

Script-specific utilities: scripts.wallet, scripts.fetchAccountBalance, and deployment helpers.

@acton/emulation/config

Blockchain configuration API — read and write gas prices, storage prices, message forward prices, and more.

@acton/build

Compile or load a contract code cell at runtime: build("ContractName").

@acton/io

Standard I/O — println, eprintln, and format-string support for debugging scripts and tests.

@acton/crypto

Cryptographic primitives — mnemonic generation, Ed25519 key derivation, signing, and secure random bytes.

@acton/fmt

String formatting and parsing helpers used internally by println.

@acton/fs

File-system operations for scripts that need to read or write files.

@acton/env

Access to environment variables from scripts and tests.

@acton/prompts

Interactive CLI prompt helpers — useful for deployment scripts that need user confirmation.

@acton/ffi

Low-level FFI namespace for host-provided functions implemented via EXTCALL. Most user code should use higher-level modules instead of calling ffi.* directly.

Import Convention

Every file in the tests/ directory and scripts/ directory can import Acton stdlib modules with:
import "@acton/testing/assert"
import "@acton/testing/expect"
import "@acton/emulation/testing"
import "@acton/emulation/network"
import "@acton/build"
import "@acton/crypto"
Contract source files in contracts/ should not import @acton/ modules — the Acton library is a host-side runtime and will not work inside TVM execution. Use the Tolk standard library for on-chain logic instead.
Run acton docgen in your project root to regenerate the stdlib documentation from source at any time.

Build docs developers (and LLMs) love