Mode démo : une boutique de référence pour les opérateurs eSIM. Prix réels, paiements désactivés. Lancer votre propre opérateur →
Travel eSIM · demo
Français

Kit d'opérateur eSIM

Sommaire

Vendez des eSIM data de voyage sous votre propre nom : aux personnes sur un site web et aux agents IA via x402. Il vous faut un compte de gros, un serveur et un domaine. Le kit est la boutique entière : une vitrine en cinq langues qui encaisse en crypto sur dix réseaux, un nœud vendeur auprès duquel achètent les agents IA, et le nœud de fédération qui rend vos offres visibles sur les hubs AIMarket. Le marchand, c'est vous, et les acheteurs paient directement sur vos portefeuilles.

Essayez d'abord : esim.modelmarket.dev fait tourner ce kit en mode démo, avec les vrais prix de gros, toutes les pages et toutes les étapes du paiement. Il n'encaisse rien.

Langue : English · Русский · Español · Français · 中文

Ce que vous obtenez

PartieCe qu'elle fait
Vitrine (store/)Une page par pays, ce que cherchent les voyageurs. Filtre de forfaits, paiement, le QR code de l'eSIM et son lien d'installation, puis sa consommation de données. En anglais, russe, espagnol, français et chinois.
PaiementsUSDC et USDT sur Base, Ethereum, Arbitrum, OP, Polygon, BNB Chain et Avalanche. USDT sur Tron, USDC sur Solana, USDT et TON sur TON. Cartes via Stripe si vous l'ajoutez. Chaque moyen s'active dès que vous lui donnez une adresse.
Nœud vendeur pour agents (rails/)esim.quote et esim.status sont gratuits et signés. esim.order se paie via x402 en USDC sur Base.
Nœud de fédération (node/)aimarket node publie vos capacités sur les hubs AIMarket, pour que les agents qui cherchent sur un hub trouvent vos offres.
HTTPSCaddy sur les ports 80 et 443, certificats Let's Encrypt.

Comment se passe une vente

  1. L'acheteur choisit un forfait. Le prix est votre coût de gros plus votre marge (MARGIN_PCT, et jamais moins de MIN_MARGIN_USD au-dessus du coût). Il est garanti 20 minutes.
  2. L'acheteur paie sur votre portefeuille. La vitrine lit le réseau et confirme elle-même le paiement. Aucun prestataire de paiement entre vous.
  3. La vitrine achète le profil sur votre solde eSIM Access au prix de gros. L'acheteur reçoit le QR code, le code d'activation et un lien d'installation. Sa page de commande reste active ensuite et affiche les données consommées et la date d'expiration.
  4. Vous gardez la différence. Rechargez le solde de gros au fil des ventes.

Un agent fait la même chose en HTTP : POST /agents/quote, puis POST /agents/order avec un paiement x402, et le code d'activation arrive dans la réponse. Le paiement n'est réglé qu'une fois le profil créé.

Ce qu'il vous faut

Démarrage rapide

git clone https://github.com/alexar76/esim-operator-kit.git && cd esim-operator-kit
cp .env.example .env            # domaine, nom de la boutique, marge, adresses de portefeuille
# placez les deux clés eSIM Access dans secrets/ (secrets/README.md liste les fichiers)
mkdir -p data/store data/rails data/node data/caddy
sudo chown 1000:1000 secrets/* && sudo chown -R 1000:1000 data/store data/rails data/node
docker compose up -d --build

Ouvrez https://<votre domaine>/. La boutique tourne en mode démo tant que vous ne mettez pas DEMO_MODE=0. Le guide de l'opérateur détaille chaque étape, la commande test et la mise en vente.

Documents

Organisation

docker-compose.yml   les quatre services
Caddyfile            HTTPS et routage : /agents/* vers rails, /.well-known/ai-market.json et /ai-market/* vers node, le reste vers store
.env.example         tous les réglages, commentés
secrets/             vos clés, une par fichier (hors git, montées en lecture seule)
data/                commandes, clés des jetons, identité du nœud, certificats (hors git ; à sauvegarder)
store/               la vitrine (Node.js, Express)
rails/               le nœud vendeur, et le client de gros qu'utilise aussi la vitrine
node/                l'image du nœud de fédération (aimarket-hub depuis PyPI)
docs/                ces guides en cinq langues

Argent et clés

Tests

cd rails && npm ci && npm test
cd ../store && npm ci && npm test

Les tests n'ont besoin ni de réseau ni de clés.

Le kit sur GitHub →