{
  "schemaVersion": "1.0",
  "item": {
    "slug": "agentfin",
    "name": "AgentFin",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/elvismusli/agentfin",
    "canonicalUrl": "https://clawhub.ai/elvismusli/agentfin",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/agentfin",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=agentfin",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "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-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/agentfin"
    },
    "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/agentfin",
    "agentPageUrl": "https://openagent3.xyz/skills/agentfin/agent",
    "manifestUrl": "https://openagent3.xyz/skills/agentfin/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/agentfin/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": "AgentFin — Virtual Cards for Agents",
        "body": "You have access to the AgentFin API. Use it to check your balance, get virtual card credentials for online purchases, and fetch OTP codes for 3DS verification."
      },
      {
        "title": "Authentication",
        "body": "All requests require a Bearer token. Use the AGENTFIN_API_KEY environment variable.\n\nAuthorization: Bearer $AGENTFIN_API_KEY\n\nBase URL: https://agentfin.tech/api"
      },
      {
        "title": "Check Balance & Card Status",
        "body": "curl -H \"Authorization: Bearer $AGENTFIN_API_KEY\" \\\n  https://agentfin.tech/api/me\n\nResponse includes balance (USD string), card object with maskedPan and status, and depositAddress for USDT top-ups."
      },
      {
        "title": "Get Card Credentials (for online purchases)",
        "body": "curl -H \"Authorization: Bearer $AGENTFIN_API_KEY\" \\\n  https://agentfin.tech/api/cards/{cardId}/sensitive\n\nReturns pan, cvv, expiryMonth, expiryYear, cardHolderName, billingAddress. Rate limited to 10 requests/minute.\n\nImportant: Use the cardId from the /api/me response (card.cardId field)."
      },
      {
        "title": "Fetch Latest OTP Code (for 3DS verification)",
        "body": "curl -H \"Authorization: Bearer $AGENTFIN_API_KEY\" \\\n  https://agentfin.tech/api/inbox/latest-otp\n\nReturns the most recent email with extracted OTP codes. The extractedCodes field is an array of strings. Use the first element as the verification code.\n\nIf a purchase triggers 3DS, wait 10-30 seconds for the OTP email to arrive, then call this endpoint."
      },
      {
        "title": "Top Up Card Balance",
        "body": "curl -X POST -H \"Authorization: Bearer $AGENTFIN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"amount\": 50, \"currency\": \"USD\"}' \\\n  https://agentfin.tech/api/cards/{cardId}/topup\n\nMoves funds from your account balance to the card. The card is prepaid — you cannot spend more than the loaded amount."
      },
      {
        "title": "View Transaction History",
        "body": "curl -H \"Authorization: Bearer $AGENTFIN_API_KEY\" \\\n  https://agentfin.tech/api/me/transactions\n\nReturns all deposits, card charges, top-ups, and refunds."
      },
      {
        "title": "Typical Purchase Flow",
        "body": "Check balance with GET /api/me — ensure sufficient funds\nGet card credentials with GET /api/cards/{cardId}/sensitive\nUse PAN, CVV, expiry to fill in payment form on merchant site\nIf 3DS is triggered, wait ~15 seconds then GET /api/inbox/latest-otp\nSubmit the OTP code from extractedCodes[0]\nPurchase complete"
      },
      {
        "title": "Important Notes",
        "body": "The card is prepaid. You cannot spend more than the loaded balance.\nCard credentials are rate-limited (10/min). Cache them for the duration of a purchase session.\nOTP codes arrive via email to a dedicated inbox. There may be a 10-30 second delay.\nFund the account by sending USDT (TRC20) to the deposit address from GET /api/me."
      }
    ],
    "body": "AgentFin — Virtual Cards for Agents\n\nYou have access to the AgentFin API. Use it to check your balance, get virtual card credentials for online purchases, and fetch OTP codes for 3DS verification.\n\nAuthentication\n\nAll requests require a Bearer token. Use the AGENTFIN_API_KEY environment variable.\n\nAuthorization: Bearer $AGENTFIN_API_KEY\n\n\nBase URL: https://agentfin.tech/api\n\nEndpoints\nCheck Balance & Card Status\ncurl -H \"Authorization: Bearer $AGENTFIN_API_KEY\" \\\n  https://agentfin.tech/api/me\n\n\nResponse includes balance (USD string), card object with maskedPan and status, and depositAddress for USDT top-ups.\n\nGet Card Credentials (for online purchases)\ncurl -H \"Authorization: Bearer $AGENTFIN_API_KEY\" \\\n  https://agentfin.tech/api/cards/{cardId}/sensitive\n\n\nReturns pan, cvv, expiryMonth, expiryYear, cardHolderName, billingAddress. Rate limited to 10 requests/minute.\n\nImportant: Use the cardId from the /api/me response (card.cardId field).\n\nFetch Latest OTP Code (for 3DS verification)\ncurl -H \"Authorization: Bearer $AGENTFIN_API_KEY\" \\\n  https://agentfin.tech/api/inbox/latest-otp\n\n\nReturns the most recent email with extracted OTP codes. The extractedCodes field is an array of strings. Use the first element as the verification code.\n\nIf a purchase triggers 3DS, wait 10-30 seconds for the OTP email to arrive, then call this endpoint.\n\nTop Up Card Balance\ncurl -X POST -H \"Authorization: Bearer $AGENTFIN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"amount\": 50, \"currency\": \"USD\"}' \\\n  https://agentfin.tech/api/cards/{cardId}/topup\n\n\nMoves funds from your account balance to the card. The card is prepaid — you cannot spend more than the loaded amount.\n\nView Transaction History\ncurl -H \"Authorization: Bearer $AGENTFIN_API_KEY\" \\\n  https://agentfin.tech/api/me/transactions\n\n\nReturns all deposits, card charges, top-ups, and refunds.\n\nTypical Purchase Flow\nCheck balance with GET /api/me — ensure sufficient funds\nGet card credentials with GET /api/cards/{cardId}/sensitive\nUse PAN, CVV, expiry to fill in payment form on merchant site\nIf 3DS is triggered, wait ~15 seconds then GET /api/inbox/latest-otp\nSubmit the OTP code from extractedCodes[0]\nPurchase complete\nImportant Notes\nThe card is prepaid. You cannot spend more than the loaded balance.\nCard credentials are rate-limited (10/min). Cache them for the duration of a purchase session.\nOTP codes arrive via email to a dedicated inbox. There may be a 10-30 second delay.\nFund the account by sending USDT (TRC20) to the deposit address from GET /api/me."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/elvismusli/agentfin",
    "publisherUrl": "https://clawhub.ai/elvismusli/agentfin",
    "owner": "elvismusli",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/agentfin",
    "downloadUrl": "https://openagent3.xyz/downloads/agentfin",
    "agentUrl": "https://openagent3.xyz/skills/agentfin/agent",
    "manifestUrl": "https://openagent3.xyz/skills/agentfin/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/agentfin/agent.md"
  }
}