USE CASES

Five patterns. Five wallets. Zero accounts.

Each is a real workflow we've seen — or seriously prototyped — that doesn't fit the consumer-eSIM mold of "human, app, credit card".

🤖
01 / 05

AI travel agents

PAIN

A trip-planning agent (LangChain, AgentKit, etc.) books a flight + hotel — but the user lands abroad and the device they use to receive boarding passes has no data.

PATTERN

Add a `provision_travel_data` tool to the agent's toolbelt. The agent runs it as part of trip prep, pays from a budgeted wallet, attaches the QR to the trip artifact. User opens the trip card, scans the QR before boarding.

python (sketch)
# Excerpt from a trip-planning agent's tool definition
@tool
def provision_travel_data(country: str, days: int) -> dict:
    """Buy mobile data for the user's upcoming trip."""
    plan = pick_plan(country=country, min_days=days)

    r = httpx.post(X402_API + "/order", json={"plan_id": plan.id})
    # 402 — pay from agent's budget wallet
    pay(to=r.headers["x-payto"],
        amount=r.headers["x-amount"],
        chain=r.headers["x-chain"])

    esim = poll_until_delivered(r.json()["order_id"])
    return {
        "qr_image_url": esim["qr_image_url"],
        "activation_link": esim["activation_link"],
        "expires_in_days": days,
    }
NOTES
  • Agent budgets are typically $5-50/trip — well within the eSIM data price range
  • No need for human-in-the-loop approval (the budget IS the approval)
  • eSIM activates only on first connection in destination — agent can pre-buy weeks ahead
⚙️
02 / 05

Autonomous infra failover

PAIN

A monitoring / trading / surveillance bot deployed on a VPS in a remote region needs failover when its primary uplink degrades. Buying a SIM card via human procurement takes hours; the failover window is seconds.

PATTERN

Treasury wallet pre-loaded with $200 USDC. Health check detects primary link down → script buys local 3GB plan from x402 API → modem inserts eSIM → service back online in 30 seconds.

python (sketch)
# Production VPS failover script
import psutil, time, httpx
from your_modem_ctl import insert_esim, send_via_modem

def primary_link_healthy():
    return psutil.net_if_stats().get("eth0").isup

while True:
    if primary_link_healthy():
        time.sleep(30)
        continue

    # Primary down. Buy emergency local data.
    region = detect_region_from_gps_or_geoip()  # e.g. "VN"
    r = httpx.post("https://api.esimahora.com/api/v1/x402/order",
                   json={"plan_id": f"{region}_3GB_15D"})
    pay_from_treasury(r.headers["x-payto"],
                      r.headers["x-amount"],
                      r.headers["x-chain"])
    esim = poll(r.json()["order_id"])
    insert_esim(esim["qr_code_data"])
    send_via_modem("Failover online")  # back online — alert ops
NOTES
  • Sub-minute failover (5-10s blockchain confirm + 3-5s eSIM provision + 5s modem activate)
  • No on-call engineer needed — fully autonomous
  • eSIM activates instantly via Apple/Samsung/etc. native eSIM stack — no SIM card swap
🚛
03 / 05

IoT kiosks crossing borders

PAIN

A vending kiosk / trail camera / shipping container sensor moves between countries (rail, sea, road freight). Each border crossing needs new local data — no central ops console can predict the schedule.

PATTERN

Geofence trigger on the device. Crosses into new country → autonomous purchase from x402 API → onboard eSIM activation. Treasury wallet refilled remotely once a quarter.

python (sketch)
# Embedded kiosk firmware (Python on Raspberry Pi 5)
def on_geofence_enter(new_country):
    # Cross border into new country with no carrier coverage
    if not has_local_data():
        plan = f"{new_country}_3GB_15D"
        r = http_post(API + "/order", body={"plan_id": plan})
        wallet.send(r.headers["x-payto"],
                    r.headers["x-amount"],
                    chain=r.headers["x-chain"])
        esim = poll(r.json()["order_id"])
        modem.install_esim(esim["qr_code_data"])
        log("kiosk online in " + new_country)
NOTES
  • Works on Raspberry Pi-class hardware (httpx + ed25519 sign + modem control = <100MB)
  • No ops console roundtrip → real autonomy
  • Cost-attribute per device via separate wallets (one per device) for clean accounting
🔒
04 / 05

Privacy-first travel users

PAIN

User wants travel mobile data without leaving an account history with an eSIM provider. Every consumer eSIM app demands email + payment card; the trail of metadata follows them.

PATTERN

No account, no email, no card. Buy x402 order → pay with self-custodial USDC → receive QR. The only record is an on-chain transfer to a contract address. Tracking-resistant by design.

NOTES
  • Pseudonymous: server only sees the source address of the payment
  • No KYC for purchases below ~$1k/day (Travel Rule threshold)
  • Refund (if order fails) goes to the same address that paid
  • Tor-friendly: API is reachable over .onion mirror at request
🕸️
05 / 05

Multi-agent platforms

PAIN

A platform hosts dozens of user-deployed agents that each occasionally need connectivity (e.g. crawl a region-locked site from a real local IP, send SMS via local carrier, etc.). Provisioning per-agent is operationally expensive.

PATTERN

Platform exposes a meta-API. User-agent calls platform → platform proxies to x402 API → eSIM goes to user-agent's designated cloud-modem. Platform charges its own service fee on top.

NOTES
  • eSIM Ahora wholesale rate + your platform's margin = your agents' billing rate
  • Webhooks for delivery confirmation streamline platform UX
  • High-volume customers (>1k orders/mo): reach out for wholesale rates

Building something similar?

Open the docs and ship. If you're hitting volume that warrants a wholesale conversation, dev@esimx402.com.