Freeland x402 eSIM
Discover and buy travel eSIMs with Base USDC
elvismusli
@elvismusli
Install
$ openclaw skills install @elvismusli/freeland-x402-esimFreeland x402 eSIM
Use the live service contract at https://api.x402card.org/api/esim/discovery. Use the remote MCP at https://api.x402card.org/mcp only for read-only discovery; never give it wallet authority.
Discover and select
- Read
https://api.x402card.org/api/esim/ready. Stop if it is not green. - List plans with the MCP tool
x402card.list_esim_plansorGET /api/esim/plans. Filter by destination, allowance, duration, and the user's price cap. - Treat the live plan and its returned price as authoritative. Do not use cached plan ids, counts, or prices.
- State the selected plan, destination coverage, allowance, duration, and exact USDC amount before payment.
Buy directly
- Generate one stable idempotency key for the purchase attempt.
- Send
POST https://api.x402card.org/api/esim/purchasewith{ "planId": "<live-plan-id>", "idempotencyKey": "<stable-key>" }and no payment header. - Require HTTP
402and decodePAYMENT-REQUIRED. Verify all of the following:- x402 version
2and schemeexact; - network
eip155:8453; - native Base USDC asset
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913; - resource
https://api.x402card.org/api/esim/purchase; - amount equals the selected live plan price;
- service name is
Freeland eSIM.
- x402 version
- Sign the exact challenge with the user-owned payer wallet. Never request or expose a seed phrase or private key.
- Repeat the same POST once with the same body and
PAYMENT-SIGNATURE. The payer becomes the eSIM owner. - Preserve the returned
orderIdanddelivery.tokenin private local state. Never print, log, publish, or send the token to another user. - If the paid response is lost, repeat the same purchase body with the same idempotency key. The service facilitator-verifies the fresh payer authorization and replays the settled order without settling a second transfer. Require
replayed: true; never change the key to recover.
Continue and retrieve
- Poll
GET /api/esim/orders/:orderIdwithX-Esim-Delivery-Token: <delivery.token>from the paid response. This is the primary path for payment-only x402 wallets. - Wallet authentication through
POST /api/auth/challengeandPOST /api/auth/verifyremains an optional fallback for signers that support EIP-191 or EIP-712. - Continue polling while fulfillment is pending. Never create a replacement order to recover an unclear payment.
- After status
fulfilled, callGET /api/esim/orders/:orderId/credentialswith the same delivery header. - Deliver QR, LPA activation data, ICCID, and installation links only to the capability holder or authenticated owner through a private, non-cacheable channel. Never place them in public artifacts, shared logs, analytics, or another user's context.
Failure policy
- Reuse the original idempotency key, delivery token, and order id for reads and recovery.
- Treat timeouts as unknown state, not proof that payment failed.
- Do not replay payment, compensate, refund, reorder, or retry provider fulfillment without a new explicit owner decision.
- Stop on a changed plan price or payment requirement and show the new quote before requesting a new authorization.
- Keep supplier identity, wholesale cost, provider credentials, and installation secrets private.
Top skills in this category
Shop
@shopifyUltimate personal shopping assistant: find, compare, buy, gift, and reorder products across the Shop catalog containing millions of stores. Tracks orders and...
ClawQuest: Agent Mine - OpenClaw Managed Mining
@zhzai30The managed automated mining server interface supports OpenClaw session mode and incremental event retrieval, enabling mining startup, status query, settlement, and stamina management.
Fulcra Morning Briefing
@arc-claw-botCompose a personalized morning briefing using the latest fulcra-context skill for sleep, biometrics, calendar, activity, and weather context. Adapts tone and...
Personal Finance Tracker
@aka-anoopManage personal finances, track spending by category, set budgets, and receive reminders for EMIs and one-time annual expenses. Use for logging expenses, checking budget status, or setting up financial reminders.
Instagram Skill via cyberdrk/gram CLI
@areinInstagram CLI for viewing feeds, posts, profiles, and engagement via cookies.