Use this skill when an agent needs to create crypto wallets, send transactions, swap tokens, check balances, or perform any on-chain operation across 36+ blockchains using threshold signatures (TSS). Vultisig SDK provides self-custodial MPC vaults — no seed phrases, no single point of failure. Fast Vaults (2-of-2 with VultiServer) enable fully autonomous agent operations without human approval.
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install vultisig-sdk或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install vultisig-sdk⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/vultisig-sdk/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- name: vultisig description: Use this skill when an agent needs to create crypto wallets, send transactions, swap tokens, check balances, or perform any on-chain operation across 36+ blockchains using threshold signatures (TSS). Vultisig SDK provides self-custodial MPC vaults — no seed phrases, no single point of failure. Fast Vaults (2-of-2 with VultiServer) enable fully autonomous agent operations without human approval. user-invocable: true ---
1) Fast Vault (2-of-2) for all agent use cases - Agent holds one key share, VultiServer holds the other - VultiServer auto-co-signs based on policy rules — no human in the loop - Use Secure Vault only when multi-device human approval is required
2) TypeScript SDK (@vultisig/sdk) as primary interface - npm install @vultisig/sdk - Source: github.com/vultisig/vultisig-sdk - SDK Users Guide: docs/SDK-USERS-GUIDE.md
3) MemoryStorage for ephemeral agents, implement Storage interface for persistent agents - MemoryStorage is the only storage exported from the SDK - For persistent vaults, implement the Storage interface backed by your preferred store
4) 3-step transaction flow: prepare → sign → broadcast - Never skip steps. Always prepare the keysign payload first, then sign, then broadcast. - Fast Vault signing is automatic (VultiServer co-signs). Secure Vault requires device coordination.
5) Amounts as bigint (smallest unit) for sends, number (human-readable) for swaps - prepareSendTx takes amount: bigint (e.g., BigInt('100000000000000000') for 0.1 ETH) - getSwapQuote takes amount: number (e.g., 0.1 for 0.1 ETH)
import { Vultisig, MemoryStorage } from '@vultisig/sdk';
const sdk = new Vultisig({ storage: new MemoryStorage() });
await sdk.initialize();
> Source: Vultisig.ts
Two-step process: create (triggers email verification) then verify.
const vaultId = await sdk.createFastVault({
name: 'my-agent-vault',
email: '[email protected]',
password: 'secure-password',
});
// Verify with the code sent to the email
const vault = await sdk.verifyVault(vaultId, '123456');
// Returns: FastVault instance — ready for operations
Risk notes:
When agents need human approval before executing transactions (high-value transfers, treasury ops, compliance flows), use a Secure Vault. The agent holds one share, the human holds the other. The human co-signs via the Vultisig mobile app by scanning a QR code — the transaction only executes when both parties agree.
const { vault, vaultId, sessionId } = await sdk.createSecureVault({
name: 'agent-with-human-approval',
onQRCodeReady: (qrPayload) => {
// Display QR for the human co-signer to scan with Vultisig app
displayQRCode(qrPayload);
},
onDeviceJoined: (deviceId, total, required) => {
console.log(`Device joined: ${total}/${required}`);
},
});
Signing requires the human to participate:
const signature = await vault.sign(payload, {
onQRCodeReady: (qr) => {
// Human must scan this QR with Vultisig app to co-sign
displayQRCode(qr);
},
onDeviceJoined: (id, total, required) => {
console.log(`Signing: ${total}/${required} devices ready`);
},
});
// Completes only when the human co-signer participates
> Source: SecureVault.ts
When to use Secure Vault over Fast Vault:
const ethAddress = await vault.address('Ethereum');
const btcAddress = await vault.address('Bitcoin');
const solAddress = await vault.address('Solana');
// All addresses at once
const allAddresses = await vault.addresses();
// Returns: Record<string, string>
> Source: VaultBase.ts
Chain identifiers use PascalCase strings matching the Chain enum: 'Bitcoin', 'Ethereum', 'Solana', 'THORChain', 'Cosmos', 'Polygon', 'Arbitrum', 'Base', 'Optimism', 'Avalanche', 'BSC', etc.
> Full chain list: Chain.ts
// Native chain balance
const ethBalance = await vault.balance('Ethereum');
// Returns Balance: {
// amount: string, // Raw amount in smallest unit
// decimals: number, // Chain decimals (18 for ETH)
// symbol: string, // "ETH"
// chainId: string,
// fiatValue?: number, // USD value if available
// }
// Multiple chains
const allBalances = await vault.balances();
// Returns: Record<string, Balance>
// Force refresh (clears cache)
const fresh = await vault.updateBalance('Ethereum');
// Get a specific token balance by contract address
const usdcBalance = await vault.balance('Ethereum', '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48');
// Returns Balance: { amount: "1000000", decimals: 6, symbol: "USDC", ... }
// Get all token balances on a chain
const ethTokens = await vault.tokenBalances('Ethereum');
// Returns: Token[] — all tokens with non-zero balances
// Include tokens when fetching multi-chain balances
const everything = await vault.balances(undefined, true); // includeTokens = true
Risk notes:
vault.balance('Ethereum') returns only ETH, not ERC-20s.tokenId parameter.// Returns chain-specific gas info
const evmGas = await vault.gas('Ethereum');
// EvmGasInfo: { gasPrice, gasPriceGwei, maxFeePerGas, maxPriorityFeePerGas, gasLimit, estimatedCostUSD }
const utxoGas = await vault.gas('Bitcoin');
// UtxoGasInfo: { gasPrice, byteFee, estimatedCostUSD }
const cosmosGas = await vault.gas('Cosmos');
// CosmosGasInfo: { gasPrice, gas, estimatedCostUSD }
> Source: VaultBase.ts — gas
3-step flow: prepareSendTx → sign → broadcastTx
...
安装 vultisig-sdk 后,可以对 AI 说这些话来触发它
Help me get started with vultisig-sdk
Explains what vultisig-sdk does, walks through the setup, and runs a quick demo based on your current project
Use vultisig-sdk to use this skill when an agent needs to create crypto wallets, send t...
Invokes vultisig-sdk with the right parameters and returns the result directly in the conversation
What can I do with vultisig-sdk in my finance & investment workflow?
Lists the top use cases for vultisig-sdk, with example commands for each scenario
将技能文件夹放到 ~/.claude/skills/vultisig-sdk/ 目录(个人级,所有项目可用),或 .claude/skills/vultisig-sdk/(项目级)。重启 AI 客户端后,用 /vultisig-sdk 主动调用,或让 AI 根据上下文自动发现并使用。
vultisig-sdk 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
vultisig-sdk 可免费安装使用。请查阅仓库了解许可证信息。
Use this skill when an agent needs to create crypto wallets, send transactions, swap tokens, check balances, or perform any on-chain operation across 36+ blockchains using threshold signatures (TSS). Vultisig SDK provides self-custodial MPC vaults — no seed phrases, no single point of failure. Fast Vaults (2-of-2 with VultiServer) enable fully autonomous agent operations without human approval.
Automate my finance & investment tasks using vultisig-sdk
Identifies repetitive steps in your workflow and sets up vultisig-sdk to handle them automatically
vultisig-sdk 属于「Finance & Investment」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。