> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ton.org/llms.txt
> Use this file to discover all available pages before exploring further.

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.ton.org/feedback

```json
{
  "path": "/ecosystem/nodes/cpp/mytonctrl/overview",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# Overview

MyTonCtrl is a tool to run and maintain a TON node (validators and liteservers).

## Install MyTonCtrl

Run the installer as the non-root operator who will manage the node. The command below fetches dependencies, downloads the script, and starts the interactive setup wizard:

```bash theme={"theme":{"light":"github-light-default","dark":"dark-plus"},"languages":{"custom":["/resources/grammars/tolk.tmLanguage.json","/resources/grammars/tlb.tmLanguage.json","/resources/grammars/fift.tmLanguage.json","/resources/grammars/tasm.tmLanguage.json","/resources/grammars/func.tmLanguage.json"]}}
sudo apt update
sudo apt install -y curl wget git ca-certificates python3-pip
wget https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/scripts/install.sh
sudo bash install.sh
```

The wizard walks you through hardware validation, TON binary installs, and MyTonCtrl configuration. Use flags to pre-select options or automate deployments:

| Flag                                                                                                         | What it does                                                    | Typical use                                                            |
| ------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `-d`, `--dump`                                                                                               | Downloads a packaged blockchain dump before first start.        | Speeds up the initial sync (omit to sync from peers only).             |
| `-m`, `--mode validator\|liteserver\|collator`                                                               | Pre-enables the target mode.                                    | Skip switching modes manually after install.                           |
| `-n`, `--network mainnet\|testnet`                                                                           | Switches global config URL and minimum hardware thresholds.     | Point the node to testnet without editing configs later.               |
| `-t`, `--telemetry`                                                                                          | Disables telemetry uploads during install.                      | Comply with policies that forbid sharing validator stats.              |
| `-i`, `--ignore-reqs`                                                                                        | Ignores the CPU/RAM minimum check.                              | Lab hardware or cloud instances that fall below defaults.              |
| `-c <PATH>`, `--config <PATH>`                                                                               | Supplies a custom `config.json` for TON installer steps.        | Use a vetted mirror instead of the default URL.                        |
| `-g <URL>`, `--node-repo <URL>`                                                                              | Points the TON node build to a different Git repository.        | Test patched node sources or mirror Git access.                        |
| `-v <VERSION>`, `--node-version <VERSION>`                                                                   | Pins the TON node to a branch, tag, or commit.                  | Lock to a specific release when validating upgrades.                   |
| `-u <USER>`, `--user <USER>`                                                                                 | Forces the operator account that owns MyTonCtrl.                | Keep ownership correct when running the script from automation.        |
| `-e <PATH>`, `--env-file <PATH>`                                                                             | Loads installer parameters (see below) from an env file.        | Pre-seed values like `ARCHIVE_TTL`, shard lists, or ports for CI jobs. |
| `-a <AUTHOR>`, `--author <AUTHOR>`<br />`-r <REPO>`, `--repo <REPO>`<br />`-b <BRANCH>`, `--branch <BRANCH>` | Override the Git source for MyTonCtrl and installer scripts.    | Test forks or feature branches.                                        |
| `-p <FILE>`, `--backup <FILE>`                                                                               | Restore from a MyTonCtrl backup archive.                        | Reinstall on fresh hardware using an existing backup.                  |
| `-o`, `--only-mtc`                                                                                           | Install only MyTonCtrl assets (requires `-p`).                  | Use to interact with a node remotely.                                  |
| `-l`, `--only-node`                                                                                          | Install only the TON node binaries and services.                | Pair a fresh node with an existing MyTonCtrl instance elsewhere.       |
| `--print-env`                                                                                                | Prints the resolved install command and env values, then exits. | Dry-runs CLI answers before performing a real install.                 |
| `-h`, `--help`                                                                                               | Prints installer help and exits.                                | Basic check of available options.                                      |

Leaving out `-m` and `-p` the installer in the interactive CLI, which prompts for network selection, telemetry, and mode enablement.

### Environment variables

Set these variables before running `install.sh` (for example, `ARCHIVE_TTL=864000 sudo bash install.sh`) to preconfigure node behavior:

| Variable         | Effect                                                              | Notes                                                                                                          |
| ---------------- | ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| `ARCHIVE_TTL`    | Overrides the retention (in seconds) passed to `--archive-ttl`.     | Defaults to `2592000` for liteserver mode and `86400` otherwise; set `-1` for effectively permanent retention. |
| `STATE_TTL`      | Sets `--state-ttl` and shortens the archive TTL by the same amount. | Use with `ARCHIVE_TTL` to keep a smaller state cache.                                                          |
| `ADD_SHARD`      | Adds one or more `--add-shard` arguments.                           | Provide shard IDs separated by spaces (for example `0:2000000000000000 0:a000000000000000`).                   |
| `ARCHIVE_BLOCKS` | Downloads archive data via TON Storage during bootstrap.            | Accepts a single block/UTC date or a range (`<from> <to>`); dates must be `YYYY-MM-DD`.                        |
| `COLLATE_SHARD`  | Configures collator shards during `collator` mode installs.         | Space-separated shard IDs; defaults to `0:8000000000000000` if unset.                                          |

## Command reference

| Reference                                                                 | What it covers                                                                                              |
| ------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| [Core Commands](/ecosystem/nodes/cpp/mytonctrl/core)                      | Everyday console operations: updating MyTonCtrl, enabling modes, viewing status, and managing settings.     |
| [Installer Commands](/ecosystem/nodes/cpp/mytonctrl/installer)            | Running the MyTonInstaller module to configure node services, enable components, and adjust node arguments. |
| [Wallet Commands](/ecosystem/nodes/cpp/mytonctrl/wallet)                  | Creating, importing, exporting, and funding wallets managed by MyTonCtrl.                                   |
| [Validator Commands](/ecosystem/nodes/cpp/mytonctrl/validator)            | Election voting, complaint handling, efficiency checks, and collator registry management for validators.    |
| [Collator Commands](/ecosystem/nodes/cpp/mytonctrl/collator)              | Configuring collator shards, allowlists, and JSON options when operating in collator mode.                  |
| [Pool Commands](/ecosystem/nodes/cpp/mytonctrl/pools)                     | Deploying and operating nominator pools or Orbs single-nominator pools.                                     |
| [Liquid Staking Commands](/ecosystem/nodes/cpp/mytonctrl/liquid-staking)  | Managing liquid staking controllers, validator-set refreshes, and loan calculations.                        |
| [Custom Overlay Commands](/ecosystem/nodes/cpp/mytonctrl/custom-overlays) | Adding, listing, and removing custom overlays for validator-console telemetry.                              |
| [Utilities Commands](/ecosystem/nodes/cpp/mytonctrl/utilities)            | Account inspection, bookmark management, governance offer utilities, and validator list reporting.          |
| [Alerting Commands](/ecosystem/nodes/cpp/mytonctrl/alerting)              | Configuring the MyTonCtrl alert bot, toggling alert keys, and testing notifications.                        |
| [Backups Commands](/ecosystem/nodes/cpp/mytonctrl/backups)                | Creating and restoring configuration backups, including keyring exports.                                    |
| [BTC Teleport Commands](/ecosystem/nodes/cpp/mytonctrl/btc-teleport)      | Reviewing Teleport proposals, voting, and uninstalling the Teleport bundle.                                 |

## Pick the right guide

* **Provisioning a new node?** Start with [Setup MyTonCtrl](/ecosystem/nodes/cpp/setup-mytonctrl) and then use the [Core](/ecosystem/nodes/cpp/mytonctrl/core) and [Installer](/ecosystem/nodes/cpp/mytonctrl/installer) references for ongoing maintenance.
* **Operating pools or liquid staking?** Combine the [Pools](/ecosystem/nodes/cpp/mytonctrl/pools) or [Liquid Staking](/ecosystem/nodes/cpp/mytonctrl/liquid-staking) guides with the relevant validator or wallet sections.
* **Keeping eyes on production nodes?** Review [Alerting](/ecosystem/nodes/cpp/mytonctrl/alerting), [Backups](/ecosystem/nodes/cpp/mytonctrl/backups), and [Utilities](/ecosystem/nodes/cpp/mytonctrl/utilities) so you can monitor and recover your infrastructure quickly.

## Related resources

* [Setup MyTonCtrl](/ecosystem/nodes/cpp/setup-mytonctrl)
* [Baseline install & sync checklist](/ecosystem/nodes/cpp/setup-mytonctrl#baseline-setup-install-and-sync)
* [Official MyTonCtrl repository](https://github.com/ton-blockchain/mytonctrl)
