{
  "schemaVersion": "1.0",
  "item": {
    "slug": "sui-agent-wallet",
    "name": "Sui Agent Wallet",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/EasonC13/sui-agent-wallet",
    "canonicalUrl": "https://clawhub.ai/EasonC13/sui-agent-wallet",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/sui-agent-wallet",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=sui-agent-wallet",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "extension/background.js",
      "extension/content.js",
      "extension/inject.js",
      "extension/manifest.json",
      "scripts/install.sh"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/sui-agent-wallet"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/sui-agent-wallet",
    "agentPageUrl": "https://openagent3.xyz/skills/sui-agent-wallet/agent",
    "manifestUrl": "https://openagent3.xyz/skills/sui-agent-wallet/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/sui-agent-wallet/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Sui Agent Wallet Skill",
        "body": "Give your AI agent its own Sui wallet to interact with DApps and sign transactions.\n\nGitHub: https://github.com/EasonC13-agent/sui-skills/tree/main/sui-agent-wallet"
      },
      {
        "title": "Architecture",
        "body": "Chrome Extension ◄──WebSocket──► Local Server ◄──API──► Agent\n     │                                │\n     ▼                                ▼\n  DApp Page                    Key Management\n  (Wallet Standard)            (Seed Phrase)"
      },
      {
        "title": "Installation",
        "body": "cd <your-workspace>/skills/sui-agent-wallet\n\n# Install server dependencies\ncd server && bun install\n\n# Start the server\nbun run index.ts\n\nLoad Chrome Extension:\n\nOpen chrome://extensions/\nEnable \"Developer mode\"\nClick \"Load unpacked\"\nSelect the extension/ folder"
      },
      {
        "title": "First Launch",
        "body": "The server automatically generates a 12-word seed phrase and stores it in macOS Keychain:\n\n═══════════════════════════════════════════════════════════\n  🔐 NEW WALLET CREATED\n═══════════════════════════════════════════════════════════\n\n  Seed phrase stored securely in macOS Keychain.\n\n  To view your seed phrase for backup:\n    curl http://localhost:3847/mnemonic\n\n  Or use macOS Keychain Access app:\n    Service: sui-agent-wallet\n    Account: mnemonic\n═══════════════════════════════════════════════════════════"
      },
      {
        "title": "Secure Storage",
        "body": "LocationContentsmacOS KeychainSeed phrase (encrypted)~/.sui-agent-wallet/wallet.jsonAccount addresses, network settings (no sensitive data)\n\nView Keychain entry:\n\n# Command line\nsecurity find-generic-password -s \"sui-agent-wallet\" -a \"mnemonic\" -w\n\n# Or open Keychain Access app\n# Search for \"sui-agent-wallet\""
      },
      {
        "title": "Wallet Info",
        "body": "# Get current address\ncurl http://localhost:3847/address\n\n# Get balance\ncurl http://localhost:3847/balance\n\n# Get seed phrase (for backup)\ncurl http://localhost:3847/mnemonic"
      },
      {
        "title": "Account Management",
        "body": "# List all accounts\ncurl http://localhost:3847/accounts\n\n# Create new account\ncurl -X POST http://localhost:3847/accounts\n\n# Create account at specific index\ncurl -X POST http://localhost:3847/accounts \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"index\": 2}'\n\n# Switch account\ncurl -X POST http://localhost:3847/accounts/switch \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"index\": 1}'"
      },
      {
        "title": "Network Management",
        "body": "# Get current network\ncurl http://localhost:3847/network\n\n# Switch network (mainnet | testnet | devnet | localnet)\ncurl -X POST http://localhost:3847/network \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"network\": \"testnet\"}'"
      },
      {
        "title": "Get Test Coins (Faucet)",
        "body": "Testnet:\n\nOfficial Faucet: https://faucet.testnet.sui.io/\nDiscord: Join Sui Discord, post your wallet address in #testnet-faucet\nCLI: sui client faucet --address <YOUR_ADDRESS>\n\nDevnet:\n\nOfficial Faucet: https://faucet.devnet.sui.io/\nDiscord: Post your wallet address in #devnet-faucet\nCLI: sui client faucet --address <YOUR_ADDRESS>\n\nNote: Mainnet requires real SUI tokens and cannot use faucets."
      },
      {
        "title": "Transaction Signing",
        "body": "# View pending transactions\ncurl http://localhost:3847/pending\n\n# View transaction details\ncurl http://localhost:3847/tx/<request-id>\n\n# Approve transaction\ncurl -X POST http://localhost:3847/approve/<request-id>\n\n# Reject transaction\ncurl -X POST http://localhost:3847/reject/<request-id>"
      },
      {
        "title": "Import/Export",
        "body": "# Import seed phrase (WARNING: overwrites existing wallet!)\ncurl -X POST http://localhost:3847/import \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"mnemonic\": \"your twelve word seed phrase here ...\"}'"
      },
      {
        "title": "CLI Integration (Direct Signing)",
        "body": "Sign unsigned transactions generated by Sui CLI:\n\n# 1. Generate unsigned transaction (using Agent Wallet address)\nAGENT_ADDR=$(curl -s localhost:3847/address | jq -r .address)\nTX_BYTES=$(sui client publish --serialize-unsigned-transaction \\\n  --sender $AGENT_ADDR --gas-budget 100000000 | tail -1)\n\n# 2. Sign and execute with Agent Wallet\ncurl -X POST http://localhost:3847/sign-and-execute \\\n  -H \"Content-Type: application/json\" \\\n  -d \"{\\\"txBytes\\\": \\\"$TX_BYTES\\\"}\"\n\n# Or sign only without executing\ncurl -X POST http://localhost:3847/sign-raw \\\n  -H \"Content-Type: application/json\" \\\n  -d \"{\\\"txBytes\\\": \\\"$TX_BYTES\\\"}\"\n\nSupported CLI commands:\n\nsui client publish --serialize-unsigned-transaction\nsui client call --serialize-unsigned-transaction\nsui client transfer-sui --serialize-unsigned-transaction"
      },
      {
        "title": "Transaction Parsing",
        "body": "When a signing request comes in, the agent sees:\n\n{\n  \"id\": \"req_123\",\n  \"method\": \"signTransaction\",\n  \"origin\": \"http://localhost:5173\",\n  \"payload\": {\n    \"transaction\": \"{\\\"commands\\\":[{\\\"MoveCall\\\":{...}}]}\",\n    \"chain\": \"sui:devnet\"\n  }\n}"
      },
      {
        "title": "Security Checklist",
        "body": "Before signing, verify:\n\nIs the target contract trustworthy?\n Is the amount reasonable?\n Are there suspicious coin transfers?\n Is the gas budget normal?"
      },
      {
        "title": "Test DApp",
        "body": "Built-in Counter DApp for testing:\n\n# Start frontend\ncd test-dapp/frontend && pnpm dev\n\n# Open http://localhost:5173\n# 1. Connect Wallet → Select \"Sui Agent Wallet\"\n# 2. Click \"+1\" → Sends a signing request\n# 3. Agent uses /pending to view, /approve to sign"
      },
      {
        "title": "BIP44 Derivation Path",
        "body": "m/44'/784'/{accountIndex}'/0'/0'\n\n784 = Sui's coin type\nEach accountIndex corresponds to one address"
      },
      {
        "title": "Wallet Standard Features",
        "body": "Implemented Sui Wallet Standard features:\n\nstandard:connect\nstandard:disconnect\nstandard:events\nsui:signTransaction\nsui:signAndExecuteTransaction\nsui:signPersonalMessage"
      },
      {
        "title": "Event Notifications",
        "body": "When switching accounts or networks, the server notifies the Extension via WebSocket:\n\naccountChanged - Account changed\nnetworkChanged - Network changed"
      },
      {
        "title": "Related Skills",
        "body": "This skill is part of the Sui development skill suite:\n\nSkillDescriptionsui-decompileFetch and read on-chain contract source codesui-moveWrite and deploy Move smart contractssui-coverageAnalyze test coverage with security analysissui-agent-walletBuild and test DApps frontend\n\nWorkflow:\n\nsui-decompile → sui-move → sui-coverage → sui-agent-wallet\n    Study        Write      Test & Audit   Build DApps\n\nAll skills: https://github.com/EasonC13-agent/sui-skills"
      }
    ],
    "body": "Sui Agent Wallet Skill\n\nGive your AI agent its own Sui wallet to interact with DApps and sign transactions.\n\nGitHub: https://github.com/EasonC13-agent/sui-skills/tree/main/sui-agent-wallet\n\nArchitecture\nChrome Extension ◄──WebSocket──► Local Server ◄──API──► Agent\n     │                                │\n     ▼                                ▼\n  DApp Page                    Key Management\n  (Wallet Standard)            (Seed Phrase)\n\nInstallation\ncd <your-workspace>/skills/sui-agent-wallet\n\n# Install server dependencies\ncd server && bun install\n\n# Start the server\nbun run index.ts\n\n\nLoad Chrome Extension:\n\nOpen chrome://extensions/\nEnable \"Developer mode\"\nClick \"Load unpacked\"\nSelect the extension/ folder\nFirst Launch\n\nThe server automatically generates a 12-word seed phrase and stores it in macOS Keychain:\n\n═══════════════════════════════════════════════════════════\n  🔐 NEW WALLET CREATED\n═══════════════════════════════════════════════════════════\n\n  Seed phrase stored securely in macOS Keychain.\n\n  To view your seed phrase for backup:\n    curl http://localhost:3847/mnemonic\n\n  Or use macOS Keychain Access app:\n    Service: sui-agent-wallet\n    Account: mnemonic\n═══════════════════════════════════════════════════════════\n\nSecure Storage\nLocation\tContents\nmacOS Keychain\tSeed phrase (encrypted)\n~/.sui-agent-wallet/wallet.json\tAccount addresses, network settings (no sensitive data)\n\nView Keychain entry:\n\n# Command line\nsecurity find-generic-password -s \"sui-agent-wallet\" -a \"mnemonic\" -w\n\n# Or open Keychain Access app\n# Search for \"sui-agent-wallet\"\n\nAgent API\nWallet Info\n# Get current address\ncurl http://localhost:3847/address\n\n# Get balance\ncurl http://localhost:3847/balance\n\n# Get seed phrase (for backup)\ncurl http://localhost:3847/mnemonic\n\nAccount Management\n# List all accounts\ncurl http://localhost:3847/accounts\n\n# Create new account\ncurl -X POST http://localhost:3847/accounts\n\n# Create account at specific index\ncurl -X POST http://localhost:3847/accounts \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"index\": 2}'\n\n# Switch account\ncurl -X POST http://localhost:3847/accounts/switch \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"index\": 1}'\n\nNetwork Management\n# Get current network\ncurl http://localhost:3847/network\n\n# Switch network (mainnet | testnet | devnet | localnet)\ncurl -X POST http://localhost:3847/network \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"network\": \"testnet\"}'\n\nGet Test Coins (Faucet)\n\nTestnet:\n\nOfficial Faucet: https://faucet.testnet.sui.io/\nDiscord: Join Sui Discord, post your wallet address in #testnet-faucet\nCLI: sui client faucet --address <YOUR_ADDRESS>\n\nDevnet:\n\nOfficial Faucet: https://faucet.devnet.sui.io/\nDiscord: Post your wallet address in #devnet-faucet\nCLI: sui client faucet --address <YOUR_ADDRESS>\n\nNote: Mainnet requires real SUI tokens and cannot use faucets.\n\nTransaction Signing\n# View pending transactions\ncurl http://localhost:3847/pending\n\n# View transaction details\ncurl http://localhost:3847/tx/<request-id>\n\n# Approve transaction\ncurl -X POST http://localhost:3847/approve/<request-id>\n\n# Reject transaction\ncurl -X POST http://localhost:3847/reject/<request-id>\n\nImport/Export\n# Import seed phrase (WARNING: overwrites existing wallet!)\ncurl -X POST http://localhost:3847/import \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"mnemonic\": \"your twelve word seed phrase here ...\"}'\n\nCLI Integration (Direct Signing)\n\nSign unsigned transactions generated by Sui CLI:\n\n# 1. Generate unsigned transaction (using Agent Wallet address)\nAGENT_ADDR=$(curl -s localhost:3847/address | jq -r .address)\nTX_BYTES=$(sui client publish --serialize-unsigned-transaction \\\n  --sender $AGENT_ADDR --gas-budget 100000000 | tail -1)\n\n# 2. Sign and execute with Agent Wallet\ncurl -X POST http://localhost:3847/sign-and-execute \\\n  -H \"Content-Type: application/json\" \\\n  -d \"{\\\"txBytes\\\": \\\"$TX_BYTES\\\"}\"\n\n# Or sign only without executing\ncurl -X POST http://localhost:3847/sign-raw \\\n  -H \"Content-Type: application/json\" \\\n  -d \"{\\\"txBytes\\\": \\\"$TX_BYTES\\\"}\"\n\n\nSupported CLI commands:\n\nsui client publish --serialize-unsigned-transaction\nsui client call --serialize-unsigned-transaction\nsui client transfer-sui --serialize-unsigned-transaction\nTransaction Parsing\n\nWhen a signing request comes in, the agent sees:\n\n{\n  \"id\": \"req_123\",\n  \"method\": \"signTransaction\",\n  \"origin\": \"http://localhost:5173\",\n  \"payload\": {\n    \"transaction\": \"{\\\"commands\\\":[{\\\"MoveCall\\\":{...}}]}\",\n    \"chain\": \"sui:devnet\"\n  }\n}\n\nSecurity Checklist\n\nBefore signing, verify:\n\n Is the target contract trustworthy?\n Is the amount reasonable?\n Are there suspicious coin transfers?\n Is the gas budget normal?\nTest DApp\n\nBuilt-in Counter DApp for testing:\n\n# Start frontend\ncd test-dapp/frontend && pnpm dev\n\n# Open http://localhost:5173\n# 1. Connect Wallet → Select \"Sui Agent Wallet\"\n# 2. Click \"+1\" → Sends a signing request\n# 3. Agent uses /pending to view, /approve to sign\n\nTechnical Details\nBIP44 Derivation Path\nm/44'/784'/{accountIndex}'/0'/0'\n\n784 = Sui's coin type\nEach accountIndex corresponds to one address\nWallet Standard Features\n\nImplemented Sui Wallet Standard features:\n\nstandard:connect\nstandard:disconnect\nstandard:events\nsui:signTransaction\nsui:signAndExecuteTransaction\nsui:signPersonalMessage\nEvent Notifications\n\nWhen switching accounts or networks, the server notifies the Extension via WebSocket:\n\naccountChanged - Account changed\nnetworkChanged - Network changed\nRelated Skills\n\nThis skill is part of the Sui development skill suite:\n\nSkill\tDescription\nsui-decompile\tFetch and read on-chain contract source code\nsui-move\tWrite and deploy Move smart contracts\nsui-coverage\tAnalyze test coverage with security analysis\nsui-agent-wallet\tBuild and test DApps frontend\n\nWorkflow:\n\nsui-decompile → sui-move → sui-coverage → sui-agent-wallet\n    Study        Write      Test & Audit   Build DApps\n\n\nAll skills: https://github.com/EasonC13-agent/sui-skills"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/EasonC13/sui-agent-wallet",
    "publisherUrl": "https://clawhub.ai/EasonC13/sui-agent-wallet",
    "owner": "EasonC13",
    "version": "1.0.3",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/sui-agent-wallet",
    "downloadUrl": "https://openagent3.xyz/downloads/sui-agent-wallet",
    "agentUrl": "https://openagent3.xyz/skills/sui-agent-wallet/agent",
    "manifestUrl": "https://openagent3.xyz/skills/sui-agent-wallet/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/sui-agent-wallet/agent.md"
  }
}