Open source · MIT · AIMarket rails

Sell eSIMs to AI agents.

Put your eSIM business on the AIMarket rails: agents find your offers through the federation and pay over x402, straight to your wallet. Keep your platform and your supplier — or start from scratch with the shop included.

1 728plans live
205countries
10networks
5languages
Drag to spin · hover a country · click to open its plans. Countries and prices are the live catalogue; the arcs are an illustration of sales, coloured by network.
Already an operator

Plug your systems in. Don't rebuild them.

Operators, MVNOs, resellers and travel platforms keep their platform, their supplier and their checkout. Four ways in; every one ends with your offers in front of agents.

A

Your supplier account

eSIM Access, Airalo or eSIM Go: set SUPPLIER, add your keys, docker compose up. The whole kit runs on your account.

B

Your own system

Five signed HTTP endpoints in any language — catalog, orders, profiles, cancel, balance. The kit does agents, payments and federation.

C

The SDK

@aimarket/esim-rails inside your Node.js service: createNode() with signing, x402 and idempotent orders.

D

Your own agent API

Implement esim.*@v1 in your stack, check it with esim-rails check, then announce it to a hub.

Ready integrations

Onboarding in seven steps

  1. Read what agents will call (agent guide).
  2. Choose a path: A, B, C or D.
  3. Run the kit in demo mode with your supplier.
  4. Point the webhooks at your CRM; make one test order.
  5. Run esim-rails check until every line is ✓.
  6. Start the federation node and knock on a hub.
  7. Switch demo mode off: you sell to agents.

Onboarding guide, with diagrams → · Integrations →

Who buys

Two kinds of buyers. One wholesale balance.

The storefront and the seller node buy from the same eSIM Access account. You set one margin; both sell at it.

🧳

Travellers

A page per country, prices in dollars, checkout from any wallet or exchange, the QR code a minute later. Five languages, phone first.

🤖

AI agents

esim.quote and esim.status are free and signed; esim.order is one x402 payment in USDC on Base. Hubs of the AIMarket federation list your node, so agents find you.

🛰️

You, the operator

Your wholesale account, your margin, your wallets. No processor in between and no hub fee on direct sales: buyers pay you, the kit only reads the chain.

The sale

From a quote to an installed eSIM in under a minute

The live test order on 2026-10-14 was allocated in 2.5 seconds; the same payment sent twice found the same eSIM.

01

Quote

The buyer picks a plan. Price = wholesale + your margin, held for 20 minutes.

02

Pay

USDT, USDC or TON to your address. The store reads the network itself: token, amount, confirmations.

03

Deliver

The profile is bought from your wholesale balance and shown as a QR code, an activation code and an install link.

04

Settle

An agent's payment settles only after its eSIM exists; an uncertain settlement requires reconciliation. One payment buys one eSIM.

Payments

Ten networks, the tokens travellers already hold

Each network turns on when you give it an address — addresses only, never a key. Cards through Stripe if you want them.

Live

Ask the rails, right now

This form calls esim.quote on the demo seller node — the same request an AI agent makes. The answer is signed by the node.


        

Buying is the next call: POST the offer_id to the order URL with an x402 payment. The demo node answers it with demo_mode and sells nothing.

The rails

What connecting to the rails gives an operator

Found by agents

Your node announces itself to an AIMarket hub. After an admission check, agents searching the federation for an eSIM see your offers.

Paid directly

x402 moves USDC from the agent's wallet to yours. The hub routes the search, never the money.

Answers you can check

Every quote is signed with your node's Ed25519 key and bound to the request. Hubs verify it; agents can too.

One shape for every seller

Offers read the same at every seller, so agents compare price and coverage, not integrations.

People
🧳 Travellerany wallet
Your store/
eSIM Accesswholesale
Agents
🤖 AgentMCP · x402
Your node/agents
eSIM Accesswholesale
Discovery
AIMarket hubmodelmarket.dev
Federation node/.well-known
🤖 Agentsmarket_search
Money
🧳 🤖buyers
Your walletsTron · TON · Solana · EVM
eSIM Accessyour top-ups

Rails & use cases →

Run it

From an empty server to a store, in one compose file

A domain, Docker and your eSIM Access keys. Caddy gets the certificate; the store runs in demo mode until you switch it on.

Read the operator guide
# 1. the kit
git clone https://github.com/alexar76/esim-operator-kit.git
cd esim-operator-kit && cp .env.example .env
# 2. your domain, margin and wallet addresses
nano .env
# 3. the two eSIM Access keys, typed in, never echoed
read -rs v && printf %s "$v" > secrets/esimaccess_access_code
read -rs v && printf %s "$v" > secrets/esimaccess_secret_key
# 4. storefront + seller node + HTTPS
docker compose up -d --build
# 5. listed on AIMarket hubs
docker compose --profile federation up -d node
Docs

Guides in five languages