Buy game passes, gift cards & eSIMs with an AI: what works today
Cartapi is an MCP server at https://mcp.cartapi.io/mcp. Point Claude, ChatGPT, Cursor, or any MCP-compatible agent at it and the agent can buy game passes, gift cards, travel eSIMs, and mobile top-ups on your behalf. The agent never touches your card — every purchase completes through a Stripe checkout link that you click. Four of five geek-favorite use cases are live in 2026; travel insurance is next.
You've been posting screenshots of your Neovim config for a decade. Your fridge is on Home Assistant. You have opinions about zsh vs fish. Fine. Everyone knows.
Here's a new flex: stop clicking through checkout pages like it's 2019. Point an AI at cartapi and let it buy the thing.
cartapi is an MCP server. Any agent that speaks MCP — Claude Desktop, Claude Code, Cursor, your own homegrown SDK loop — can source products, generate a Stripe checkout link, and hand it back to you to click. The agent never touches your card. You approve every charge. That's the whole shape.
Endpoint: https://mcp.cartapi.io/mcp (Streamable HTTP). Add it to your client, tell it what you want, click the link.
Below: four flexes, honestly labeled. What actually works today, what's a lie.
1. "Buy a game pass" live
Your ranked climb is not going well. Also, Game Pass expired three days ago and you've been playing indie roguelikes out of spite. Or your friend just got a Steam Deck for their birthday and you owe them a housewarming.
Prompt:
Get me a $25 Xbox Game Pass code for the US, email it to me at [email protected].
The agent calls search_gift_cards with country=US, brand=Xbox, min_amount_usd=20. It picks the $25 SKU, calls get_checkout_link, hands you a URL. You pay. Reloadly issues the code. cartapi emails it to [email protected]. You paste it into microsoft.com/redeem and you're back in queue.
Same flow for PSN top-ups (brand=PlayStation), Steam Wallet (brand=Steam), Nintendo eShop, and Riot cards. Under the hood these are all gift-card SKUs in the same reloadly_giftcards adapter — no separate integration per brand.
Coverage today (via Reloadly): hundreds of brands, dozens of countries. Xbox, PlayStation, Steam, Nintendo, Riot, iTunes, Amazon, Uber, DoorDash, Sephora, and a long tail. list_gift_card_brands returns the live list; list_gift_card_countries for the country matrix.
Not covered: direct game-key marketplaces (Kinguin, G2A). Those are a separate game_key category, seeded in the DB but not wired — the trust and refund policy on grey-market keys is messier and we're not rushing it.
2. "Buy a gift card for my girlfriend" live
Look. You forgot the anniversary. Again. This is a foreseeable failure mode and it now takes one prompt to fix.
Get her a $50 Sephora gift card, deliver the code to her email at [email protected].
Same MCP tool as game passes — search_gift_cards with country=US, brand=Sephora, then get_checkout_link. Pay via Stripe. The redemption code lands in her inbox from Reloadly.
The full brand set is whatever's live on Reloadly's gift-card catalog on the day you ask — Amazon, Uber, DoorDash, Airbnb, Apple, Google Play, Nike, Sephora, Target, Nordstrom, hundreds more. Ask the agent "what brands do you have in the US?" and it'll call list_gift_card_brands and read them out.
An apology is still owed.
3. "Buy a travel eSIM and insurance" half live
The eSIM half — live
You're getting on a plane. You do not want to pay $12/MB to your home carrier. This is the original cartapi use case and the part that's most polished.
Prompt:
I'm in Tokyo for 8 days. Get me an eSIM with at least 10GB.
The agent calls search_esim_plans with country=JP, min_data_gb=10, min_days=8. It gets back plans from three providers in parallel — Airalo, eSIM Go, Nomad — with prices normalized to the same shape. It picks one (or shows you the top three, if you told it to be careful), calls get_checkout_link, hands you a URL.
You pay. The QR code / activation code is delivered by the provider. You scan it at the gate. Done.
Why three providers? Because coverage and price vary wildly by country. Airalo has the deepest catalog. eSIM Go is often cheaper in Europe. Nomad wins in a bunch of edge cases. The whole point of cartapi's adapter registry is that the agent doesn't have to care — it just gets the best option.
The insurance half — coming soon
No adapter yet. Travel insurance is more work than eSIM because the product isn't a SKU with a price — it's a quote against your trip dates, destination, age, activities, and coverage tier. The natural partner shape is a quote API (World Nomads, SafetyWing, Faye) exposed as a get_insurance_quote MCP tool that returns options, then a checkout link once you pick.
Roadmap, not roadkill. If you're a provider reading this, talk to us.
4. "Top up mom's phone" live
You are, statistically, in a different country than your mother. Her prepaid balance is running out. You are also, statistically, too busy tweaking your Neovim config to log into a carrier portal you've never seen before that's in a language you half-speak.
Prompt:
Top up +86 188xxxxxxxx with about ¥50 of airtime.
The agent calls create_topup_checkout. That single tool:
- Auto-detects the carrier from the phone number (Reloadly's operator lookup — critical in China because number portability means "188" doesn't reliably tell you China Mobile vs Unicom vs Telecom).
- Picks a matching denomination near the amount you asked for.
- Creates a Stripe checkout session.
- Hands you back a URL.
You click. You pay. Reloadly delivers. Mom's phone works. She calls to ask why you never visit.
Coverage today (via Reloadly): China, India, most of Africa, most of LATAM, chunks of SEA. Roughly 140+ countries. list_topup_countries returns the live list.
Not covered: US carriers, most EU postpaid. Reloadly's catalog is thin there because those markets are postpaid-dominant. If you try to top up a T-Mobile US number this will politely tell you no.
What you can wire up right now
Add the MCP server to your client of choice. For Claude Desktop or Claude Code:
claude mcp add --transport http cartapi https://mcp.cartapi.io/mcp
Then in a chat:
using cartapi, get me a $25 Xbox gift card for the US, email it to [email protected]
Or:
using cartapi, find me the cheapest 20GB eSIM for Thailand for 2 weeks
Or:
using cartapi, top up +86 188xxxxxxxx with about ¥50
The agent picks the tool, calls it, gives you a checkout URL. You pay. That's the whole loop.
REST is at https://api.cartapi.io/v1 if you'd rather script it directly. /products/search, /checkout, /orders/:id.
The honest scoreboard
| Flex | Status | Notes |
|---|---|---|
| Buy a game pass | live | Xbox, PlayStation, Steam, Nintendo, Riot — via Reloadly gift cards. |
| Buy a gift card | live | Hundreds of brands, dozens of countries. Redemption code by email. |
| Buy travel eSIM | live | Airalo + eSIM Go + Nomad. 200+ destinations. |
| Top up mom's phone | live | 140+ countries via Reloadly. Not US/most EU. |
| Buy travel insurance | coming soon | Needs a quote-API partner. |
Everything runs through a consent-first flow: the agent never has your card. Every purchase requires you to click a Stripe checkout link. If someone builds an agent that tries to charge you without that step, it's not cartapi — throw it out.
Go buy your gaming buddy a Game Pass code. Then get back to your Neovim config.
Frequently asked questions
Can an AI actually buy things for me today?
Yes — for digital goods that fulfill instantly. As of 2026, cartapi's MCP endpoint lets any MCP-compatible agent (Claude Desktop, Cursor, custom SDK loops) buy game passes, gift cards, travel eSIMs, and mobile top-ups on your behalf. The agent generates a Stripe checkout link; you approve payment yourself. The agent never sees your card. Physical goods, subscriptions, and shipped items are not supported yet.
How does cartapi keep agent purchases safe?
Every purchase requires an explicit user click on a Stripe checkout page. Cartapi does not store, forward, or replay payment credentials. The agent's job ends at generating the checkout URL. If an agent tries to complete a payment without you clicking through Stripe, it isn't using cartapi.
What is the cartapi MCP endpoint and how do I connect?
Endpoint: https://mcp.cartapi.io/mcp, Streamable HTTP transport. Add to Claude Desktop or Claude Code with claude mcp add --transport http cartapi https://mcp.cartapi.io/mcp. Tools exposed include search_gift_cards, search_esim_plans, create_topup_checkout, list_gift_card_brands, and get_checkout_link.
Which gift-card brands can an AI buy through cartapi?
Hundreds via Reloadly's catalog: Xbox Game Pass, PlayStation Store, Steam Wallet, Nintendo eShop, Riot, Amazon, Uber, DoorDash, Apple, Google Play, Sephora, Nike, Target, and a long tail. Coverage varies by country. Ask the agent to call list_gift_card_brands for the live list in your country.
Which countries are supported for mobile phone top-ups?
Roughly 140+ countries via Reloadly, strongest in China, India, most of Africa, most of Latin America, and much of Southeast Asia. US carriers and most European postpaid lines are not supported — those markets are postpaid-dominant. Number portability is handled automatically: cartapi looks up the actual serving carrier from the phone number before topping up.
Which travel eSIM providers does cartapi source from?
Three providers searched in parallel with normalized prices: Airalo (deepest global catalog), eSIM Go (often cheapest in Europe), and Nomad (edge cases). Coverage spans 200+ destinations. The agent picks the best match for your country, data volume, and validity — you don't need to know which provider it came from.
Can I buy travel insurance through cartapi?
Not yet. Travel insurance is on the roadmap but needs a quote-API partner (World Nomads, SafetyWing, Faye shape) because insurance isn't a fixed SKU — it's priced per-quote against trip dates, destination, age, and coverage tier.