IOTA CLI Cheat Sheet
The cheat sheet highlights common IOTA CLI commands.
Addresses & Aliases
| Command | Description | 
| iota client active-address | Get the active address | 
| iota client addresses | List the addresses, their aliases, and the active address | 
| iota client new-address --key-scheme ed25519 | Create a new address with ED25519 scheme | 
| iota client new-address --key-scheme ed25519 --alias MY_ALIAS | Create a new address with ED25519 scheme and alias | 
| iota client switch --address ADDRESS | Make this the active address (accepts also an alias) | 
| iota keytool convert PRIVATE_KEY | Convert private key in Hex or Base64 to new format (Bech32 encoded 33 byte flag || private key starting with "iotaprivkey") | 
| iota keytool generate ed25519 | Generate a new keypair with ED25519 scheme and save it to file | 
| iota keytool import INPUT KEY_SCHEME | Add a new key to IOTA CLI Keystore using either the input mnemonic phrase or a Bech32 encoded 33-byte flag || privkey starting with "iotaprivkey" | 
| iota keytool update-alias OLD_ALIAS NEW_ALIAS | Update the alias of an address | 
Faucet & Gas
| Command | Description | 
| iota client faucet | Get an IOTA coin from the faucet associated with the active network | 
| iota client faucet --address ADDRESS | Get an IOTA coin for the address (accepts also an alias) | 
| iota client faucet --url CUSTOM_FAUCET_URL | Get an IOTA coin from custom faucet | 
| iota client gas | List the gas coins for the active address | 
| iota client gas ADDRESS | List the gas coins for the given address (accepts also an alias) | 
Network Command Description
| Command | Description | 
| iota client active-env | Get the active environment | 
| iota client envs | List defined environments | 
| iota client new-env --rpc URL --alias ALIAS | Create a new environment with URL and alias | 
| iota client switch --env ENV_ALIAS | Switch to the given environment | 
| iota genesis | Bootstrap and initialize a new IOTA network | 
| iota start | Start the local IOTA network | 
| iota-faucet | Start a local faucet. Note this is a different binary | 
Create, Build, and Test a Move Project
| Command | Description | 
| iota move build | Build the Move project in the current directory | 
| iota move build --path PATH | Build the Move project from the given path | 
| iota move migrate PATH | Migrate to Move 2024 for the package at provided path | 
| iota move new PROJECT_NAME | Create a new Move project in the given folder | 
| iota move test | Test the Move project in the current directory | 
Executing Transactions
| Command | Description | 
| iota client call \--package PACKAGE \--module MODULE \--function FUNCTION | Call a Move package | 
| iota client merge-coin \--primary-coin COIN_ID \--coin-to-merge COIN_ID | Merge two coins | 
| iota client split-coin \--coin-id COIN_ID \--amounts 1000 | Split a coin into two coins: one with 1000 NANOS and the rest | 
| 
 | Transfer 0.1 IOTA to an address and use the same coin for gas | 
| iota client pay-all-iota \--input-coins COIN_ID \--recipient ADDRESS \--gas-budget 2000000 | Transfer IOTA object to an address and use the same coin for gas | 
Programmable Transaction Blocks (PTBs)
| Command | Description | 
| iota client ptb --move-call p::m::f "<type>" args | Call a Move function from a package and module | 
| iota client ptb --make-move-vec "<u64>" "[1000,2000]" | Make a Move vector with two elements of type u64 | 
| 
 | Split a gas coin and transfer it to address | 
| iota client ptb --transfer-objects "[object_id]" ADDRESS | Transfer an object to an address. Note that you can pass multiple objects in the array | 
| 
 | Publish a Move package, and transfer the upgrade capability to sender |