cws
End-user Canton wallet CLI. Ships an interactive TUI and a scripted subcommand mode, with an encrypted keystore, profile-based multi-identity support, and typed-token confirmation for every mainnet mutation.
Install
npm install -g @0xsend/cws-cli
cws --helpRequires Node.js 20 or newer. The published bundle is self-contained — no extra @0xsend/* packages need to be installed alongside.
First run
Create a profile. The wizard walks you through the choices:
cws profile create workThe prompts in order:
- Network —
mainnetortestnet. - API key — paste the cws-api key for the target realm. Stored inside the encrypted keystore, never on disk in plaintext.
- Signing key source — one of
generate(new P-256 keypair; secp256k1 also supported),import(read PEM/DER from disk), orpaste(hex/base64 at the prompt). - Password — encrypts the keystore with Argon2id + AES-256-GCM. Asked again every time a command needs to sign.
Profiles live under $WALLET_CONFIG (default ~/.config/wallet-cli).
Multisig vs single-signer
multisig queue * commands take an explicit <multisigPartyId> and route the prepared transaction through the queue (threshold signers approve, then multisig transaction submit or auto-submit when threshold is met).
transaction *commands are for 1/1 wallets. The party id is derived automatically from the active profile's keystore — no party argument is needed. The cws-api submits the transaction directly upon signing.