Crawler Summary

vultisig-wallet answer-first brief

MPC agentic wallet for Solana - agent proposes transactions, human approves on mobile --- name: vultisig-wallet description: MPC agentic wallet for Solana - agent proposes transactions, human approves on mobile license: MIT compatibility: openclaw metadata: category: finance security: high chain: solana requires_human_approval: true --- Vultisig Agentic Wallet A secure MPC wallet skill where: - **You (the agent)** hold one key shard - **The user** holds one key shard on their Vultisig mobile app - **N Capability contract not published. No trust telemetry is available yet. Last updated 4/14/2026.

Freshness

Last checked 4/14/2026

Best For

vultisig-wallet is best for spend, propose, with workflows where OpenClaw compatibility matters.

Not Ideal For

Contract metadata is missing or unavailable for deterministic execution.

Evidence Sources Checked

editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack

Claim this agent
Agent DossierGitHubSafety: 94/100

vultisig-wallet

MPC agentic wallet for Solana - agent proposes transactions, human approves on mobile --- name: vultisig-wallet description: MPC agentic wallet for Solana - agent proposes transactions, human approves on mobile license: MIT compatibility: openclaw metadata: category: finance security: high chain: solana requires_human_approval: true --- Vultisig Agentic Wallet A secure MPC wallet skill where: - **You (the agent)** hold one key shard - **The user** holds one key shard on their Vultisig mobile app - **N

OpenClawself-declared

Public facts

4

Change events

1

Artifacts

0

Freshness

Apr 14, 2026

Verifiededitorial-contentNo verified compatibility signals

Capability contract not published. No trust telemetry is available yet. Last updated 4/14/2026.

Trust evidence available

Trust score

Unknown

Compatibility

OpenClaw

Freshness

Apr 14, 2026

Vendor

Moreshk

Artifacts

0

Benchmarks

0

Last release

Unpublished

Executive Summary

Key links, install path, and a quick operational read before the deeper crawl record.

Verifiededitorial-content

Summary

Capability contract not published. No trust telemetry is available yet. Last updated 4/14/2026.

Setup snapshot

git clone https://github.com/moreshk/vultisig-agentic-wallet.git
  1. 1

    Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.

  2. 2

    Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Evidence Ledger

Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.

Verifiededitorial-content
Vendor (1)

Vendor

Moreshk

profilemedium
Observed Apr 14, 2026Source linkProvenance
Compatibility (1)

Protocol compatibility

OpenClaw

contractmedium
Observed Apr 14, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance
Integration (1)

Crawlable docs

6 indexed pages on the official domain

search_documentmedium
Observed Apr 15, 2026Source linkProvenance

Release & Crawl Timeline

Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.

Self-declaredagent-index

Artifacts Archive

Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.

Self-declaredGITHUB OPENCLEW

Extracted files

0

Examples

6

Snippets

0

Languages

typescript

Parameters

Executable Examples

javascript

const result = await sendSolWithRetry({
  toAddress: 'abc123...',
  amountSol: 0.5,
  password: 'secret',
  maxRetries: 2,              // Auto-retry on blockhash expiration
  signingTimeoutMs: 120000,   // 2 minute timeout
  onProgress: (status) => console.log(status),
  onRetry: (attempt) => console.log(`Retry ${attempt}`),
})

javascript

{
  success: true,
  displayMessage: "## πŸ” Scan to Create Vault...[full markdown with QR]",
  qrCode: {
    dataUrl: "data:image/png;base64,...",  // Embed in HTML
    ascii: "β–ˆβ–€β–€β–€β–€β–€β–ˆ...",                   // Terminal fallback
    filePath: "/path/to/qr.png",           // File reference
    markdown: "![QR Code](data:...)"       // Ready for markdown
  }
}

javascript

await initiateTransaction(toAddress, amount, password, {
  webhookUrl: 'http://localhost:18790/webhook/tx',
  txId: 'tx-' + Date.now(),  // Optional, auto-generated if not provided
  webhookEvents: ['signing-complete', 'success'],  // Optional filter
})

json

{
  "event": "success",
  "txId": "tx-1706789123456-a1b2c3",
  "timestamp": 1706789123456,
  "data": {
    "txHash": "5xYz...",
    "toAddress": "abc...",
    "amountSol": 0.5,
    "explorerUrl": "https://solscan.io/tx/5xYz..."
  }
}

javascript

import { createServer } from 'http'

createServer(async (req, res) => {
  if (req.url === '/webhook/tx') {
    const payload = await readBody(req)
    
    if (payload.event === 'signing-complete') {
      await sendMessage('βœ… You signed! Broadcasting...')
    }
    if (payload.event === 'success') {
      await sendMessage(`πŸŽ‰ Sent! TX: ${payload.data.txHash}`)
    }
    
    res.end('ok')
  }
}).listen(18790)

text

User: "Set up a wallet for me"
Agent: "I'll create a secure MPC wallet. What would you like to name it, 
       and please provide an encryption password."
User: "Call it 'Trading Wallet', password is [provided securely]"
Agent: [Executes create-vault script]
Agent: "Scan this QR code with your Vultisig mobile app to complete setup:
       [QR PAYLOAD]
       Let me know once you've scanned it."
User: "Done"
Agent: "Your wallet is ready! Address: 7xKp...3nQm"

Docs & README

Full documentation captured from public sources, including the complete README when available.

Self-declaredGITHUB OPENCLEW

Docs source

GITHUB OPENCLEW

Editorial quality

ready

MPC agentic wallet for Solana - agent proposes transactions, human approves on mobile --- name: vultisig-wallet description: MPC agentic wallet for Solana - agent proposes transactions, human approves on mobile license: MIT compatibility: openclaw metadata: category: finance security: high chain: solana requires_human_approval: true --- Vultisig Agentic Wallet A secure MPC wallet skill where: - **You (the agent)** hold one key shard - **The user** holds one key shard on their Vultisig mobile app - **N

Full README

name: vultisig-wallet description: MPC agentic wallet for Solana - agent proposes transactions, human approves on mobile license: MIT compatibility: openclaw metadata: category: finance security: high chain: solana requires_human_approval: true

Vultisig Agentic Wallet

A secure MPC wallet skill where:

  • You (the agent) hold one key shard
  • The user holds one key shard on their Vultisig mobile app
  • Neither party can spend alone - both signatures required (2-of-2)

Security Model

⚠️ CRITICAL: You can PROPOSE transactions but CANNOT execute without user approval.

  • Your vault shard is encrypted with the user's password
  • User reviews every transaction on their mobile before signing
  • Even if you are compromised, funds are safe without mobile approval
  • Private key is NEVER reconstructed - MPC signing keeps shards separate

Capabilities

1. Create Wallet

Creates a new 2-of-2 secure vault. Returns a QR code payload for user to scan.

When to use: User explicitly asks to create/setup a wallet

Process:

  1. Ask user for a vault name and encryption password
  2. Call the create-vault script
  3. Display the returned QR payload to user
  4. Wait for user to scan with Vultisig mobile app
  5. Confirm when vault creation is complete

2. Initiate Transaction

Prepares a SOL transfer and generates signing QR for mobile approval.

When to use: User asks to send/transfer SOL

Process:

  1. Confirm destination address and amount with user
  2. Call the initiate-transaction script
  3. Display the signing QR payload to user
  4. User reviews and approves on mobile
  5. Transaction is broadcast automatically after approval

3. Get Wallet Address

Returns the Solana address of the current vault.

When to use: User asks for their wallet/deposit address

4. Check Vault Status

Checks if a vault exists and is accessible.

When to use: At conversation start or when user asks about wallet status

Scripts

Located in src/ directory:

| Script | Purpose | Returns | |--------|---------|---------| | create-vault.ts | Initialize new 2-of-2 vault | QR code + display message | | initiate-tx.ts | Prepare and sign transaction (with auto-retry) | QR code + display message | | get-address.ts | Get Solana deposit address | Address string | | check-status.ts | Verify vault accessibility | Status object | | qr-utils.ts | QR code generation utilities | Multiple QR formats | | storage.ts | File-based storage with proper indexing | Storage adapter | | errors.ts | Typed errors for better handling | Error classes |

Key Functions

sendSolWithRetry() - Recommended for transactions:

const result = await sendSolWithRetry({
  toAddress: 'abc123...',
  amountSol: 0.5,
  password: 'secret',
  maxRetries: 2,              // Auto-retry on blockhash expiration
  signingTimeoutMs: 120000,   // 2 minute timeout
  onProgress: (status) => console.log(status),
  onRetry: (attempt) => console.log(`Retry ${attempt}`),
})

QR Code Display

When vault creation or transaction signing returns a result, use the displayMessage field directly - it contains a ready-to-show markdown message with:

  • The QR code image (as markdown image or data URL)
  • Clear instructions for the user
  • Transaction details (for signing)

Example response structure:

{
  success: true,
  displayMessage: "## πŸ” Scan to Create Vault...[full markdown with QR]",
  qrCode: {
    dataUrl: "data:image/png;base64,...",  // Embed in HTML
    ascii: "β–ˆβ–€β–€β–€β–€β–€β–ˆ...",                   // Terminal fallback
    filePath: "/path/to/qr.png",           // File reference
    markdown: "![QR Code](data:...)"       // Ready for markdown
  }
}

Display priority:

  1. Use displayMessage if your UI supports markdown
  2. Use qrCode.dataUrl for HTML image embedding
  3. Use qrCode.ascii for terminal/text-only display

User Instructions

When helping users, remind them:

  1. Download Vultisig app first (iOS/Android)
  2. Vault creation requires scanning QR with mobile
  3. Every transaction needs mobile approval - this is a security feature
  4. Keep mobile accessible when wanting to transact
  5. Backup the encrypted vault file is recommended

Error Handling

| Error Code | Meaning | Action | |------------|---------|--------| | NO_VAULT | User hasn't created wallet yet | Guide through creation | | INVALID_PASSWORD | Wrong decryption password | Ask user to re-enter | | SIGNING_TIMEOUT | Mobile approval not received in time | Remind to check mobile | | BLOCKHASH_EXPIRED | Signing took >60 seconds | Auto-retries, then ask user to try again faster | | INSUFFICIENT_BALANCE | Not enough SOL | Show balance, suggest deposit |

Blockhash Expiration

⚠️ Important: Solana blockhashes expire after ~90 seconds. If mobile signing takes longer, the transaction will fail.

Built-in handling:

  • Transactions auto-retry up to 2 times on blockhash expiration
  • UI shows countdown: "approve within 60 seconds"
  • Clear error messages when retries are exhausted

Best practices:

  • Remind users to have their phone ready before initiating
  • Use sendSolWithRetry() which handles retries automatically
  • Consider using durable nonces for very slow signing scenarios

Webhooks (Real-time Notifications)

For agents that need immediate notifications (e.g., to send Telegram messages), the skill supports webhooks.

Enable webhooks:

await initiateTransaction(toAddress, amount, password, {
  webhookUrl: 'http://localhost:18790/webhook/tx',
  txId: 'tx-' + Date.now(),  // Optional, auto-generated if not provided
  webhookEvents: ['signing-complete', 'success'],  // Optional filter
})

Webhook events:

| Event | When | Data | |-------|------|------| | qr-ready | QR code generated | { qrPayload, toAddress, amountSol } | | device-joined | Device joins signing | { deviceId, totalJoined, required } | | signing-complete | All devices signed | { totalJoined, elapsedSeconds } | | broadcast | Transaction broadcasting | { toAddress, amountSol } | | success | Transaction confirmed | { txHash, explorerUrl } | | error | An error occurred | { errorCode, error } | | retry | Retrying (blockhash expired) | { attempt, reason } |

Webhook payload format:

{
  "event": "success",
  "txId": "tx-1706789123456-a1b2c3",
  "timestamp": 1706789123456,
  "data": {
    "txHash": "5xYz...",
    "toAddress": "abc...",
    "amountSol": 0.5,
    "explorerUrl": "https://solscan.io/tx/5xYz..."
  }
}

Example webhook server (for agents):

import { createServer } from 'http'

createServer(async (req, res) => {
  if (req.url === '/webhook/tx') {
    const payload = await readBody(req)
    
    if (payload.event === 'signing-complete') {
      await sendMessage('βœ… You signed! Broadcasting...')
    }
    if (payload.event === 'success') {
      await sendMessage(`πŸŽ‰ Sent! TX: ${payload.data.txHash}`)
    }
    
    res.end('ok')
  }
}).listen(18790)

Example Interactions

Creating a wallet:

User: "Set up a wallet for me"
Agent: "I'll create a secure MPC wallet. What would you like to name it, 
       and please provide an encryption password."
User: "Call it 'Trading Wallet', password is [provided securely]"
Agent: [Executes create-vault script]
Agent: "Scan this QR code with your Vultisig mobile app to complete setup:
       [QR PAYLOAD]
       Let me know once you've scanned it."
User: "Done"
Agent: "Your wallet is ready! Address: 7xKp...3nQm"

Sending SOL:

User: "Send 0.5 SOL to alice.sol"
Agent: "I'll prepare a transfer of 0.5 SOL to alice.sol. 
       Please confirm this is correct."
User: "Yes"
Agent: [Executes initiate-tx script]
Agent: "Transaction prepared. Approve on your Vultisig mobile app:
       [SIGNING QR PAYLOAD]
       Amount: 0.5 SOL
       To: alice.sol"
[User approves on mobile]
Agent: "βœ“ Transaction sent! TX: 5xYz...hash
       View on Solscan: https://solscan.io/tx/5xYz...hash"

Contract & API

Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.

MissingGITHUB OPENCLEW

Contract coverage

Status

missing

Auth

None

Streaming

No

Data region

Unspecified

Protocol support

OpenClaw: self-declared

Requires: none

Forbidden: none

Guardrails

Operational confidence: low

No positive guardrails captured.
Invocation examples
curl -s "https://www.xpersona.co/api/v1/agents/moreshk-vultisig-agentic-wallet/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/moreshk-vultisig-agentic-wallet/contract"
curl -s "https://www.xpersona.co/api/v1/agents/moreshk-vultisig-agentic-wallet/trust"

Reliability & Benchmarks

Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.

Missingruntime-metrics

Trust signals

Handshake

UNKNOWN

Confidence

unknown

Attempts 30d

unknown

Fallback rate

unknown

Runtime metrics

Observed P50

unknown

Observed P95

unknown

Rate limit

unknown

Estimated cost

unknown

Do not use if

Contract metadata is missing or unavailable for deterministic execution.
No benchmark suites or observed failure patterns are available.

Media & Demo

Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.

Missingno-media
No screenshots, media assets, or demo links are available.

Related Agents

Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.

Self-declaredprotocol-neighbors
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation β€’ (~400 MCP servers for AI agents) β€’ AI Automation / AI Agent with MCPs β€’ AI Workflows & AI Agents β€’ MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW
Machine Appendix

Contract JSON

{
  "contractStatus": "missing",
  "authModes": [],
  "requires": [],
  "forbidden": [],
  "supportsMcp": false,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": null,
  "outputSchemaRef": null,
  "dataRegion": null,
  "contractUpdatedAt": null,
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://www.xpersona.co/api/v1/agents/moreshk-vultisig-agentic-wallet/snapshot",
    "contractUrl": "https://www.xpersona.co/api/v1/agents/moreshk-vultisig-agentic-wallet/contract",
    "trustUrl": "https://www.xpersona.co/api/v1/agents/moreshk-vultisig-agentic-wallet/trust"
  },
  "curlExamples": [
    "curl -s \"https://www.xpersona.co/api/v1/agents/moreshk-vultisig-agentic-wallet/snapshot\"",
    "curl -s \"https://www.xpersona.co/api/v1/agents/moreshk-vultisig-agentic-wallet/contract\"",
    "curl -s \"https://www.xpersona.co/api/v1/agents/moreshk-vultisig-agentic-wallet/trust\""
  ],
  "jsonRequestTemplate": {
    "query": "summarize this repo",
    "constraints": {
      "maxLatencyMs": 2000,
      "protocolPreference": [
        "OPENCLEW"
      ]
    }
  },
  "jsonResponseTemplate": {
    "ok": true,
    "result": {
      "summary": "...",
      "confidence": 0.9
    },
    "meta": {
      "source": "GITHUB_OPENCLEW",
      "generatedAt": "2026-10-09T04:39:40.581Z"
    }
  },
  "retryPolicy": {
    "maxAttempts": 3,
    "backoffMs": [
      500,
      1500,
      3500
    ],
    "retryableConditions": [
      "HTTP_429",
      "HTTP_503",
      "NETWORK_TIMEOUT"
    ]
  }
}

Trust JSON

{
  "status": "unavailable",
  "handshakeStatus": "UNKNOWN",
  "verificationFreshnessHours": null,
  "reputationScore": null,
  "p95LatencyMs": null,
  "successRate30d": null,
  "fallbackRate": null,
  "attempts30d": null,
  "trustUpdatedAt": null,
  "trustConfidence": "unknown",
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Capability Matrix

{
  "rows": [
    {
      "key": "OPENCLEW",
      "type": "protocol",
      "support": "unknown",
      "confidenceSource": "profile",
      "notes": "Listed on profile"
    },
    {
      "key": "spend",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "propose",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "with",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "to",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "this",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "markdown",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "webhooks",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    }
  ],
  "flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:spend|supported|profile capability:propose|supported|profile capability:with|supported|profile capability:to|supported|profile capability:this|supported|profile capability:markdown|supported|profile capability:webhooks|supported|profile"
}

Facts JSON

[
  {
    "factKey": "docs_crawl",
    "category": "integration",
    "label": "Crawlable docs",
    "value": "6 indexed pages on the official domain",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  },
  {
    "factKey": "vendor",
    "category": "vendor",
    "label": "Vendor",
    "value": "Moreshk",
    "href": "https://github.com/moreshk/vultisig-agentic-wallet",
    "sourceUrl": "https://github.com/moreshk/vultisig-agentic-wallet",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-04-14T22:24:28.238Z",
    "isPublic": true
  },
  {
    "factKey": "protocols",
    "category": "compatibility",
    "label": "Protocol compatibility",
    "value": "OpenClaw",
    "href": "https://www.xpersona.co/api/v1/agents/moreshk-vultisig-agentic-wallet/contract",
    "sourceUrl": "https://www.xpersona.co/api/v1/agents/moreshk-vultisig-agentic-wallet/contract",
    "sourceType": "contract",
    "confidence": "medium",
    "observedAt": "2026-04-14T22:24:28.238Z",
    "isPublic": true
  },
  {
    "factKey": "handshake_status",
    "category": "security",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "href": "https://www.xpersona.co/api/v1/agents/moreshk-vultisig-agentic-wallet/trust",
    "sourceUrl": "https://www.xpersona.co/api/v1/agents/moreshk-vultisig-agentic-wallet/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true
  }
]

Change Events JSON

[
  {
    "eventType": "docs_update",
    "title": "Docs refreshed: Sign in to GitHub Β· GitHub",
    "description": "Fresh crawlable documentation was indexed for the official domain.",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  }
]

Sponsored

Ads related to vultisig-wallet and adjacent AI workflows.