1---2name: ton-tact3description: Tact language for TON blockchain smart contracts — types, contracts, messages, send/receive, stdlib, and security.4---56> Skill is based on Tact (TON) v1.6.13, generated 2026-02-25.78Tact is a statically typed smart contract language for the TON blockchain. Contracts use message-based communication (receive/send), structs and messages for data, and traits for reuse. This skill focuses on agent-oriented usage: type system, contracts and receivers, sending/receiving messages, cells and serialization, standard libraries, and security practices.910## Core references1112| Topic | Description | Reference |13|-------|-------------|-----------|14| Type system | Primitives, optionals, maps, structs, messages, contracts, traits | [core-types](references/core-types.md) |15| Contracts and traits | init, parameters, receivers, getters, interfaces, BaseTrait | [core-contracts](references/core-contracts.md) |16| Structs and messages | Definition, instantiation, toCell/fromCell, TL-B layout | [core-structs-messages](references/core-structs-messages.md) |17| Receiving messages | receive(), text/binary/slice receivers, order, external/bounced | [core-receive](references/core-receive.md) |18| Sending messages | send(), SendParameters, reply, forward, notify, cashback, deploy, emit | [core-send](references/core-send.md) |19| Cells, Builders, Slices | Cell/Builder/Slice, beginCell, store/load, Struct/Message helpers | [core-cells](references/core-cells.md) |20| Message mode | Base modes and optional flags (SendRemainingValue, SendIgnoreErrors, etc.) | [core-message-mode](references/core-message-mode.md) |21| Gas and fees | getStorageFee, getComputeFee, getForwardFee, setGasLimit, acceptMessage | [core-gas](references/core-gas.md) |22| Context and state | sender, context, myAddress, myBalance, now, inMsg, setData, commit, getConfigParam, nativeReserve | [core-context-state](references/core-context-state.md) |23| Addresses | newAddress, contractAddress, forceBasechain, parseStdAddress, BasechainAddress | [core-addresses](references/core-addresses.md) |24| Cryptography | checkSignature, sha256, keccak256, SignedBundle | [core-crypto](references/core-crypto.md) |25| Strings | StringBuilder, beginString, beginComment, String extensions, Int toFloatString | [core-strings](references/core-strings.md) |26| Math | min, max, abs, sign, sqrt, log, log2, pow, pow2, divc, muldivc | [core-math](references/core-math.md) |27| Exit codes | TVM/Tact exit codes, compute/action phases, developer range 256–65535 | [core-exit-codes](references/core-exit-codes.md) |28| Random | random, randomInt, getSeed, setSeed, nativeRandomize, nativeRandomizeLt | [core-random](references/core-random.md) |29| Debug and throw | require, dump, throw, throwIf, throwUnless | [core-debug](references/core-debug.md) |30| Compile-time | address(), cell(), slice(), rawSlice(), ascii(), crc32(), ton() | [core-comptime](references/core-comptime.md) |31| Message lifecycle | Receive phase, compute phase, action phase (no revert) | [core-lifecycle](references/core-lifecycle.md) |3233## Features3435| Topic | Description | Reference |36|-------|-------------|-----------|37| Optionals | T?, null, !!, constraints (no optional keys, no nested optionals) | [features-optionals](references/features-optionals.md) |38| Maps | map<K,V>, emptyMap(), get/set, allowed types, serialization | [features-maps](references/features-maps.md) |39| initOf and deploy | initOf, contractAddress, StateInit, send/deploy deployment | [features-initof-deploy](references/features-initof-deploy.md) |40| Standard libraries | @stdlib/config, content, deploy, dns, ownable, stoppable | [features-stdlib](references/features-stdlib.md) |41| Configuration | tact.config.json — projects, options (debug, external, safety, mode) | [features-config](references/features-config.md) |42| External messages | external(), acceptMessage, no sender/context, config external | [features-external](references/features-external.md) |43| Constants | const, virtual/abstract/override in traits | [features-constants](references/features-constants.md) |4445## Best practices4647| Topic | Description | Reference |48|-------|-------------|-----------|49| Security | Sensitive data, signed ints, exit codes, random, auth, replay, bounce, excess gas | [best-practices-security](references/best-practices-security.md) |50| Gas | Contract params, binary receivers, message/cashback/deploy, sender(), throwUnless, SignedBundle | [best-practices-gas](references/best-practices-gas.md) |5152## Advanced5354| Topic | Description | Reference |55|-------|-------------|-----------|56| Bounced messages | bounced<T>, 224-bit limit, fallback Slice receiver, unrecognized bounces | [advanced-bounced](references/advanced-bounced.md) |