Wallet operations
The Mina CLI provides wallet functionality for sending transactions and managing accounts. All wallet operations use encrypted key files and interact with a running Mina node via GraphQL.
Introduction
The wallet commands provide a complete set of tools for managing Mina accounts and sending transactions directly from the command line. These commands handle key generation, account queries, and transaction submission.
Prerequisites
Before using wallet commands, you need:
- An encrypted private key file
- The password to decrypt the key
- A running Mina node (local or remote) - only required for sending transactions and checking balances
Environment variables
You can set the following environment variables for convenience:
export MINA_PRIVKEY_PASS="your-password"
export MINA_NETWORK="mainnet" # or "devnet"
Commands
The wallet CLI provides the following commands, each documented in detail in their respective sections:
- address - Get the public address from an encrypted key file
- balance - Query account balance and details using GraphQL
- generate - Generate a new encrypted key pair
- send - Send a payment transaction to the network
- status - Check the status of a submitted transaction
Understanding amounts
All amounts in the CLI are specified in nanomina:
- 1 MINA = 1,000,000,000 nanomina
- 0.1 MINA = 100,000,000 nanomina
- 0.01 MINA = 10,000,000 nanomina (common minimum fee)
GraphQL integration
The wallet commands use the node's GraphQL API:
- Account query - Fetches current nonce and account information (
balancecommand) - sendPayment mutation - Submits signed transactions to the network (
sendcommand) - transactionStatus query - Checks if a transaction is included in the
blockchain (
statuscommand) - pooledUserCommands query - Lists pending transactions in the mempool
(
statuscommand)
For more details on the GraphQL API, see the GraphQL API documentation.