{
  "schemaVersion": "1.0",
  "item": {
    "slug": "arkade-wallet",
    "name": "Bitcoin and Tether on Arkade",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/tiero/arkade-wallet",
    "canonicalUrl": "https://clawhub.ai/tiero/arkade-wallet",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/arkade-wallet",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=arkade-wallet",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "cli/arkade.mjs",
      "package.json",
      "pnpm-lock.yaml",
      "src/index.ts"
    ],
    "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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.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/arkade-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/arkade-wallet",
    "agentPageUrl": "https://openagent3.xyz/skills/arkade-wallet/agent",
    "manifestUrl": "https://openagent3.xyz/skills/arkade-wallet/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/arkade-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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Arkade Skill",
        "body": "Send and receive Bitcoin over Arkade (offchain), onchain (via onboard/offboard), and Lightning Network.\nSwap between BTC and stablecoins (USDC/USDT) via LendaSwap.\n\nPayment methods:\n\nOffchain (Arkade): Instant transactions between Arkade wallets\nOnchain: Get paid onchain via boarding address (onboard), pay onchain via offboard\nLightning: Pay and receive via Boltz submarine swaps\n\nDefault Server: https://arkade.computer"
      },
      {
        "title": "Quick Start (no install required)",
        "body": "# Using pnpm (recommended)\npnpm dlx @arkade-os/skill init\npnpm dlx @arkade-os/skill address\n\n# Using npx\nnpx -y -p @arkade-os/skill arkade init\nnpx -y -p @arkade-os/skill arkade address"
      },
      {
        "title": "Global Install",
        "body": "# Install globally\nnpm install -g @arkade-os/skill\n# or\npnpm add -g @arkade-os/skill\n\n# Then use directly\narkade init\narkade address"
      },
      {
        "title": "As a dependency",
        "body": "npm install @arkade-os/skill\n# or\npnpm add @arkade-os/skill"
      },
      {
        "title": "CLI Commands",
        "body": "Note: Examples below use arkade directly (assumes global install).\nFor pnpm: pnpm dlx @arkade-os/skill <command>\nFor npx: npx -y -p @arkade-os/skill arkade <command>"
      },
      {
        "title": "Wallet Management",
        "body": "# Initialize wallet (auto-generates private key, default server: arkade.computer)\narkade init\n\n# Initialize with custom server\narkade init https://custom-server.com\n\n# Show Ark address (for receiving offchain Bitcoin)\narkade address\n\n# Show boarding address (for onchain deposits)\narkade boarding-address\n\n# Show balance breakdown\narkade balance"
      },
      {
        "title": "Bitcoin Transactions",
        "body": "# Send sats to an Ark address\narkade send <ark-address> <amount-sats>\n\n# Example: Send 50,000 sats\narkade send ark1qxyz... 50000\n\n# View transaction history\narkade history"
      },
      {
        "title": "Onchain Payments (Onboard/Offboard)",
        "body": "# Get paid onchain: Receive BTC to your boarding address, then onboard to Arkade\n# Step 1: Get your boarding address\narkade boarding-address\n\n# Step 2: Have someone send BTC to your boarding address\n\n# Step 3: Onboard the received BTC to make it available offchain\narkade onboard\n\n# Pay onchain: Send offchain BTC to any onchain Bitcoin address\narkade offboard <btc-address>\n\n# Example: Pay someone at bc1 address\narkade offboard bc1qxyz..."
      },
      {
        "title": "Lightning Network",
        "body": "# Create a Lightning invoice to receive payment\narkade ln-invoice <amount-sats> [description]\n\n# Example: Create invoice for 25,000 sats\narkade ln-invoice 25000 \"Coffee payment\"\n\n# Pay a Lightning invoice\narkade ln-pay <bolt11-invoice>\n\n# Show swap fees\narkade ln-fees\n\n# Show swap limits\narkade ln-limits\n\n# Show pending swaps\narkade ln-pending"
      },
      {
        "title": "Stablecoin Swaps (LendaSwap)",
        "body": "# Get quote for BTC to stablecoin swap\narkade swap-quote <amount-sats> <from> <to>\n\n# Example: Quote 100,000 sats to USDC on Polygon\narkade swap-quote 100000 btc_arkade usdc_pol\n\n# Show available trading pairs\narkade swap-pairs\n\nSupported Tokens:\n\nbtc_arkade - Bitcoin on Arkade\nusdc_pol - USDC on Polygon\nusdc_eth - USDC on Ethereum\nusdc_arb - USDC on Arbitrum\nusdt_pol - USDT on Polygon\nusdt_eth - USDT on Ethereum\nusdt_arb - USDT on Arbitrum"
      },
      {
        "title": "SDK Usage",
        "body": "import { Wallet, SingleKey } from \"@arkade-os/sdk\";\nimport {\n  ArkadeBitcoinSkill,\n  ArkaLightningSkill,\n  LendaSwapSkill,\n} from \"@arkade-os/skill\";\n\n// Create wallet (default server: arkade.computer)\nconst wallet = await Wallet.create({\n  identity: SingleKey.fromHex(privateKeyHex),\n  arkServerUrl: \"https://arkade.computer\",\n});\n\n// === Bitcoin Operations ===\nconst bitcoin = new ArkadeBitcoinSkill(wallet);\n\n// Get addresses\nconst arkAddress = await bitcoin.getArkAddress();\nconst boardingAddress = await bitcoin.getBoardingAddress();\n\n// Check balance\nconst balance = await bitcoin.getBalance();\nconsole.log(\"Total:\", balance.total, \"sats\");\nconsole.log(\"Offchain available:\", balance.offchain.available, \"sats\");\nconsole.log(\"Onchain pending:\", balance.onchain.total, \"sats\");\n\n// Send Bitcoin\nconst result = await bitcoin.send({\n  address: recipientArkAddress,\n  amount: 50000,\n});\nconsole.log(\"Sent! TX:\", result.txid);\n\n// === Lightning Operations ===\nconst lightning = new ArkaLightningSkill({\n  wallet,\n  network: \"bitcoin\",\n});\n\n// Create invoice\nconst invoice = await lightning.createInvoice({\n  amount: 25000,\n  description: \"Coffee payment\",\n});\nconsole.log(\"Invoice:\", invoice.bolt11);\n\n// Pay invoice\nconst payment = await lightning.payInvoice({\n  bolt11: \"lnbc...\",\n});\nconsole.log(\"Paid! Preimage:\", payment.preimage);\n\n// === Stablecoin Swaps ===\nconst lendaswap = new LendaSwapSkill({ wallet });\n\n// Get quote\nconst quote = await lendaswap.getQuoteBtcToStablecoin(100000, \"usdc_pol\");\nconsole.log(\"You'll receive:\", quote.targetAmount, \"USDC\");\n\n// Execute swap\nconst swap = await lendaswap.swapBtcToStablecoin({\n  targetAddress: \"0x...\", // EVM address\n  targetToken: \"usdc_pol\",\n  targetChain: \"polygon\",\n  sourceAmount: 100000,\n});\nconsole.log(\"Swap ID:\", swap.swapId);"
      },
      {
        "title": "Configuration",
        "body": "Data Storage: ~/.arkade-wallet/config.json\n\nPrivate keys are auto-generated on first use and stored locally. They are never exposed via CLI arguments or stdout. No environment variables required. The LendaSwap API is publicly accessible."
      },
      {
        "title": "ArkadeBitcoinSkill",
        "body": "getArkAddress() - Get Ark address for receiving offchain payments\ngetBoardingAddress() - Get boarding address for receiving onchain payments\ngetBalance() - Get balance breakdown\nsend(params) - Send Bitcoin to Ark address (offchain)\ngetTransactionHistory() - Get transaction history\nonboard(params) - Get paid onchain: convert onchain BTC to offchain\noffboard(params) - Pay onchain: send offchain BTC to any onchain address\nwaitForIncomingFunds(timeout?) - Wait for incoming funds"
      },
      {
        "title": "ArkaLightningSkill",
        "body": "createInvoice(params) - Create Lightning invoice\npayInvoice(params) - Pay Lightning invoice\ngetFees() - Get swap fees\ngetLimits() - Get swap limits\ngetPendingSwaps() - Get pending swaps\ngetSwapHistory() - Get swap history\nisAvailable() - Check if Lightning is available"
      },
      {
        "title": "LendaSwapSkill",
        "body": "getQuoteBtcToStablecoin(amount, token) - Quote BTC to stablecoin\ngetQuoteStablecoinToBtc(amount, token) - Quote stablecoin to BTC\nswapBtcToStablecoin(params) - Swap BTC to stablecoin\nswapStablecoinToBtc(params) - Swap stablecoin to BTC\ngetSwapStatus(swapId) - Get swap status\ngetPendingSwaps() - Get pending swaps\ngetSwapHistory() - Get swap history\ngetAvailablePairs() - Get available trading pairs\nclaimSwap(swapId) - Claim completed swap\nrefundSwap(swapId) - Refund expired swap"
      },
      {
        "title": "Networks",
        "body": "Arkade supports multiple networks:\n\nbitcoin - Bitcoin mainnet\ntestnet - Bitcoin testnet\nsignet - Bitcoin signet\nregtest - Local regtest\nmutinynet - Mutiny signet"
      },
      {
        "title": "Support",
        "body": "GitHub: https://github.com/arkade-os/skill\nDocumentation: https://docs.arkadeos.com"
      }
    ],
    "body": "Arkade Skill\n\nSend and receive Bitcoin over Arkade (offchain), onchain (via onboard/offboard), and Lightning Network. Swap between BTC and stablecoins (USDC/USDT) via LendaSwap.\n\nPayment methods:\n\nOffchain (Arkade): Instant transactions between Arkade wallets\nOnchain: Get paid onchain via boarding address (onboard), pay onchain via offboard\nLightning: Pay and receive via Boltz submarine swaps\n\nDefault Server: https://arkade.computer\n\nInstallation\nQuick Start (no install required)\n# Using pnpm (recommended)\npnpm dlx @arkade-os/skill init\npnpm dlx @arkade-os/skill address\n\n# Using npx\nnpx -y -p @arkade-os/skill arkade init\nnpx -y -p @arkade-os/skill arkade address\n\nGlobal Install\n# Install globally\nnpm install -g @arkade-os/skill\n# or\npnpm add -g @arkade-os/skill\n\n# Then use directly\narkade init\narkade address\n\nAs a dependency\nnpm install @arkade-os/skill\n# or\npnpm add @arkade-os/skill\n\nCLI Commands\n\nNote: Examples below use arkade directly (assumes global install). For pnpm: pnpm dlx @arkade-os/skill <command> For npx: npx -y -p @arkade-os/skill arkade <command>\n\nWallet Management\n# Initialize wallet (auto-generates private key, default server: arkade.computer)\narkade init\n\n# Initialize with custom server\narkade init https://custom-server.com\n\n# Show Ark address (for receiving offchain Bitcoin)\narkade address\n\n# Show boarding address (for onchain deposits)\narkade boarding-address\n\n# Show balance breakdown\narkade balance\n\nBitcoin Transactions\n# Send sats to an Ark address\narkade send <ark-address> <amount-sats>\n\n# Example: Send 50,000 sats\narkade send ark1qxyz... 50000\n\n# View transaction history\narkade history\n\nOnchain Payments (Onboard/Offboard)\n# Get paid onchain: Receive BTC to your boarding address, then onboard to Arkade\n# Step 1: Get your boarding address\narkade boarding-address\n\n# Step 2: Have someone send BTC to your boarding address\n\n# Step 3: Onboard the received BTC to make it available offchain\narkade onboard\n\n# Pay onchain: Send offchain BTC to any onchain Bitcoin address\narkade offboard <btc-address>\n\n# Example: Pay someone at bc1 address\narkade offboard bc1qxyz...\n\nLightning Network\n# Create a Lightning invoice to receive payment\narkade ln-invoice <amount-sats> [description]\n\n# Example: Create invoice for 25,000 sats\narkade ln-invoice 25000 \"Coffee payment\"\n\n# Pay a Lightning invoice\narkade ln-pay <bolt11-invoice>\n\n# Show swap fees\narkade ln-fees\n\n# Show swap limits\narkade ln-limits\n\n# Show pending swaps\narkade ln-pending\n\nStablecoin Swaps (LendaSwap)\n# Get quote for BTC to stablecoin swap\narkade swap-quote <amount-sats> <from> <to>\n\n# Example: Quote 100,000 sats to USDC on Polygon\narkade swap-quote 100000 btc_arkade usdc_pol\n\n# Show available trading pairs\narkade swap-pairs\n\n\nSupported Tokens:\n\nbtc_arkade - Bitcoin on Arkade\nusdc_pol - USDC on Polygon\nusdc_eth - USDC on Ethereum\nusdc_arb - USDC on Arbitrum\nusdt_pol - USDT on Polygon\nusdt_eth - USDT on Ethereum\nusdt_arb - USDT on Arbitrum\nSDK Usage\nimport { Wallet, SingleKey } from \"@arkade-os/sdk\";\nimport {\n  ArkadeBitcoinSkill,\n  ArkaLightningSkill,\n  LendaSwapSkill,\n} from \"@arkade-os/skill\";\n\n// Create wallet (default server: arkade.computer)\nconst wallet = await Wallet.create({\n  identity: SingleKey.fromHex(privateKeyHex),\n  arkServerUrl: \"https://arkade.computer\",\n});\n\n// === Bitcoin Operations ===\nconst bitcoin = new ArkadeBitcoinSkill(wallet);\n\n// Get addresses\nconst arkAddress = await bitcoin.getArkAddress();\nconst boardingAddress = await bitcoin.getBoardingAddress();\n\n// Check balance\nconst balance = await bitcoin.getBalance();\nconsole.log(\"Total:\", balance.total, \"sats\");\nconsole.log(\"Offchain available:\", balance.offchain.available, \"sats\");\nconsole.log(\"Onchain pending:\", balance.onchain.total, \"sats\");\n\n// Send Bitcoin\nconst result = await bitcoin.send({\n  address: recipientArkAddress,\n  amount: 50000,\n});\nconsole.log(\"Sent! TX:\", result.txid);\n\n// === Lightning Operations ===\nconst lightning = new ArkaLightningSkill({\n  wallet,\n  network: \"bitcoin\",\n});\n\n// Create invoice\nconst invoice = await lightning.createInvoice({\n  amount: 25000,\n  description: \"Coffee payment\",\n});\nconsole.log(\"Invoice:\", invoice.bolt11);\n\n// Pay invoice\nconst payment = await lightning.payInvoice({\n  bolt11: \"lnbc...\",\n});\nconsole.log(\"Paid! Preimage:\", payment.preimage);\n\n// === Stablecoin Swaps ===\nconst lendaswap = new LendaSwapSkill({ wallet });\n\n// Get quote\nconst quote = await lendaswap.getQuoteBtcToStablecoin(100000, \"usdc_pol\");\nconsole.log(\"You'll receive:\", quote.targetAmount, \"USDC\");\n\n// Execute swap\nconst swap = await lendaswap.swapBtcToStablecoin({\n  targetAddress: \"0x...\", // EVM address\n  targetToken: \"usdc_pol\",\n  targetChain: \"polygon\",\n  sourceAmount: 100000,\n});\nconsole.log(\"Swap ID:\", swap.swapId);\n\nConfiguration\n\nData Storage: ~/.arkade-wallet/config.json\n\nPrivate keys are auto-generated on first use and stored locally. They are never exposed via CLI arguments or stdout. No environment variables required. The LendaSwap API is publicly accessible.\n\nSkill Interfaces\nArkadeBitcoinSkill\ngetArkAddress() - Get Ark address for receiving offchain payments\ngetBoardingAddress() - Get boarding address for receiving onchain payments\ngetBalance() - Get balance breakdown\nsend(params) - Send Bitcoin to Ark address (offchain)\ngetTransactionHistory() - Get transaction history\nonboard(params) - Get paid onchain: convert onchain BTC to offchain\noffboard(params) - Pay onchain: send offchain BTC to any onchain address\nwaitForIncomingFunds(timeout?) - Wait for incoming funds\nArkaLightningSkill\ncreateInvoice(params) - Create Lightning invoice\npayInvoice(params) - Pay Lightning invoice\ngetFees() - Get swap fees\ngetLimits() - Get swap limits\ngetPendingSwaps() - Get pending swaps\ngetSwapHistory() - Get swap history\nisAvailable() - Check if Lightning is available\nLendaSwapSkill\ngetQuoteBtcToStablecoin(amount, token) - Quote BTC to stablecoin\ngetQuoteStablecoinToBtc(amount, token) - Quote stablecoin to BTC\nswapBtcToStablecoin(params) - Swap BTC to stablecoin\nswapStablecoinToBtc(params) - Swap stablecoin to BTC\ngetSwapStatus(swapId) - Get swap status\ngetPendingSwaps() - Get pending swaps\ngetSwapHistory() - Get swap history\ngetAvailablePairs() - Get available trading pairs\nclaimSwap(swapId) - Claim completed swap\nrefundSwap(swapId) - Refund expired swap\nNetworks\n\nArkade supports multiple networks:\n\nbitcoin - Bitcoin mainnet\ntestnet - Bitcoin testnet\nsignet - Bitcoin signet\nregtest - Local regtest\nmutinynet - Mutiny signet\nSupport\nGitHub: https://github.com/arkade-os/skill\nDocumentation: https://docs.arkadeos.com"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/tiero/arkade-wallet",
    "publisherUrl": "https://clawhub.ai/tiero/arkade-wallet",
    "owner": "tiero",
    "version": "1.0.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/arkade-wallet",
    "downloadUrl": "https://openagent3.xyz/downloads/arkade-wallet",
    "agentUrl": "https://openagent3.xyz/skills/arkade-wallet/agent",
    "manifestUrl": "https://openagent3.xyz/skills/arkade-wallet/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/arkade-wallet/agent.md"
  }
}