# x402card Freeland Travel eSIM Purchase

> x402card Freeland Travel eSIM Purchase is a paid API for AI agents from api.x402card.org, paid per call via x402, $0.47/call, status unknown (last checked 2026-09-13).

Purchases a prepaid Freeland travel eSIM via USDC on Base (x402), returning a private delivery token and order URL to retrieve the QR code and activation data

## Facts

- Endpoint: POST https://api.x402card.org/api/esim/purchase
- Price: $0.47/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402card-freeland-travel-esim-purchase-d9704c16
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_mIHCcX2Otkb_jPYCflw5P

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability x402card-freeland-travel-esim-purchase-d9704c16 -d '<json body>'
```

Example prompt: Buy me a Freeland prepaid travel eSIM using USDC on Base — pick the cheapest available plan and make sure you keep the delivery token private so I can retrieve the QR code to install it on my phone.

## When to prefer this

Choose this endpoint when you need to programmatically purchase a travel eSIM using USDC on Base (x402) without requiring an API key or provider account registration. It is ideal for privacy-conscious use cases, crypto-native agent workflows, or when you want the cheapest available Freeland plan provisioned on demand. Prefer this over traditional eSIM APIs when the user wants to pay in stablecoin, avoids KYC-heavy provider onboarding, or needs fully automated eSIM purchasing in an agentic pipeline.

## Known failure modes

- Invalid or expired planId returns an error indicating no matching plan
- Duplicate idempotencyKey with different parameters may be rejected or return a conflict error
- Insufficient USDC balance on Base causes payment failure and no order is created
- Ambiguous or failed payment response should be retried with the same idempotencyKey, never a new one
- Freeland fulfillment delay may leave order in paid_unfulfilled state requiring polling
- Network timeout may leave payment state unknown — use idempotencyKey to safely retry

## How this service works

Buy a prepaid Freeland travel eSIM and privately receive its installation QR and activation data. Pay native USDC on Base through x402; no API key or provider account is required.

## Output

Returns a JSON object with ok:true, seller name (Freeland), an order status (e.g. paid_unfulfilled), and a delivery object containing a private order delivery token, the header name to use when polling, and instructions for privately retrieving the eSIM QR code and activation credentials via the returned order URL.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "planId": {
   "type": "string",
   "description": "Live plan id from GET /api/esim/plans. Omit to buy the cheapest currently available plan."
  },
  "idempotencyKey": {
   "type": "string",
   "maxLength": 200,
   "minLength": 1,
   "description": "Stable caller-generated key. Reuse it after an ambiguous response; never generate a replacement to retry payment."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "seller": "Freeland",
  "status": "paid_unfulfilled",
  "product": "esim",
  "delivery": {
   "next": "Preserve the token privately, poll the returned order URL, then retrieve owner-only credentials.",
   "token": "<private-order-delivery-token>",
   "header": "X-Esim-Delivery-Token"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402card-freeland-travel-esim-purchase-d9704c16/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.x402card.org](https://www.zero.xyz/host/api.x402card.org/llms.txt)
