Contract Commands¶
Commands for interacting with EVM smart contracts. Requires the payment system to be enabled (payment.enabled = true).
lango contract <subcommand>
Experimental Feature
Contract interaction is experimental. Always verify contract addresses, method signatures, and ABI files before executing calls.
lango contract read¶
Call a view/pure contract method (read-only, no gas required). Validates the ABI and method locally; live RPC queries require a running lango serve instance. The command writes the validation payload through the Cobra command output stream and the runtime note through the Cobra error stream so wrappers and test harnesses can capture them separately.
lango contract read --address <addr> --abi <file> --method <name> [--args <csv>] [--chain-id <id>] [--output table|json]
| Flag | Type | Default | Description |
|---|---|---|---|
--address |
string | required | Contract address (0x...) |
--abi |
string | required | Path to ABI JSON file |
--method |
string | required | Method name to call |
--args |
string | "" |
Comma-separated method arguments |
--chain-id |
int | from config | Chain ID override |
--output |
string | table |
Output format (table or json) |
Unknown --output values fail fast with an actionable error before config loading or ABI parsing begins.
Example:
$ lango contract read \
--address 0x036CbD53842c5426634e7929541eC2318f3dCF7e \
--abi ./erc20.json \
--method balanceOf \
--args 0x1234abcd5678ef901234abcdef567890abcdef12
Note: contract read requires a running RPC connection.
Use 'lango serve' and the contract_read agent tool for live queries.
Contract Read (validated)
Address: 0x036CbD53842c5426634e7929541eC2318f3dCF7e
Method: balanceOf
Args: [0x1234abcd5678ef901234abcdef567890abcdef12]
Chain ID: 84532
lango contract call¶
Execute a state-changing transaction on a smart contract. Validates the ABI and method locally; live transactions require a running lango serve instance and wallet. The command writes the validation payload through the Cobra command output stream and the runtime note through the Cobra error stream so wrappers and test harnesses can capture them separately.
lango contract call --address <addr> --abi <file> --method <name> [--args <csv>] [--value <eth>] [--chain-id <id>] [--output table|json]
| Flag | Type | Default | Description |
|---|---|---|---|
--address |
string | required | Contract address (0x...) |
--abi |
string | required | Path to ABI JSON file |
--method |
string | required | Method name to call |
--args |
string | "" |
Comma-separated method arguments |
--value |
string | "" |
ETH value to send (e.g., "0.01") |
--chain-id |
int | from config | Chain ID override |
--output |
string | table |
Output format (table or json) |
Unknown --output values fail fast with an actionable error before config loading or ABI parsing begins.
Example:
$ lango contract call \
--address 0x036CbD53842c5426634e7929541eC2318f3dCF7e \
--abi ./erc20.json \
--method transfer \
--args 0x5678abcd1234ef567890abcdef1234567890abcd,1000000
Note: contract call requires a running RPC connection and wallet.
Use 'lango serve' and the contract_call agent tool for live transactions.
Contract Call (validated)
Address: 0x036CbD53842c5426634e7929541eC2318f3dCF7e
Method: transfer
Args: [0x5678abcd1234ef567890abcdef1234567890abcd 1000000]
Chain ID: 84532
State-Changing
Contract calls may modify blockchain state and spend gas or tokens. Always verify the method, arguments, and value before executing.
lango contract abi load¶
Parse and validate a contract ABI from a local JSON file. Caches the parsed ABI for subsequent read/call commands. The command writes text and JSON output through the Cobra command output stream so wrappers and test harnesses can capture it directly.
lango contract abi load --address <addr> --file <path> [--chain-id <id>] [--output table|json]
| Flag | Type | Default | Description |
|---|---|---|---|
--address |
string | required | Contract address (0x...) |
--file |
string | required | Path to ABI JSON file |
--chain-id |
int | from config | Chain ID override |
--output |
string | table |
Output format (table or json) |
Unknown --output values fail fast with an actionable error before config loading or ABI parsing begins.
Example:
$ lango contract abi load \
--address 0x036CbD53842c5426634e7929541eC2318f3dCF7e \
--file ./erc20.json
ABI Loaded
Address: 0x036CbD53842c5426634e7929541eC2318f3dCF7e
Chain ID: 84532
Methods: 10
Events: 3
$ lango contract abi load \
--address 0x036CbD53842c5426634e7929541eC2318f3dCF7e \
--file ./erc20.json \
--output json
{
"address": "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
"chainId": 84532,
"events": 3,
"methods": 10,
"status": "loaded"
}