MyTonCtrl pool commands
Pool-focused commands help you manage validator-run nominator pools and Orbs single-nominator pools. The console exposes utilities that create local pool descriptors, deploy the contracts on-chain, and move stake in or out. The sections below group commands by workflow and outline the required arguments, expected formats, and common usage patterns.Shared pool utilities
pools_list
Purpose: Display every pool tracked locally along with its status on-chain.
Syntax
- Queries the MyTonCtrl database for all pool descriptors stored under
/var/ton-work/pools
. - Resolves each pool’s smart-contract account status and balance; if an account is inactive it falls back to the deployment (init) address.
- Prints a table with columns
Name
,Status
,Balance
,Version
, andAddress
so you can quickly audit which pools are deployed and funded.
import_pool
Purpose: Register an existing pool by saving its address inside the local pools directory.
Syntax
- Accepts a local alias (
<pool-name>
) and the pool’s base64 (bounceable) smart-contract address. - Creates
<pool-name>.addr
in the pools directory so other commands (activation, deposits, withdrawals) can reference it. - Downloads the pool contract scripts on demand if they are not present yet.
delete_pool
Purpose: Remove the local metadata for a pool you no longer manage.
Syntax
- Deletes the BOC/address files created for
<pool-name>
from the pools directory; on-chain contracts remain untouched. - Useful when you migrate a pool to another host or retire a test deployment.
Nominator pool operations (nominator-pool
mode)
new_pool
Purpose: Generate deployment artifacts for a standard nominator pool before broadcasting it.
Syntax
- Creates
<pool-name>.addr
and<pool-name>-query.boc
using the official nominator pool Fift scripts. <validator-reward-share-percent>
is the operator commission (e.g.,10.5
for 10.5%).<max-nominators-count>
is the maximum number of nominators the pool will accept.<min-validator-stake-ton>
and<min-nominator-stake-ton>
define the minimum validator self-stake and delegator stake in TON (whole-ton values are expected; convert to nanoTON before use if you need fractional amounts).- Validates that no other local pool shares the same derived address.
- Does not submit anything to the blockchain; run
activate_pool
afterwards.
activate_pool
Purpose: Deploy the nominator pool contract created via new_pool
or import_pool
.
Syntax
- Loads
<pool-name>-query.boc
and ensures the validator wallet is active. - If the pool account is still empty, signs and broadcasts the deployment message; if it is already active, logs a warning and exits without changes.
- Leaves the deployment BOC in place so you can retry if the transaction fails.
update_validator_set
Purpose: Refresh the validator address list stored in the pool contract after elections or operator changes.
Syntax
- Uses the validator wallet to call the pool’s
update_validator_set
method. <pool-addr>
must be the pool’s bounceable address as reported bypools_list
orstatus
.- Typically run after activating the pool or when the validator ADNL set changes.
deposit_to_pool
Purpose: Stake Toncoin from the validator wallet into the pool contract.
Syntax
- Builds a validator deposit query, signs it with the validator wallet, and sends it to
<pool-addr>
. <amount-ton>
is a TON-denominated float or integer. Internally the command converts it to the correct nanoTON amount.- Useful for seeding the validator share or topping up the pool’s liquidity.
withdraw_from_pool
Purpose: Withdraw Toncoin from a nominator pool back to the validator wallet.
Syntax
- Checks the pool state; if withdrawals are currently unlocked it performs an immediate withdrawal, otherwise it submits a pending withdrawal request that will execute once the pool cycle allows it.
<amount-ton>
is specified in TON.- Requires that the validator wallet has authority to trigger the withdrawal.
Single nominator pool operations (single-nominator
mode)
new_single_pool
Purpose: Prepare deployment assets for an Orbs single-nominator pool.
Syntax
- Generates
<pool-name>.addr
and<pool-name>-query.boc
using the bundled Orbs single-nominator contract templates. <owner-address>
is the delegator’s smart-contract or wallet address (bounceable base64 or workchain:hex format supported by TON tools).- The validator wallet address is embedded automatically as the operator.
- Ensures no other local pool produces the same address.
activate_single_pool
Purpose: Broadcast the state-init produced by new_single_pool
to deploy the contract.
Syntax
- Checks that
<pool-name>-query.boc
still exists (indicating the pool is not already active). - Signs the deploy message with the validator wallet and posts it to the network.
- Warns and exits without changes if the BOC is missing because the pool was already activated.
withdraw_from_single_pool
Purpose: Withdraw Toncoin from a single-nominator pool back to the validator wallet or owner as configured.
Syntax
- Issues an immediate withdrawal request against
<pool-addr>
for<amount-ton>
TON. - Uses
WithdrawFromPoolProcess
, which executes in the current cycle without creating a pending queue. - Primarily used to return delegated funds or distribute rewards.
Activation and funding prerequisites
- Enable the appropriate mode (
enable_mode nominator-pool
orenable_mode single-nominator
) before using these commands; each mode mounts its own command set. - Ensure your validator wallet is active and funded because deployment, deposits, and withdrawals all originate from it.
- For new pools, review the generated
.addr
and-query.boc
files and keep secure backups—deletion removes these local artifacts.