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.
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.
eSIM Access, Airalo or eSIM Go: set SUPPLIER, add your keys, docker compose up. The whole kit runs on your account.
Five signed HTTP endpoints in any language — catalog, orders, profiles, cancel, balance. The kit does agents, payments and federation.
@aimarket/esim-rails inside your Node.js service: createNode() with signing, x402 and idempotent orders.
Implement esim.*@v1 in your stack, check it with esim-rails check, then announce it to a hub.
The storefront and the seller node buy from the same eSIM Access account. You set one margin; both sell at it.
A page per country, prices in dollars, checkout from any wallet or exchange, the QR code a minute later. Five languages, phone first.
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.
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 live test order on 2026-10-14 was allocated in 2.5 seconds; the same payment sent twice found the same eSIM.
The buyer picks a plan. Price = wholesale + your margin, held for 20 minutes.
USDT, USDC or TON to your address. The store reads the network itself: token, amount, confirmations.
The profile is bought from your wholesale balance and shown as a QR code, an activation code and an install link.
An agent's payment settles only after its eSIM exists; an uncertain settlement requires reconciliation. One payment buys one eSIM.
Each network turns on when you give it an address — addresses only, never a key. Cards through Stripe if you want them.
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.
Your node announces itself to an AIMarket hub. After an admission check, agents searching the federation for an eSIM see your offers.
x402 moves USDC from the agent's wallet to yours. The hub routes the search, never the money.
Every quote is signed with your node's Ed25519 key and bound to the request. Hubs verify it; agents can too.
Offers read the same at every seller, so agents compare price and coverage, not integrations.
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
The reference storefront, as it runs at esim-shop.modelmarket.dev. Addresses and codes in the payment screens are placeholders.