SDK CLI

Command-line wallet for Vultisig - secure multi-party computation (MPC) wallet management across 40+ blockchains.

Tip: Use vsig as a shorthand alias for vultisig - all commands work with both!

Installation

# Install globally
npm install -g @vultisig/cli

# Verify installation
vultisig --version

npx (no installation)

# Run directly without installing
npx @vultisig/cli balance ethereum

From source

# Clone the repository
git clone https://github.com/vultisig/vultisig-sdk.git
cd vultisig-sdk

# Install dependencies
yarn install

# Run CLI
yarn cli --help

Shell Completion

Enable tab completion for commands, chains, and vault names (works for both vultisig and vsig):

Quick Start

Create a Fast Vault

You'll be prompted to:

  1. Enter the verification code sent to your email

Create a Secure Vault (Multi-Device)

This creates a secure vault with configurable N-of-M threshold:

  1. A QR code displays in your terminal

  2. Other participants scan with Vultisig mobile app (iOS/Android)

  3. Once all devices join, keygen runs automatically

  4. Vault is created and ready to use

Secure vault options:

  • --shares <n> - Number of participating devices (default: 3)

  • --threshold <n> - Signing threshold (default: 2)

Example session:

Import from Seedphrase

Import an existing wallet from a BIP39 recovery phrase (12 or 24 words):

Import options:

  • --mnemonic <words> - Recovery phrase (space-separated words)

  • --discover-chains - Scan chains for existing balances before import

  • --chains <chains> - Specific chains to enable (comma-separated)

  • --use-phantom-solana-path - Use Phantom wallet derivation path for Solana

When --mnemonic is not provided, you'll be prompted to enter it securely (masked input).

Note: Phantom wallet uses a non-standard derivation path for Solana. If your seedphrase was originally created in Phantom and you're importing Solana funds, use --use-phantom-solana-path. When using --discover-chains, this is auto-detected.

Example session:

Check Balances

Send Transaction

Secure vault transactions:

When using a secure vault, a QR code displays for device coordination:

You can cancel with Ctrl+C while waiting for devices.

Interactive Shell

Start an interactive session with tab completion and password caching:

Commands

Vault Management

Command
Description

create fast

Create a new fast vault (server-assisted 2-of-2)

create secure

Create a secure vault (multi-device MPC)

import <file>

Import vault from .vult file

delete [vault]

Delete a vault from local storage

create-from-seedphrase fast

Import seedphrase as FastVault (2-of-2)

create-from-seedphrase secure

Import seedphrase as SecureVault (N-of-M)

join secure

Join an existing SecureVault creation session

export [path]

Export vault to file

verify <vaultId>

Verify vault with email code

vaults

List all stored vaults

switch <vaultId>

Switch to a different vault

rename <newName>

Rename the active vault

info

Show detailed vault information

Create fast options:

  • --name <name> - Vault name (required)

  • --password <password> - Vault password (required)

  • --email <email> - Email for verification (required)

Create secure options:

  • --name <name> - Vault name (required)

  • --password <password> - Vault password (optional)

  • --shares <n> - Number of devices (default: 3)

  • --threshold <n> - Signing threshold (default: 2)

Delete options:

  • [vault] - Vault name or ID to delete (defaults to active vault)

  • -y, --yes - Skip confirmation prompt

Join secure options:

  • --qr <payload> - QR code payload from initiator (vultisig://...)

  • --qr-file <path> - Read QR payload from file

  • --mnemonic <words> - Seedphrase (required for seedphrase-based sessions)

  • --password <password> - Vault password (optional)

  • --devices <n> - Total devices in session (default: 2)

Create-from-seedphrase fast options:

  • --name <name> - Vault name (required)

  • --email <email> - Email for verification (required)

  • --password <password> - Vault password (required)

  • --mnemonic <words> - Recovery phrase (prompted securely if not provided)

  • --discover-chains - Auto-enable chains with existing balances

  • --chains <chains> - Specific chains to enable (comma-separated)

  • --use-phantom-solana-path - Use Phantom wallet derivation path for Solana

Create-from-seedphrase secure options:

  • --name <name> - Vault name (required)

  • --shares <n> - Number of devices (default: 3)

  • --threshold <n> - Signing threshold (default: ceil((shares+1)/2))

  • --password <password> - Vault password (optional)

  • --mnemonic <words> - Recovery phrase (prompted securely if not provided)

  • --discover-chains - Auto-enable chains with existing balances

  • --chains <chains> - Specific chains to enable (comma-separated)

  • --use-phantom-solana-path - Use Phantom wallet derivation path for Solana

Export options:

  • [path] - Output file or directory (defaults to SDK-generated filename in current directory)

  • --password <password> - Password to unlock encrypted vaults

  • --exportPassword <password> - Password to encrypt the export file (defaults to --password if provided)

Wallet Operations

Command
Description

balance [chain]

Show balance for a chain or all chains

send <chain> <to> <amount>

Send tokens to an address

addresses

Show all vault addresses

portfolio

Show total portfolio value

Chain & Token Management

Command
Description

chains

List and manage chains (--add, --remove)

tokens <chain>

List and manage tokens for a chain

Swap Operations

Command
Description

swap-chains

List chains that support swaps

swap-quote <from> <to> <amount>

Get a swap quote

swap <from> <to> <amount>

Execute a swap

Swap quotes and previews show your VULT discount tier when affiliate fees are applied. See vultisig discount for tier details.

Advanced Operations

Command
Description

sign

Sign pre-hashed bytes for custom transactions

broadcast

Broadcast a pre-signed raw transaction

Signing Arbitrary Bytes

Sign pre-hashed data for externally constructed transactions:

Output:

JSON output:

Broadcasting Raw Transactions

Broadcast pre-signed transactions to the network:

Output:

Supported broadcast formats by chain:

Chain

--raw-tx Format

EVM (Ethereum, Polygon, etc.)

Hex-encoded signed tx

UTXO (Bitcoin, Litecoin, etc.)

Hex-encoded raw tx

Solana

Base64-encoded tx bytes

Sui

JSON: {"unsignedTx":"...","signature":"..."}

Cosmos

JSON: {"tx_bytes":"..."} or base64

TON

Base64 BOC

Polkadot

Hex-encoded extrinsic

Ripple

Hex-encoded tx blob

Tron

JSON tx object

Example: Custom EVM Transaction

Build and sign a transaction with ethers.js, broadcast with CLI:

Example: Custom Bitcoin Transaction

Build a PSBT with bitcoinjs-lib, sign with CLI:

Example: Custom Solana Transaction

Build with @solana/web3.js, sign with CLI:

Example: Custom Sui Transaction

Build with @mysten/sui, sign with CLI:

Settings

Command
Description

currency [code]

View or set currency preference

server

Check server connectivity

discount

Show your VULT discount tier for swap fees

address-book

Manage saved addresses

Discount Tiers

View your VULT token holdings discount tier for reduced swap fees:

Output:

Tier levels:

Tier
VULT Required
Swap Fee
Discount

None

0

50 bps

-

Bronze

1,500

45 bps

5 bps

Silver

3,000

40 bps

10 bps

Gold

7,500

30 bps

20 bps

Platinum

15,000

25 bps

25 bps

Diamond

100,000

15 bps

35 bps

Ultimate

1,000,000

0 bps

50 bps

Thorguard NFT holders receive a free tier upgrade (up to gold tier).

CLI Management

Command
Description

version

Show detailed version info

update

Check for updates

completion

Generate shell completion

Interactive Shell Commands

Command
Description

vault <name>

Switch to a different vault

vaults

List all vaults

create

Create a new vault

import <file>

Import vault from file

delete [name]

Delete a vault

lock

Lock vault (clear cached password)

unlock

Unlock vault (cache password)

status

Show vault status

help

Show available commands

.clear

Clear the screen

.exit

Exit the shell

Global Options

Silent Mode

Use --silent to suppress spinners, progress messages, and informational output. Only results and errors are shown:

Silent mode is useful for scripts where you only want the final output.

JSON Output

Use -o json or --output json to get structured JSON output. JSON mode automatically enables silent mode:

JSON output is ideal for:

  • Scripting and automation

  • Parsing output programmatically

  • Integration with other tools (e.g., jq):

Configuration

Environment Variables

Config Directory

Configuration is stored in ~/.vultisig/:

Security Best Practices

  • Never store passwords in plain text for production use

  • Always verify transaction details before confirming

  • Use testnets for development and testing

  • Keep vault backup files in a secure location

  • Never commit .vult files or .env with passwords to git

Supported Chains

40+ blockchains including:

  • EVM: Ethereum, Polygon, Arbitrum, Optimism, BSC, Base, Avalanche

  • UTXO: Bitcoin, Litecoin, Dogecoin, Dash, Zcash

  • Cosmos: Cosmos Hub, THORChain, Maya, Dydx, Kujira

  • Others: Solana, Sui, Polkadot, Ripple

Exit Codes

Code
Meaning

0

Success

1

General error

2

Invalid usage

3

Configuration error

4

Authentication error

5

Network error

6

Vault error

7

Transaction error

Troubleshooting

"No active vault" error

Create or import a vault first:

Network errors

  1. Check your internet connection

  2. Run vultisig server to check connectivity

  3. Try again in a few moments

Update issues

Documentation

Support

License

MIT

Last updated

Was this helpful?