tact.config.json is an entry point to Tact projects. It is a JSON file that contains the list of all projects and compiler parameters.

Project description

Each project is described by the following fields:

  • name is the name of a project. All generated files are prefixed with this name.
  • path is the path to a root Tact file.
  • output is the path to a directory where all generated files will be placed.
  • parameters is a dictionary of parameters that will be passed to a compiler.
  • experimental is a dictionary of experimental features that will be enabled for this project.


Tact support next parameters:

  • debug: true. Enables debug output of a contract. It is useful for debugging purposes. Enabling this contract would report that it was compiled in debug mode using the supported_interfaces method.
  • masterchain: true. Enables masterchain support in the contract.


  "projects": [
      "name": "sample",
      "path": "./sources/sample.tact",
      "output": "./sources/output",
      "options": {
        "debug": true,
        "experimental": {
          "inline": true


Tact support next experimental parameters:

  • inline: true. Enables inlining of all functions in contracts. Could reduce gas usage at the cost of a bigger contract.