{
  "schemaVersion": "1.0",
  "item": {
    "slug": "get-esim",
    "name": "Buy a travel eSIM - via x402 USDC Base Wallet",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/inthaiguy/get-esim",
    "canonicalUrl": "https://clawhub.ai/inthaiguy/get-esim",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/get-esim",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=get-esim",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "requirements.txt",
      "README.md",
      "SKILL.md",
      "esim_api.py"
    ],
    "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/get-esim"
    },
    "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/get-esim",
    "agentPageUrl": "https://openagent3.xyz/skills/get-esim/agent",
    "manifestUrl": "https://openagent3.xyz/skills/get-esim/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/get-esim/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": "Get eSIM Skill",
        "body": "Purchase eSIM data packages using USDC on Base Mainnet (or testnet for testing) via the x402 protocol."
      },
      {
        "title": "Description",
        "body": "This skill enables AI agents to purchase eSIM data packages for users. It uses the x402 payment protocol to pay with USDC on Base Mainnet (default) or Base Sepolia testnet (for testing), then delivers the eSIM installation page.\n\nDefault Network: Base Mainnet (production - real eSIMs)\nTest Network: Base Sepolia (testing - mock eSIMs)"
      },
      {
        "title": "Prerequisites",
        "body": "A wallet skill or USDC-capable wallet on Base (Mainnet or Sepolia)\nUSDC balance for purchases\nETH for gas (if using transfer scheme)\n\nSuggested wallets: Coinbase Agentic Wallet, any x402-compatible wallet, or any wallet that supports Base USDC transfers."
      },
      {
        "title": "Network Selection",
        "body": "By default, purchases happen on Base Mainnet (real eSIMs). For testing, explicitly specify the testnet network."
      },
      {
        "title": "When to Use Each Network",
        "body": "NetworkUse CaseeSIM TypeBase Mainnet (default)Production purchasesReal eSIMsBase SepoliaDevelopment/testingMock eSIMs"
      },
      {
        "title": "Specifying Network",
        "body": "The user can indicate their preference by:\n\nSaying \"testnet\", \"testing\", \"mock\", or \"demo\" → Use Sepolia testnet\nNot specifying, or saying \"mainnet\", \"production\", \"real\" → Use Base mainnet (default)"
      },
      {
        "title": "Invocation",
        "body": "Use this skill when a user:\n\nAsks for an eSIM or mobile data\nNeeds cellular data for travel\nWants to buy a data plan for a specific country\nMentions needing connectivity abroad\nRequests \"test\" or \"mock\" eSIM for development"
      },
      {
        "title": "Important: Transaction Timing",
        "body": "Crypto and eSIM transactions are NOT instant. Expect:\n\nUSDC transfer: 5-15 seconds for on-chain confirmation\nPurchase completion: Additional 3-30 seconds for API to verify the transaction on-chain\nTotal purchase flow: Can take 30-60 seconds from payment initiation to eSIM delivery\n\nInform the user that the purchase is processing and to wait for confirmation."
      },
      {
        "title": "Workflow",
        "body": "Determine network: Ask or detect if user wants mainnet (real) or testnet (testing)\nDiscover needs: Ask which country they need data for\nSearch packages: Query esimqr.link for available packages\nPresent options: Show available data plans with prices\nGet selection: User picks a package\nConfirm purchase: Show price, network (mainnet/testnet), and wallet balance, get confirmation\nExecute x402 flow:\n\nPOST to /api/agent/purchase (mainnet) or /api/agent-testnet/purchase (testnet) → receive 402 with payment details\nPay using your wallet\nRetry POST with payment proof header\n\n\nDeliver eSIM: Return the esimPageUrl - a user-friendly page with QR code and install buttons"
      },
      {
        "title": "Mainnet (Real eSIM)",
        "body": "User: I need an eSIM for my trip to USA\n\nAgent: I can help you get an eSIM! This will be a real eSIM on Base Mainnet.\n\n[Agent searches packages]\n\nI found these options for USA:\n- US_100MB_7: 100MB / 7 Days - $0.50\n- US_1_7: 1GB / 7 Days - $1.18\n- US_3_7: 3GB / 7 Days - $2.50\n- US_5_30: 5GB / 30 Days - $4.42\n\nWhich package would you like?\n\nUser: 1GB 7 days\n\nAgent: The US 1GB 7-Day plan costs $1.18 USDC on Base Mainnet.\n\nMy wallet balance: $30.00 USDC\n\nShall I purchase this eSIM now?\n\nUser: Yes\n\nAgent: Initiating purchase on Base Mainnet...\n\n✓ Payment sent: 1.18 USDC\n✓ Transaction: 0xabc123...\n\nYour eSIM is ready! Install it here:\nhttps://esimqr.link/web3/esim/agent_1707184523_abc123"
      },
      {
        "title": "Testnet (Mock eSIM for Testing)",
        "body": "User: Get me a test eSIM for USA\n\nAgent: I'll get you a test eSIM on Base Sepolia testnet (mock eSIM for testing).\n\n[Agent searches packages on testnet]\n\nI found test packages for USA:\n- US_1_7: 1GB / 7 Days - $1.18 (testnet)\n- US_5_30: 5GB / 30 Days - $4.42 (testnet)\n\nWhich would you like?\n\nUser: 1GB\n\nAgent: The US 1GB 7-Day test plan costs $1.18 testnet USDC.\n\nMy wallet balance: 10.00 testnet USDC\n\nShall I purchase this test eSIM?\n\nUser: Yes\n\nAgent: Initiating testnet purchase...\n\n✓ Test payment sent: 1.18 USDC\n✓ Transaction: 0xdef456...\n\nYour mock eSIM is ready! (For testing only):\nhttps://esimqr.link/web3/esim/mockagent_1707184523_abc123"
      },
      {
        "title": "API Endpoints",
        "body": "Base URL: https://esimqr.link"
      },
      {
        "title": "Mainnet Endpoints (Production)",
        "body": "EndpointMethodDescription/api/agent/quoteGETGet price quote/api/agent/purchasePOSTInitiate/complete purchase/api/agent/esim/{id}GETGet eSIM status"
      },
      {
        "title": "Testnet Endpoints (Testing)",
        "body": "EndpointMethodDescription/api/agent-testnet/quoteGETGet price quote/api/agent-testnet/purchasePOSTInitiate/complete purchase/api/agent-testnet/esim/{id}GETGet eSIM status"
      },
      {
        "title": "Shared Endpoints (Both Networks)",
        "body": "EndpointMethodDescription/api/web3/packages?q={country}GETSearch packages (works for both)"
      },
      {
        "title": "Rate Limiting",
        "body": "Limit: 10 requests per minute per IP\nResponse: HTTP 429 with Retry-After header\nHandle rate limits gracefully by respecting the Retry-After value"
      },
      {
        "title": "Base Mainnet (Default)",
        "body": "ParameterValueNetworkBase MainnetChain ID8453CAIP-2eip155:8453USDC Token0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913USDC Decimals6"
      },
      {
        "title": "Base Sepolia (Testnet)",
        "body": "ParameterValueNetworkBase Sepolia (testnet)Chain ID84532CAIP-2eip155:84532USDC Token0x036CbD53842c5426634e7929541eC2318f3dCF7eUSDC Decimals6\n\nNote: Payment wallet addresses are returned dynamically by the API in quote and 402 responses. Do not hardcode payment addresses."
      },
      {
        "title": "Payment Schemes (x402)",
        "body": "The 402 response offers two payment options in the accepts array. Choose based on your wallet capabilities:\n\nSchemeHeaderWallet RequirementsGasexactPAYMENT-SIGNATUREEIP-3009 signing (Circle, x402 SDK)GaslesstransferX-PAYMENTStandard USDC transferYou pay gas"
      },
      {
        "title": "Which Scheme to Use",
        "body": "Use exact if: Your wallet supports EIP-3009 transferWithAuthorization signing (Circle wallets, x402-compatible SDKs). Benefits: gasless - the facilitator broadcasts for you.\n\n\nUse transfer if: Your wallet can do standard USDC transfers but doesn't support EIP-3009. Works with any wallet that supports Base. You pay gas fees.\n\n\nNot sure?: The transfer scheme works with any USDC-capable wallet."
      },
      {
        "title": "Exact Scheme Flow (gasless):",
        "body": "POST /api/agent/purchase (mainnet) or /api/agent-testnet/purchase (testnet) → receive 402 with EIP-3009 parameters\nSign a transferWithAuthorization message (no on-chain tx needed)\nRetry POST with header: PAYMENT-SIGNATURE: <base64-encoded-payload>\nFacilitator broadcasts the transaction for you"
      },
      {
        "title": "Transfer Scheme Flow:",
        "body": "POST /api/agent/purchase (mainnet) or /api/agent-testnet/purchase (testnet) → receive 402 with payment details\nTransfer USDC on-chain to payTo address (on the correct network!)\nRetry POST with header: X-PAYMENT: txHash=0x...,nonce=..."
      },
      {
        "title": "Search Packages",
        "body": "GET /api/web3/packages?q=US\n\n{\n  \"packages\": [\n    {\"packageCode\": \"US_1_7\", \"name\": \"United States 1GB 7Days\", ...}\n  ]\n}"
      },
      {
        "title": "Quote (Mainnet)",
        "body": "GET /api/agent/quote?packageCode=US_1_7\n\n{\n  \"packageCode\": \"PHAJHEAYP\",\n  \"slug\": \"US_1_7\",\n  \"planName\": \"United States 1GB 7Days\",\n  \"usdcAmount\": \"1.18\",\n  \"paymentDetails\": {\n    \"recipient\": \"<payment-address-from-api>\",\n    \"chainId\": 8453,\n    \"network\": \"eip155:8453\"\n  }\n}"
      },
      {
        "title": "Quote (Testnet)",
        "body": "GET /api/agent-testnet/quote?packageCode=US_1_7\n\n{\n  \"packageCode\": \"PHAJHEAYP\",\n  \"slug\": \"US_1_7\",\n  \"planName\": \"United States 1GB 7Days\",\n  \"usdcAmount\": \"1.18\",\n  \"paymentDetails\": {\n    \"recipient\": \"<payment-address-from-api>\",\n    \"chainId\": 84532,\n    \"network\": \"eip155:84532\"\n  },\n  \"isTestnet\": true\n}"
      },
      {
        "title": "402 Payment Required",
        "body": "POST /api/agent/purchase\nBody: {\"packageCode\": \"US_1_7\"}\n\n{\n  \"x402Version\": 2,\n  \"accepts\": [\n    {\"scheme\": \"exact\", ...},\n    {\"scheme\": \"transfer\", \"amount\": \"1180000\", \"payTo\": \"<payment-address-from-api>\", \"extra\": {\"nonce\": \"abc123\"}}\n  ]\n}\n\nImportant: Always use the payTo address from the 402 response. Never hardcode payment addresses."
      },
      {
        "title": "Purchase Success",
        "body": "POST /api/agent/purchase\nHeaders: X-PAYMENT: txHash=0x...,nonce=abc123\nBody: {\"packageCode\": \"US_1_7\"}\n\n{\n  \"success\": true,\n  \"esimId\": \"agent_1707184523_abc123\",\n  \"esimPageUrl\": \"https://esimqr.link/web3/esim/agent_1707184523_abc123\",\n  \"esimDetails\": {\n    \"iccid\": \"8901234...\",\n    \"activationCode\": \"LPA:1$...\"\n  }\n}"
      },
      {
        "title": "Status Values",
        "body": "pending - Order created, awaiting provisioning\nprocessing - eSIM being provisioned\nready - eSIM ready for installation\nactivated - eSIM installed on device\nfailed - Order failed (contact support)\ncancelled - Mock eSIM auto-cancelled (testnet only)"
      },
      {
        "title": "Documentation",
        "body": "Mainnet: https://esimqr.link/api/agent/docs\nTestnet: https://esimqr.link/api/agent-testnet/docs\nLanding: https://esimqr.link/agents"
      },
      {
        "title": "Files",
        "body": "esim_api.py - API client for esimqr.link (supports both mainnet and testnet)"
      },
      {
        "title": "Dependencies",
        "body": "requests>=2.28.0"
      },
      {
        "title": "Hackathon Submission",
        "body": "Track: Agentic Commerce\nProtocol: x402 (HTTP 402 Payment Required)\nNetworks: Base Mainnet (production), Base Sepolia (testing)\nPayment: USDC\n\nSubmitted to: https://www.moltbook.com/m/usdc"
      }
    ],
    "body": "Get eSIM Skill\n\nPurchase eSIM data packages using USDC on Base Mainnet (or testnet for testing) via the x402 protocol.\n\nDescription\n\nThis skill enables AI agents to purchase eSIM data packages for users. It uses the x402 payment protocol to pay with USDC on Base Mainnet (default) or Base Sepolia testnet (for testing), then delivers the eSIM installation page.\n\nDefault Network: Base Mainnet (production - real eSIMs) Test Network: Base Sepolia (testing - mock eSIMs)\n\nPrerequisites\nA wallet skill or USDC-capable wallet on Base (Mainnet or Sepolia)\nUSDC balance for purchases\nETH for gas (if using transfer scheme)\n\nSuggested wallets: Coinbase Agentic Wallet, any x402-compatible wallet, or any wallet that supports Base USDC transfers.\n\nNetwork Selection\n\nBy default, purchases happen on Base Mainnet (real eSIMs). For testing, explicitly specify the testnet network.\n\nWhen to Use Each Network\nNetwork\tUse Case\teSIM Type\nBase Mainnet (default)\tProduction purchases\tReal eSIMs\nBase Sepolia\tDevelopment/testing\tMock eSIMs\nSpecifying Network\n\nThe user can indicate their preference by:\n\nSaying \"testnet\", \"testing\", \"mock\", or \"demo\" → Use Sepolia testnet\nNot specifying, or saying \"mainnet\", \"production\", \"real\" → Use Base mainnet (default)\nInvocation\n\nUse this skill when a user:\n\nAsks for an eSIM or mobile data\nNeeds cellular data for travel\nWants to buy a data plan for a specific country\nMentions needing connectivity abroad\nRequests \"test\" or \"mock\" eSIM for development\nImportant: Transaction Timing\n\nCrypto and eSIM transactions are NOT instant. Expect:\n\nUSDC transfer: 5-15 seconds for on-chain confirmation\nPurchase completion: Additional 3-30 seconds for API to verify the transaction on-chain\nTotal purchase flow: Can take 30-60 seconds from payment initiation to eSIM delivery\n\nInform the user that the purchase is processing and to wait for confirmation.\n\nWorkflow\nDetermine network: Ask or detect if user wants mainnet (real) or testnet (testing)\nDiscover needs: Ask which country they need data for\nSearch packages: Query esimqr.link for available packages\nPresent options: Show available data plans with prices\nGet selection: User picks a package\nConfirm purchase: Show price, network (mainnet/testnet), and wallet balance, get confirmation\nExecute x402 flow:\nPOST to /api/agent/purchase (mainnet) or /api/agent-testnet/purchase (testnet) → receive 402 with payment details\nPay using your wallet\nRetry POST with payment proof header\nDeliver eSIM: Return the esimPageUrl - a user-friendly page with QR code and install buttons\nExample Conversation\nMainnet (Real eSIM)\nUser: I need an eSIM for my trip to USA\n\nAgent: I can help you get an eSIM! This will be a real eSIM on Base Mainnet.\n\n[Agent searches packages]\n\nI found these options for USA:\n- US_100MB_7: 100MB / 7 Days - $0.50\n- US_1_7: 1GB / 7 Days - $1.18\n- US_3_7: 3GB / 7 Days - $2.50\n- US_5_30: 5GB / 30 Days - $4.42\n\nWhich package would you like?\n\nUser: 1GB 7 days\n\nAgent: The US 1GB 7-Day plan costs $1.18 USDC on Base Mainnet.\n\nMy wallet balance: $30.00 USDC\n\nShall I purchase this eSIM now?\n\nUser: Yes\n\nAgent: Initiating purchase on Base Mainnet...\n\n✓ Payment sent: 1.18 USDC\n✓ Transaction: 0xabc123...\n\nYour eSIM is ready! Install it here:\nhttps://esimqr.link/web3/esim/agent_1707184523_abc123\n\nTestnet (Mock eSIM for Testing)\nUser: Get me a test eSIM for USA\n\nAgent: I'll get you a test eSIM on Base Sepolia testnet (mock eSIM for testing).\n\n[Agent searches packages on testnet]\n\nI found test packages for USA:\n- US_1_7: 1GB / 7 Days - $1.18 (testnet)\n- US_5_30: 5GB / 30 Days - $4.42 (testnet)\n\nWhich would you like?\n\nUser: 1GB\n\nAgent: The US 1GB 7-Day test plan costs $1.18 testnet USDC.\n\nMy wallet balance: 10.00 testnet USDC\n\nShall I purchase this test eSIM?\n\nUser: Yes\n\nAgent: Initiating testnet purchase...\n\n✓ Test payment sent: 1.18 USDC\n✓ Transaction: 0xdef456...\n\nYour mock eSIM is ready! (For testing only):\nhttps://esimqr.link/web3/esim/mockagent_1707184523_abc123\n\nAPI Endpoints\n\nBase URL: https://esimqr.link\n\nMainnet Endpoints (Production)\nEndpoint\tMethod\tDescription\n/api/agent/quote\tGET\tGet price quote\n/api/agent/purchase\tPOST\tInitiate/complete purchase\n/api/agent/esim/{id}\tGET\tGet eSIM status\nTestnet Endpoints (Testing)\nEndpoint\tMethod\tDescription\n/api/agent-testnet/quote\tGET\tGet price quote\n/api/agent-testnet/purchase\tPOST\tInitiate/complete purchase\n/api/agent-testnet/esim/{id}\tGET\tGet eSIM status\nShared Endpoints (Both Networks)\nEndpoint\tMethod\tDescription\n/api/web3/packages?q={country}\tGET\tSearch packages (works for both)\nRate Limiting\nLimit: 10 requests per minute per IP\nResponse: HTTP 429 with Retry-After header\nHandle rate limits gracefully by respecting the Retry-After value\nNetwork Configuration\nBase Mainnet (Default)\nParameter\tValue\nNetwork\tBase Mainnet\nChain ID\t8453\nCAIP-2\teip155:8453\nUSDC Token\t0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913\nUSDC Decimals\t6\nBase Sepolia (Testnet)\nParameter\tValue\nNetwork\tBase Sepolia (testnet)\nChain ID\t84532\nCAIP-2\teip155:84532\nUSDC Token\t0x036CbD53842c5426634e7929541eC2318f3dCF7e\nUSDC Decimals\t6\n\nNote: Payment wallet addresses are returned dynamically by the API in quote and 402 responses. Do not hardcode payment addresses.\n\nPayment Schemes (x402)\n\nThe 402 response offers two payment options in the accepts array. Choose based on your wallet capabilities:\n\nScheme\tHeader\tWallet Requirements\tGas\nexact\tPAYMENT-SIGNATURE\tEIP-3009 signing (Circle, x402 SDK)\tGasless\ntransfer\tX-PAYMENT\tStandard USDC transfer\tYou pay gas\nWhich Scheme to Use\n\nUse exact if: Your wallet supports EIP-3009 transferWithAuthorization signing (Circle wallets, x402-compatible SDKs). Benefits: gasless - the facilitator broadcasts for you.\n\nUse transfer if: Your wallet can do standard USDC transfers but doesn't support EIP-3009. Works with any wallet that supports Base. You pay gas fees.\n\nNot sure?: The transfer scheme works with any USDC-capable wallet.\n\nExact Scheme Flow (gasless):\nPOST /api/agent/purchase (mainnet) or /api/agent-testnet/purchase (testnet) → receive 402 with EIP-3009 parameters\nSign a transferWithAuthorization message (no on-chain tx needed)\nRetry POST with header: PAYMENT-SIGNATURE: <base64-encoded-payload>\nFacilitator broadcasts the transaction for you\nTransfer Scheme Flow:\nPOST /api/agent/purchase (mainnet) or /api/agent-testnet/purchase (testnet) → receive 402 with payment details\nTransfer USDC on-chain to payTo address (on the correct network!)\nRetry POST with header: X-PAYMENT: txHash=0x...,nonce=...\nAPI Response Examples\nSearch Packages\nGET /api/web3/packages?q=US\n\n{\n  \"packages\": [\n    {\"packageCode\": \"US_1_7\", \"name\": \"United States 1GB 7Days\", ...}\n  ]\n}\n\nQuote (Mainnet)\nGET /api/agent/quote?packageCode=US_1_7\n\n{\n  \"packageCode\": \"PHAJHEAYP\",\n  \"slug\": \"US_1_7\",\n  \"planName\": \"United States 1GB 7Days\",\n  \"usdcAmount\": \"1.18\",\n  \"paymentDetails\": {\n    \"recipient\": \"<payment-address-from-api>\",\n    \"chainId\": 8453,\n    \"network\": \"eip155:8453\"\n  }\n}\n\nQuote (Testnet)\nGET /api/agent-testnet/quote?packageCode=US_1_7\n\n{\n  \"packageCode\": \"PHAJHEAYP\",\n  \"slug\": \"US_1_7\",\n  \"planName\": \"United States 1GB 7Days\",\n  \"usdcAmount\": \"1.18\",\n  \"paymentDetails\": {\n    \"recipient\": \"<payment-address-from-api>\",\n    \"chainId\": 84532,\n    \"network\": \"eip155:84532\"\n  },\n  \"isTestnet\": true\n}\n\n402 Payment Required\nPOST /api/agent/purchase\nBody: {\"packageCode\": \"US_1_7\"}\n\n{\n  \"x402Version\": 2,\n  \"accepts\": [\n    {\"scheme\": \"exact\", ...},\n    {\"scheme\": \"transfer\", \"amount\": \"1180000\", \"payTo\": \"<payment-address-from-api>\", \"extra\": {\"nonce\": \"abc123\"}}\n  ]\n}\n\n\nImportant: Always use the payTo address from the 402 response. Never hardcode payment addresses.\n\nPurchase Success\nPOST /api/agent/purchase\nHeaders: X-PAYMENT: txHash=0x...,nonce=abc123\nBody: {\"packageCode\": \"US_1_7\"}\n\n{\n  \"success\": true,\n  \"esimId\": \"agent_1707184523_abc123\",\n  \"esimPageUrl\": \"https://esimqr.link/web3/esim/agent_1707184523_abc123\",\n  \"esimDetails\": {\n    \"iccid\": \"8901234...\",\n    \"activationCode\": \"LPA:1$...\"\n  }\n}\n\nStatus Values\npending - Order created, awaiting provisioning\nprocessing - eSIM being provisioned\nready - eSIM ready for installation\nactivated - eSIM installed on device\nfailed - Order failed (contact support)\ncancelled - Mock eSIM auto-cancelled (testnet only)\nDocumentation\nMainnet: https://esimqr.link/api/agent/docs\nTestnet: https://esimqr.link/api/agent-testnet/docs\nLanding: https://esimqr.link/agents\nFiles\nesim_api.py - API client for esimqr.link (supports both mainnet and testnet)\nDependencies\nrequests>=2.28.0\n\nHackathon Submission\nTrack: Agentic Commerce\nProtocol: x402 (HTTP 402 Payment Required)\nNetworks: Base Mainnet (production), Base Sepolia (testing)\nPayment: USDC\n\nSubmitted to: https://www.moltbook.com/m/usdc"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/inthaiguy/get-esim",
    "publisherUrl": "https://clawhub.ai/inthaiguy/get-esim",
    "owner": "inthaiguy",
    "version": "1.0.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/get-esim",
    "downloadUrl": "https://openagent3.xyz/downloads/get-esim",
    "agentUrl": "https://openagent3.xyz/skills/get-esim/agent",
    "manifestUrl": "https://openagent3.xyz/skills/get-esim/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/get-esim/agent.md"
  }
}