{
  "schemaVersion": "1.0",
  "item": {
    "slug": "sponge-wallet",
    "name": "Sponge Wallet",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/rishabluthra/sponge-wallet",
    "canonicalUrl": "https://clawhub.ai/rishabluthra/sponge-wallet",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/sponge-wallet",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=sponge-wallet",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "REFERENCE.md",
      "README.md",
      "SKILL.md",
      "scripts/wallet.mjs"
    ],
    "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-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-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/sponge-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/sponge-wallet",
    "agentPageUrl": "https://openagent3.xyz/skills/sponge-wallet/agent",
    "manifestUrl": "https://openagent3.xyz/skills/sponge-wallet/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/sponge-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": "Sponge Wallet Skill",
        "body": "Multi-chain crypto wallet with transfers, swaps, and paid API access."
      },
      {
        "title": "Authentication",
        "body": "IMPORTANT: If any tool returns \"Not authenticated\" or \"Invalid API key\", run the login flow.\n\nLogin is two-phase (because Claude Code runs commands non-interactively):\n\nPhase 1 — Start the device flow (returns a URL and code as JSON):\n\nnode <skill-path>/scripts/wallet.mjs login\n\nShow the verification_url and user_code to the user. Tell them to open the URL in their browser and enter the code.\n\nPhase 2 — After the user confirms they have approved, poll for the token:\n\nnode <skill-path>/scripts/wallet.mjs login --poll <device_code> <interval> <expires_in>\n\nUse the device_code, interval, and expires_in values from Phase 1 output.\n\nCredentials are saved to ~/.spongewallet/credentials.json automatically.\n\nCredential resolution order:\n\nSPONGE_API_KEY environment variable (if set, skips stored credentials)\n~/.spongewallet/credentials.json (saved by login)\n\nOther auth commands:\n\nnode wallet.mjs whoami — show current auth status\nnode wallet.mjs logout — remove stored credentials"
      },
      {
        "title": "How to Execute",
        "body": "node <skill-path>/scripts/wallet.mjs <tool_name> '<json_args>'\n\nOutput is JSON with status: \"success\" or status: \"error\"."
      },
      {
        "title": "Wallet & Balance",
        "body": "ToolDescriptionRequiredOptionalget_balanceCheck balances across chains—chainget_solana_tokensDiscover all SPL tokens in walletchain—search_solana_tokensSearch Jupiter token databasequerylimit"
      },
      {
        "title": "Transfers",
        "body": "ToolDescriptionRequiredOptionalevm_transferTransfer ETH/USDC on Ethereum/Basechain, to, amount, currency—solana_transferTransfer SOL/USDC on Solanachain, to, amount, currency—"
      },
      {
        "title": "Swaps",
        "body": "ToolDescriptionRequiredOptionalsolana_swapSwap tokens via Jupiterchain, input_token, output_token, amountslippage_bps"
      },
      {
        "title": "Transactions",
        "body": "ToolDescriptionRequiredOptionalget_transaction_statusCheck tx statustransaction_hash, chain—get_transaction_historyView past transactions—limit, chain"
      },
      {
        "title": "Funding & Withdrawals",
        "body": "ToolDescriptionRequiredOptionalrequest_fundingRequest funds from owneramount, chain, currency—withdraw_to_main_walletReturn funds to ownerchain, amountcurrency"
      },
      {
        "title": "Paid APIs (Sponge x402)",
        "body": "ToolDescriptionRequiredOptionalspongeUnified paid API interfacetaskSee REFERENCE.mdcreate_x402_paymentCreate x402 payment payloadchain, to, amounttoken, decimals"
      },
      {
        "title": "Chain Reference",
        "body": "Test keys (sponge_test_*): sepolia, base-sepolia, solana-devnet, tempo\nLive keys (sponge_live_*): ethereum, base, solana"
      },
      {
        "title": "Check Balance → Transfer → Verify",
        "body": "node wallet.mjs get_balance '{\"chain\":\"base\"}'\nnode wallet.mjs evm_transfer '{\"chain\":\"base\",\"to\":\"0x...\",\"amount\":\"10\",\"currency\":\"USDC\"}'\nnode wallet.mjs get_transaction_status '{\"transaction_hash\":\"0x...\",\"chain\":\"base\"}'"
      },
      {
        "title": "Swap Tokens on Solana",
        "body": "node wallet.mjs search_solana_tokens '{\"query\":\"BONK\"}'\nnode wallet.mjs solana_swap '{\"chain\":\"solana\",\"input_token\":\"SOL\",\"output_token\":\"BONK\",\"amount\":\"0.5\"}'"
      },
      {
        "title": "Sponge Paid APIs",
        "body": "node wallet.mjs sponge '{\"task\":\"search\",\"query\":\"AI research papers\"}'\nnode wallet.mjs sponge '{\"task\":\"image\",\"prompt\":\"sunset over mountains\"}'\nnode wallet.mjs sponge '{\"task\":\"predict\",\"semantic_search\":\"will-trump-win-2028\"}'\nnode wallet.mjs sponge '{\"task\":\"crawl\",\"url\":\"https://example.com\"}'\nnode wallet.mjs sponge '{\"task\":\"parse\",\"document_url\":\"https://example.com/doc.pdf\"}'\nnode wallet.mjs sponge '{\"task\":\"prospect\",\"apollo_query\":\"Stripe\",\"apollo_endpoint\":\"companies\"}'"
      },
      {
        "title": "Error Handling",
        "body": "ErrorResolutionNot authenticatedRun node wallet.mjs loginInvalid API keyRun node wallet.mjs login to re-authenticateChain 'X' is not allowedUse correct key type (test vs live) for the chainInsufficient balanceUse request_fundingAddress not in allowlistAdd recipient in the dashboard\n\nSee REFERENCE.md for detailed parameter docs."
      }
    ],
    "body": "Sponge Wallet Skill\n\nMulti-chain crypto wallet with transfers, swaps, and paid API access.\n\nAuthentication\n\nIMPORTANT: If any tool returns \"Not authenticated\" or \"Invalid API key\", run the login flow.\n\nLogin is two-phase (because Claude Code runs commands non-interactively):\n\nPhase 1 — Start the device flow (returns a URL and code as JSON):\n\nnode <skill-path>/scripts/wallet.mjs login\n\n\nShow the verification_url and user_code to the user. Tell them to open the URL in their browser and enter the code.\n\nPhase 2 — After the user confirms they have approved, poll for the token:\n\nnode <skill-path>/scripts/wallet.mjs login --poll <device_code> <interval> <expires_in>\n\n\nUse the device_code, interval, and expires_in values from Phase 1 output.\n\nCredentials are saved to ~/.spongewallet/credentials.json automatically.\n\nCredential resolution order:\n\nSPONGE_API_KEY environment variable (if set, skips stored credentials)\n~/.spongewallet/credentials.json (saved by login)\n\nOther auth commands:\n\nnode wallet.mjs whoami — show current auth status\nnode wallet.mjs logout — remove stored credentials\nHow to Execute\nnode <skill-path>/scripts/wallet.mjs <tool_name> '<json_args>'\n\n\nOutput is JSON with status: \"success\" or status: \"error\".\n\nAvailable Tools\nWallet & Balance\nTool\tDescription\tRequired\tOptional\nget_balance\tCheck balances across chains\t—\tchain\nget_solana_tokens\tDiscover all SPL tokens in wallet\tchain\t—\nsearch_solana_tokens\tSearch Jupiter token database\tquery\tlimit\nTransfers\nTool\tDescription\tRequired\tOptional\nevm_transfer\tTransfer ETH/USDC on Ethereum/Base\tchain, to, amount, currency\t—\nsolana_transfer\tTransfer SOL/USDC on Solana\tchain, to, amount, currency\t—\nSwaps\nTool\tDescription\tRequired\tOptional\nsolana_swap\tSwap tokens via Jupiter\tchain, input_token, output_token, amount\tslippage_bps\nTransactions\nTool\tDescription\tRequired\tOptional\nget_transaction_status\tCheck tx status\ttransaction_hash, chain\t—\nget_transaction_history\tView past transactions\t—\tlimit, chain\nFunding & Withdrawals\nTool\tDescription\tRequired\tOptional\nrequest_funding\tRequest funds from owner\tamount, chain, currency\t—\nwithdraw_to_main_wallet\tReturn funds to owner\tchain, amount\tcurrency\nPaid APIs (Sponge x402)\nTool\tDescription\tRequired\tOptional\nsponge\tUnified paid API interface\ttask\tSee REFERENCE.md\ncreate_x402_payment\tCreate x402 payment payload\tchain, to, amount\ttoken, decimals\nChain Reference\n\nTest keys (sponge_test_*): sepolia, base-sepolia, solana-devnet, tempo Live keys (sponge_live_*): ethereum, base, solana\n\nCommon Workflows\nCheck Balance → Transfer → Verify\nnode wallet.mjs get_balance '{\"chain\":\"base\"}'\nnode wallet.mjs evm_transfer '{\"chain\":\"base\",\"to\":\"0x...\",\"amount\":\"10\",\"currency\":\"USDC\"}'\nnode wallet.mjs get_transaction_status '{\"transaction_hash\":\"0x...\",\"chain\":\"base\"}'\n\nSwap Tokens on Solana\nnode wallet.mjs search_solana_tokens '{\"query\":\"BONK\"}'\nnode wallet.mjs solana_swap '{\"chain\":\"solana\",\"input_token\":\"SOL\",\"output_token\":\"BONK\",\"amount\":\"0.5\"}'\n\nSponge Paid APIs\nnode wallet.mjs sponge '{\"task\":\"search\",\"query\":\"AI research papers\"}'\nnode wallet.mjs sponge '{\"task\":\"image\",\"prompt\":\"sunset over mountains\"}'\nnode wallet.mjs sponge '{\"task\":\"predict\",\"semantic_search\":\"will-trump-win-2028\"}'\nnode wallet.mjs sponge '{\"task\":\"crawl\",\"url\":\"https://example.com\"}'\nnode wallet.mjs sponge '{\"task\":\"parse\",\"document_url\":\"https://example.com/doc.pdf\"}'\nnode wallet.mjs sponge '{\"task\":\"prospect\",\"apollo_query\":\"Stripe\",\"apollo_endpoint\":\"companies\"}'\n\nError Handling\nError\tResolution\nNot authenticated\tRun node wallet.mjs login\nInvalid API key\tRun node wallet.mjs login to re-authenticate\nChain 'X' is not allowed\tUse correct key type (test vs live) for the chain\nInsufficient balance\tUse request_funding\nAddress not in allowlist\tAdd recipient in the dashboard\n\nSee REFERENCE.md for detailed parameter docs."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/rishabluthra/sponge-wallet",
    "publisherUrl": "https://clawhub.ai/rishabluthra/sponge-wallet",
    "owner": "rishabluthra",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/sponge-wallet",
    "downloadUrl": "https://openagent3.xyz/downloads/sponge-wallet",
    "agentUrl": "https://openagent3.xyz/skills/sponge-wallet/agent",
    "manifestUrl": "https://openagent3.xyz/skills/sponge-wallet/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/sponge-wallet/agent.md"
  }
}