Skip to content

Latest commit

 

History

History
428 lines (285 loc) · 10.2 KB

File metadata and controls

428 lines (285 loc) · 10.2 KB

CLI Reference

The twak CLI provides full access to the Trust Wallet Agent SDK from the command line.

Run: npx @trustwallet/cli <command> or install globally with npm install -g @trustwallet/cli


init

Initialize configuration and save credentials.

twak init --api-key <key> --api-secret <secret>
Flag Required Description
--api-key Yes TWAK API access ID
--api-secret Yes HMAC secret

Credentials are saved to ~/.twak/credentials.json.


auth

auth setup

twak auth setup --api-key <key> --api-secret <secret>

auth status

twak auth status [--json]

wallet

wallet create

twak wallet create --password <pw> [--no-keychain] [--skip-password-check] [--json]

wallet address

twak wallet address --chain <chain> [--password <pw>] [--json]

Password falls back to the OS keychain or TWAK_WALLET_PASSWORD environment variable. See Key Management for full details on key storage, password resolution, and signing permissions.

wallet addresses

twak wallet addresses [--password <pw>] [--json]

wallet balance

twak wallet balance [--chain <chain>] [--all] [--no-tokens] [--password <pw>] [--json]

Use --all to show balances across all chains with funds. Use --no-tokens to skip token balance lookup.

wallet portfolio

Full portfolio across all chains — native balances, token holdings, and USD values.

twak wallet portfolio [--chains <list>] [--password <pw>] [--json]

Default chains include all major EVM chains plus Solana and TRON.

wallet sign-message

Sign an arbitrary message with the agent wallet key.

twak wallet sign-message --chain <chain> --message <text> [--password <pw>] [--json]

wallet keychain save

Save the wallet password to the OS keychain for passwordless usage.

twak wallet keychain save --password <pw>

wallet keychain delete

twak wallet keychain delete

wallet keychain check

twak wallet keychain check

wallet status

twak wallet status [--json]

transfer

twak transfer --to <address> --amount <amount> --token <token> \
              [--confirm-to <address>] [--max-usd <n>] [--skip-safety-check] \
              [--password <pw>] [--json]
Flag Description
--to Destination address or ENS name (e.g., vitalik.eth)
--amount Amount in human-readable format
--token Asset ID (e.g., c60 for ETH, c60_t0xA0b8... for ERC-20)
--max-usd Maximum allowed transfer value in USD (default: 10000)
--skip-safety-check Skip the USD-value safety check
--confirm-to Pin expected resolved address — rejects if ENS resolves differently

swap

twak swap <amount> <from> <to> [--chain <chain>] [--to-chain <chain>] \
          [--slippage <pct>] [--quote-only] [--password <pw>] [--json]
Flag Description
--chain Source chain (default: ethereum)
--to-chain Destination chain for cross-chain swaps
--slippage Slippage tolerance % (default: 1, max: 50)
--quote-only Preview quote without executing

Use --quote-only to preview without executing.


onramp

Buy crypto with fiat (onramp) or sell crypto for fiat (offramp) through third-party providers. Quotes are aggregated; the user completes KYC and payment in the provider's hosted browser flow. Available providers depend on the user's region.

onramp quote

Get fiat-to-crypto quotes from multiple providers.

twak onramp quote --amount <fiat> --asset <id> [--currency <code>] \
                  [--wallet <address>] [--password <pw>] [--json]
Flag Description
--amount Fiat amount, e.g. 100
--asset Asset ID, e.g. c60 for ETH
--currency Fiat currency (default: USD)
--wallet Override the destination address (defaults to your stored wallet's address on the asset's chain)

Quotes are sorted lowest-spread-first; the top row is the provider giving the most crypto for the same fiat input.

onramp buy

Open the provider checkout URL for a chosen quote.

twak onramp buy --quote-id <id> [--asset <id>] [--wallet <address>] \
                [--password <pw>] [--json]
Flag Description
--quote-id Quote ID from twak onramp quote
--asset Crypto asset ID — required when --wallet is omitted (used to derive your destination address)
--wallet Override the destination address

onramp sell-quote

Get crypto-to-fiat quotes.

twak onramp sell-quote --amount <crypto> --asset <id> [--currency <code>] \
                       [--method <method>] [--wallet <address>] \
                       [--password <pw>] [--json]
Flag Description
--amount Crypto amount to sell, e.g. 0.1
--asset Asset ID being sold
--currency Fiat currency for the payout (default: USD)
--method Payout method: ANY, card, bank_transfer (default: ANY)
--wallet Override the source address (defaults to your stored wallet's address on the asset's chain)

Sorted lowest-spread-first; the top row is the provider returning the most fiat for the same crypto input.

onramp sell

Open the provider checkout URL to complete KYC and reveal the deposit address.

twak onramp sell --quote-id <id> [--asset <id>] [--wallet <address>] \
                 [--password <pw>] [--json]
Flag Description
--quote-id Quote ID from twak onramp sell-quote
--asset Crypto asset ID — required when --wallet is omitted (used to derive your source address)
--wallet Override the source address

onramp sell-confirm

Broadcast the on-chain payout to the provider's deposit address. Run this after completing KYC in the browser and copying the deposit address and exact amount the provider displayed.

twak onramp sell-confirm --asset <id> --to <deposit-address> --amount <n> \
                         [--memo <tag>] [--quote-id <id>] \
                         [--max-usd <n>] [--skip-safety-check] \
                         [--password <pw>] [--json]
Flag Description
--asset Asset being sold
--to Provider's deposit address (shown after KYC)
--amount Exact amount the provider displays — must match
--memo Memo / destination tag (Cosmos, XRP, Stellar, BNB Beacon) — funds can be unrecoverable without it when the chain requires one
--quote-id Optional. Recorded in the output for traceability; the on-chain tx is built from --to / --amount, not from this ID
--max-usd USD safety cap (default: 10000)
--skip-safety-check Bypass the USD cap

The deposit address is not under your control — verify it byte-for-byte against what the provider displayed before broadcasting. Signing always happens locally; the browser flow has no access to your keys.


price

twak price <token> [--chain <chain>] [--json]

Chain is auto-detected from native token symbols (ETH, BNB, SOL, etc.).


balance

Get the native balance for any address using a SLIP44 coin ID.

twak balance --address <address> --coin <coinId> [--json]

Common coin IDs: 60 (Ethereum), 0 (Bitcoin), 501 (Solana).


search

twak search <query> [--networks <ids>] [--limit <n>] [--json]

trending

twak trending [--category <cat>] [--sort <field>] [--limit <n>] [--json]

Categories: ai, rwa, memes, defi, dex, bnb, eth, sol, pumpfun, bonk, launchpad, launchpool, layer1.

Sort fields: price_change (default), market_cap, volume.


dapps

Browse featured DApps and protocols.

twak dapps [--category <cat>] [--search <query>] [--categories] [--limit <n>] [--json]

Categories: defi, dex, lending, nft, gaming, social. Use --categories to list all available.


history

twak history --address <address> [--chain <chain>] [--from <date>] \
             [--to <date>] [--limit <n>] [--json]

tx

twak tx <hash> --chain <chain> [--json]

chains

twak chains [--json]

asset

twak asset <assetId> [--json]

validate

twak validate --address <address> [--asset-id <id>] [--json]

risk

Check token security and rug-risk info.

twak risk <assetId> [--json]

erc20

erc20 approve

twak erc20 approve --token <assetId> --spender <address> --amount <amount> \
                   [--confirm-unlimited] --password <pw> [--json]

Token uses the Trust Wallet asset ID format (e.g., c60_t0xA0b8...).

erc20 revoke

twak erc20 revoke --token <assetId> --spender <address> --password <pw> [--json]

erc20 allowance

twak erc20 allowance --token <assetId> --owner <address> --spender <address> [--json]

alert

alert create

twak alert create --token <token> --chain <chain> (--above <price> | --below <price>) [--json]

alert list

twak alert list [--active] [--json]

alert check

twak alert check [--json]

alert delete

twak alert delete <id> [--json]

serve

Start an MCP server (stdio) or REST API server for AI agent integrations.

twak serve [--rest] [--port <port>] [--host <host>] \
           [--auto-lock <minutes>] [--password <pw>] \
           [--x402] [--payment-amount <amount>] [--payment-asset <asset>] \
           [--payment-chain <chain>] [--payment-recipient <address>]
Flag Description
--rest Start REST HTTP server instead of MCP stdio
--port Port for REST server (default: 3000)
--auto-lock Auto-lock wallet after N minutes of inactivity
--x402 Require x402 micropayment for REST endpoints

The REST server authenticates requests via Authorization: Bearer <HMAC_SECRET>. This is separate from the HMAC signing used by tws.trustwallet.com — the REST server runs locally and uses the raw secret as a shared token for simplicity.