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
| Partie | Ce 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. |
| Paiements | USDC 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. |
| HTTPS | Caddy sur les ports 80 et 443, certificats Let's Encrypt. |
Comment se passe une vente
- L'acheteur choisit un forfait. Le prix est votre coût de gros plus votre marge (
MARGIN_PCT, et jamais moins deMIN_MARGIN_USDau-dessus du coût). Il est garanti 20 minutes. - 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.
- 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.
- 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
- Un compte de gros chez eSIM Access approvisionné. La première recharge est d'au moins 50 $ (carte, PayPal ou Alipay). Le solde paie les eSIM que vous vendez, au prix de gros.
- Un serveur avec Docker et une adresse IPv4 publique, ports 80 et 443 ouverts. 1 vCPU et 1 Go de mémoire suffisent.
- Un domaine ou sous-domaine dont l'enregistrement A pointe vers ce serveur.
- Des adresses de portefeuille pour les réseaux que vous voulez accepter. Une adresse EVM sert pour les sept réseaux EVM. Le kit ne demande que des adresses : jamais une clé privée, jamais une phrase de récupération.
- Facultatif : une clé API Coinbase Developer Platform. Elle active l'USDC sans frais de gas sur Base pour les personnes et les paiements x402 des agents. Facultatif aussi : un compte Stripe pour les cartes.
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
- Guide de l'opérateur : d'un serveur vide à la première vente, puis l'exploitation quotidienne, les remboursements, les taxes et le dépannage.
- Guide pour les agents : pour les développeurs d'agents IA. Trouver une eSIM, l'acheter via x402, suivre sa consommation.
- secrets/README.md : quelle clé va dans quel fichier.
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
- Les acheteurs paient directement à vos adresses, et la vitrine ne fait que lire les réseaux. Pas de portefeuille chaud, aucune clé capable de dépenser.
- Le code d'activation va à l'acheteur et n'est jamais stocké. La vitrine le demande au grossiste chaque fois que la page de commande de l'acheteur le réclame. Le lien de l'acheteur porte un jeton, dont la vitrine ne garde que l'empreinte.
- Un paiement achète une eSIM. L'identifiant de la commande de gros est dérivé du paiement : une nouvelle tentative ne peut pas acheter deux fois.
- Avant de demander un paiement, la vitrine vérifie que votre solde de gros couvre la commande.
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.