# Transactions (/docs/tx)

Every mutation is an **intent**: preview it with `plan` / `--dry-run`, submit it with `execute`. Each CLI command below is `btcli tx <name>`; each Python class is `sub.<ClassName>`. The machine-readable catalog of all of these (with JSON schemas) is at [`/catalog/intents.json`](/catalog/intents.json) or via `btcli tools` / `sub.intents.list_tools()`.

## AdminUtils [#adminutils]

| Operation                                                               | Signer  | Summary                                                         |
| ----------------------------------------------------------------------- | ------- | --------------------------------------------------------------- |
| [`set-hyperparameter`](/docs/tx/set-hyperparameter)                     | coldkey | Set an owner-settable subnet hyperparameter (btcli `sudo set`). |
| [`set-mechanism-count`](/docs/tx/set-mechanism-count)                   | coldkey | Set the number of mechanisms on a subnet.                       |
| [`set-mechanism-emission-split`](/docs/tx/set-mechanism-emission-split) | coldkey | Set emission split between mechanisms on a subnet.              |
| [`trim-subnet`](/docs/tx/trim-subnet)                                   | coldkey | Trim a subnet to at most `max_n` UIDs (subnet owner).           |

## Balances [#balances]

| Operation                               | Signer  | Summary                                                            |
| --------------------------------------- | ------- | ------------------------------------------------------------------ |
| [`fund-evm-key`](/docs/tx/fund-evm-key) | coldkey | Fund an EVM (h160) address with TAO from the signing coldkey.      |
| [`transfer`](/docs/tx/transfer)         | coldkey | Transfer TAO from the coldkey to a destination address.            |
| [`transfer-all`](/docs/tx/transfer-all) | coldkey | Transfer the entire transferable balance to a destination address. |

## Crowdloan [#crowdloan]

| Operation                                                                         | Signer  | Summary                                                                            |
| --------------------------------------------------------------------------------- | ------- | ---------------------------------------------------------------------------------- |
| [`contribute-crowdloan`](/docs/tx/contribute-crowdloan)                           | coldkey | Contribute TAO to an active crowdloan.                                             |
| [`create-crowdloan`](/docs/tx/create-crowdloan)                                   | coldkey | Open a crowdloan raising up to `cap_tao` by `end` block.                           |
| [`dissolve-crowdloan`](/docs/tx/dissolve-crowdloan)                               | coldkey | Dissolve a fully-refunded crowdloan (creator only).                                |
| [`finalize-crowdloan`](/docs/tx/finalize-crowdloan)                               | coldkey | Finalize a crowdloan that reached its cap (creator only).                          |
| [`refund-crowdloan`](/docs/tx/refund-crowdloan)                                   | coldkey | Refund contributors of a non-finalized crowdloan (creator only).                   |
| [`set-crowdloan-max-contribution`](/docs/tx/set-crowdloan-max-contribution)       | coldkey | Set or clear the per-contributor max for a non-finalized crowdloan (creator only). |
| [`update-crowdloan-cap`](/docs/tx/update-crowdloan-cap)                           | coldkey | Update the cap of a non-finalized crowdloan (creator only).                        |
| [`update-crowdloan-end`](/docs/tx/update-crowdloan-end)                           | coldkey | Update the end block of a non-finalized crowdloan (creator only).                  |
| [`update-crowdloan-min-contribution`](/docs/tx/update-crowdloan-min-contribution) | coldkey | Update the minimum contribution of a non-finalized crowdloan (creator only).       |
| [`withdraw-crowdloan`](/docs/tx/withdraw-crowdloan)                               | coldkey | Withdraw the signer's contribution from a non-finalized crowdloan.                 |

## EVM [#evm]

| Operation                               | Signer  | Summary                                                    |
| --------------------------------------- | ------- | ---------------------------------------------------------- |
| [`evm-withdraw`](/docs/tx/evm-withdraw) | coldkey | Claim TAO deposited to the coldkey's truncated EVM mirror. |

## Multisig [#multisig]

| Operation                                               | Signer  | Summary                                                                         |
| ------------------------------------------------------- | ------- | ------------------------------------------------------------------------------- |
| [`multisig-approve`](/docs/tx/multisig-approve)         | coldkey | Register approval for a multisig call (non-final approvals).                    |
| [`multisig-cancel`](/docs/tx/multisig-cancel)           | coldkey | Cancel an ongoing multisig operation (only the original depositor may).         |
| [`multisig-execute`](/docs/tx/multisig-execute)         | coldkey | Approve and, if the threshold is met, execute a multisig call (final approval). |
| [`multisig-threshold-1`](/docs/tx/multisig-threshold-1) | coldkey | Dispatch a 1-of-N multisig call immediately (single approval).                  |

## Proxy [#proxy]

| Operation                                                     | Signer  | Summary                                                                 |
| ------------------------------------------------------------- | ------- | ----------------------------------------------------------------------- |
| [`add-proxy`](/docs/tx/add-proxy)                             | coldkey | Authorize a delegate key to sign calls on this account's behalf.        |
| [`create-pure-proxy`](/docs/tx/create-pure-proxy)             | coldkey | Create a pure proxy: a fresh keyless account controlled via delegation. |
| [`execute-proxy-announced`](/docs/tx/execute-proxy-announced) | coldkey | Execute a proxy call that was announced and has passed its delay.       |
| [`kill-pure-proxy`](/docs/tx/kill-pure-proxy)                 | coldkey | Close a pure proxy account and return its reserved deposit.             |
| [`remove-proxies`](/docs/tx/remove-proxies)                   | coldkey | Revoke every proxy delegation for the signing account at once.          |
| [`remove-proxy`](/docs/tx/remove-proxy)                       | coldkey | Revoke one proxy delegation.                                            |

## SubtensorModule [#subtensormodule]

| Operation                                                                     | Signer  | Summary                                                                      |
| ----------------------------------------------------------------------------- | ------- | ---------------------------------------------------------------------------- |
| [`add-stake`](/docs/tx/add-stake)                                             | coldkey | Stake TAO from the coldkey onto a hotkey.                                    |
| [`add-stake-limit`](/docs/tx/add-stake-limit)                                 | coldkey | Stake TAO with a limit price (slippage protection).                          |
| [`announce-coldkey-swap`](/docs/tx/announce-coldkey-swap)                     | coldkey | Announce (commit to) a coldkey swap; executable after the chain's delay.     |
| [`associate-evm-key`](/docs/tx/associate-evm-key)                             | hotkey  | Associate an EVM key with a hotkey on a subnet.                              |
| [`associate-hotkey`](/docs/tx/associate-hotkey)                               | coldkey | Associate a hotkey with the signing coldkey.                                 |
| [`burned-register`](/docs/tx/burned-register)                                 | coldkey | Register a hotkey on a subnet by recycling TAO.                              |
| [`claim-root`](/docs/tx/claim-root)                                           | coldkey | Claim accumulated root dividends from one or more subnets.                   |
| [`clear-coldkey-swap-announcement`](/docs/tx/clear-coldkey-swap-announcement) | coldkey | Cancel a pending coldkey swap announcement (after the reannouncement delay). |
| [`commit-weights`](/docs/tx/commit-weights)                                   | hotkey  | Timelock-encrypt and commit weights, forcing the commit-reveal path.         |
| [`decrease-take`](/docs/tx/decrease-take)                                     | coldkey | Decrease the delegate take of a hotkey.                                      |
| [`dispute-coldkey-swap`](/docs/tx/dispute-coldkey-swap)                       | coldkey | Freeze this coldkey entirely until root resolves the dispute.                |
| [`increase-take`](/docs/tx/increase-take)                                     | coldkey | Increase the delegate take of a hotkey.                                      |
| [`lock-stake`](/docs/tx/lock-stake)                                           | coldkey | Lock alpha stake on a subnet, building conviction toward a hotkey.           |
| [`move-lock`](/docs/tx/move-lock)                                             | coldkey | Move an existing lock from one hotkey to another on a subnet.                |
| [`move-stake`](/docs/tx/move-stake)                                           | coldkey | Move alpha between hotkeys and/or subnets.                                   |
| [`register-leased-network`](/docs/tx/register-leased-network)                 | coldkey | Register a new crowdloan-funded leased subnet.                               |
| [`register-subnet`](/docs/tx/register-subnet)                                 | coldkey | Create a new subnet owned by the signing coldkey.                            |
| [`remove-stake`](/docs/tx/remove-stake)                                       | coldkey | Unstake alpha from a hotkey back to the coldkey.                             |
| [`remove-stake-limit`](/docs/tx/remove-stake-limit)                           | coldkey | Unstake alpha with a limit price (slippage protection).                      |
| [`reset-axon`](/docs/tx/reset-axon)                                           | hotkey  | Reset (stop serving) this hotkey's axon endpoint on a subnet.                |
| [`reveal-weights`](/docs/tx/reveal-weights)                                   | hotkey  | Reveal previously committed weights (legacy salt-based commit-reveal).       |
| [`root-register`](/docs/tx/root-register)                                     | coldkey | Register a hotkey on the root network (netuid 0).                            |
| [`serve-axon`](/docs/tx/serve-axon)                                           | hotkey  | Publish this hotkey's axon endpoint (ip:port) for a subnet.                  |
| [`serve-axon-tls`](/docs/tx/serve-axon-tls)                                   | hotkey  | Publish this hotkey's axon endpoint with a neuron certificate.               |
| [`serve-prometheus`](/docs/tx/serve-prometheus)                               | hotkey  | Publish this hotkey's prometheus metrics endpoint (ip:port) for a subnet.    |
| [`set-auto-stake`](/docs/tx/set-auto-stake)                                   | coldkey | Auto-stake future mining rewards on a subnet to a chosen hotkey.             |
| [`set-childkey-take`](/docs/tx/set-childkey-take)                             | coldkey | Set the childkey take for a hotkey on a subnet.                              |
| [`set-children`](/docs/tx/set-children)                                       | coldkey | Assign child hotkeys with stake-weight proportions on a subnet.              |
| [`set-identity`](/docs/tx/set-identity)                                       | coldkey | Publish an on-chain identity (name, links, description) for the coldkey.     |
| [`set-perpetual-lock`](/docs/tx/set-perpetual-lock)                           | coldkey | Enable or disable perpetual lock mode for a coldkey on a subnet.             |
| [`set-root-claim-type`](/docs/tx/set-root-claim-type)                         | coldkey | Set how a coldkey's root alpha emission is claimed.                          |
| [`set-subnet-identity`](/docs/tx/set-subnet-identity)                         | coldkey | Publish identity metadata for a subnet (signer must be the subnet owner).    |
| [`set-take`](/docs/tx/set-take)                                               | coldkey | Set the delegate take to an absolute value.                                  |
| [`set-weights`](/docs/tx/set-weights)                                         | hotkey  | Set validator weights, auto-selecting plaintext or commit-reveal.            |
| [`stake-burn`](/docs/tx/stake-burn)                                           | coldkey | Buy back / burn stake via the stake-burn extrinsic.                          |
| [`start-call`](/docs/tx/start-call)                                           | coldkey | Activate a subnet (subtoken trading, epochs) as its owner.                   |
| [`swap-coldkey-announced`](/docs/tx/swap-coldkey-announced)                   | coldkey | Execute a previously announced coldkey swap (after the delay has passed).    |
| [`swap-hotkey`](/docs/tx/swap-hotkey)                                         | coldkey | Swap a hotkey for a new one (all subnets, or one netuid).                    |
| [`swap-stake`](/docs/tx/swap-stake)                                           | coldkey | Swap stake on one hotkey between two subnets.                                |
| [`terminate-lease`](/docs/tx/terminate-lease)                                 | coldkey | Terminate an ended lease and take subnet ownership (beneficiary only).       |
| [`transfer-stake`](/docs/tx/transfer-stake)                                   | coldkey | Transfer stake ownership to another coldkey.                                 |
| [`unstake-all`](/docs/tx/unstake-all)                                         | coldkey | Unstake everything from a hotkey across all subnets.                         |
| [`unstake-all-alpha`](/docs/tx/unstake-all-alpha)                             | coldkey | Unstake all alpha from a hotkey across subnets (moves it to root).           |
| [`update-symbol`](/docs/tx/update-symbol)                                     | coldkey | Update a subnet's symbol (from the chain's fixed catalog).                   |

## Utility [#utility]

| Operation                 | Signer  | Summary                                                               |
| ------------------------- | ------- | --------------------------------------------------------------------- |
| [`batch`](/docs/tx/batch) | coldkey | Execute several intents atomically in one extrinsic (all-or-nothing). |
