Vultisig SDK
Vultisig TypeScript SDK and CLI. Create Fast or Secure vaults, send, swap, and sign across 36+ chains. No seed phrase.
The self-custodial multi-chain wallet SDK for developers and AI agents.
Send and swap across 36+ blockchains with human-readable amounts (
vault.send({ amount: "0.1" }))MPC — keys are split across parties. No seed phrase. No single point of failure
Cross-chain swaps via THORChain, Maya, 1inch, Kyber, LiFi, Jupiter, and others. The SDK picks the quote
Portfolio with balances and fiat prices
Dry-run on send and swap — preview fees and output before signing
Agent-ready — JSON output, programmatic API
Install @vultisig/sdk for apps and bots. Install @vultisig/cli for shells and coding agents.
Source: vultisig/vultisig-sdk
Which interface
Programmatic SDK (@vultisig/sdk)
CLI (@vultisig/cli)
Install
npm install @vultisig/sdk
npm install -g @vultisig/cli
Best for
Apps, bots, long-running services
Coding agents, shell scripts
Language
TypeScript
Shell, JSON out
Vault creation
sdk.createFastVault() + email verification
vultisig create fast --two-step
Agent mode
vault.send(), vault.swap()
vultisig agent ask "check my ETH balance"
Long-running
Initialize WASM once
Each command reloads WASM
Signing
onPasswordRequired or vault.unlock()
--password or VAULT_PASSWORD
Full walkthrough: SDK implementation guide. Command reference: CLI.
Vault types
Fast Vault — 2-of-2 with Vultiserver. Instant signing.
Secure Vault — N-of-M on devices you control. Other devices join by QR with the Vultisig app.
Both types derive addresses and sign on the same 36+ chains as the apps.
Installation
Related: @vultisig/rujira for Rujira (FIN) helpers on THORChain.
Quick start
Fast Vault
Agents and CI can skip the email step:
Secure Vault
Do not use MemoryStorage in production. It is not persistent. Vault shares are gone when the process exits. The SDK picks FileStorage (Node/Electron) or BrowserStorage (IndexedDB) by default. Always vault.export() a backup.
Send, swap, portfolio
One chain, native coin
vault.balance(chain)
One chain, token
vault.balance(chain, tokenId)
Several chains
vault.balances(chains, includeTokens?)
All configured chains
vault.allBalances(includeTokens?)
Fiat portfolio
vault.portfolio('usd')
Omit symbol on send for the native coin. Set it for tokens ("USDC").
Platforms
Node.js 20+, Electron 20+, and browsers with WebAssembly (Chrome, Firefox, Safari, Edge). React Native is built as @vultisig/sdk/react-native.
WASM (DKLS, Schnorr, Wallet Core) loads from the npm package. For Vite, use @vultisig/sdk/vite. Details are in the implementation guide.
Next
SDK implementation guide — passwords, vault lifecycle, swaps, events, platform notes
CLI — commands, JSON,
agent ask, exit codesExamples — browser app
MIGRATING.md — breaking changes
Last updated
Was this helpful?
