Deux flux de micropaiement : paiement par requête et solde prépayé
Que votre agent paie par appel ou pré-finance un solde, la passerelle gère automatiquement la facturation, la vérification on-chain et le proxy.
Paiement par requête
Le client accède à un endpoint protégé et reçoit un 402 avec une facture. Il paie on-chain puis réessaie avec un en-tête X-Payment-Proof. La passerelle vérifie et redirige.
Solde prépayé
Le client dépose des NTMPI une fois via /prepaid/deposit. Les requêtes suivantes incluent un en-tête X-Client-Id et la passerelle déduit par appel — pas de transactions on-chain répétées.
Conçu pour les agents IA et le commerce machine-à-machine
Tout ce dont une couche de micropaiements a besoin, rien de plus.
Vérification on-chain
Interroge Neutaro REST API pour confirmer montant, mémo et confirmations de bloc.
Tarification par route
Prix par défaut avec surcharge par route via GATEWAY_ROUTES. Lectures bon marché, écritures coûteuses.
API de gestion
Endpoints protégés par JWT pour portefeuilles internes, transactions et registre blockchain léger.
Proxy inverse
Transfère les requêtes authentifiées vers votre API upstream. Tout backend, tout langage.
Stockage SQLite
Factures, soldes et journaux dans un seul fichier local. Zéro dépendance externe.
Prêt pour Docker
Déploiement avec docker compose up. Script Ubuntu inclus.
Référence des endpoints de la passerelle
Endpoints gratuits pour health checks, consultations de factures et soldes. Tout le reste passe par le gate 402.
Gratuit — sans paiement
| Méthode | Chemin | Description |
|---|---|---|
| GET | /health | Health check avec config passerelle |
| GET | /invoices/:id | Vérifier le statut de facture (déclenche vérification on-chain) |
| POST | /prepaid/deposit | Enregistrer un dépôt (vérifie tx on-chain) |
| GET | /prepaid/balance/:clientId | Vérifier le solde prépayé |
Gestion — protégé par JWT
| Méthode | Chemin | Description |
|---|---|---|
| POST | /manage/auth/register | Créer un compte administrateur |
| POST | /manage/auth/login | Se connecter, obtenir token JWT |
| POST | /manage/wallet | Créer un portefeuille interne |
| GET | /manage/wallet | Lister vos portefeuilles |
| GET | /manage/wallet/:id | Obtenir portefeuille par ID |
| POST | /manage/transactions | Créer une transaction interne |
| GET | /manage/transactions/:id | Obtenir transaction par ID |
Gate 402 — catch-all
| Méthode | Chemin | Description |
|---|---|---|
| ANY | /* | Toutes les autres requêtes nécessitent paiement ou solde prépayé |
Intégration agents : exemples Python et TypeScript
Intégrez le flux 402 en quelques lignes. La passerelle gère facturation et vérification — votre code paie et réessaie.
import requests, subprocess, os res = requests.get("http://gateway:4020/api/data") if res.status_code == 402: inv = res.json()["payment"] # Pay with ClawPurse subprocess.run([ "clawpurse", "send", inv["address"], inv["amount"], "--memo", inv["memo"], "--yes" ]) # Retry with proof res = requests.get( "http://gateway:4020/api/data", headers={"X-Payment-Proof": inv["invoiceId"]} ) data = res.json()
async function paidFetch(url: string) { let res = await fetch(url); if (res.status === 402) { const { payment } = await res.json(); // Pay with ClawPurse const { send, loadKeystore } = await import("clawpurse"); const { wallet, address } = await loadKeystore( process.env.CLAWPURSE_PASSWORD! ); await send( wallet, address, payment.address, payment.amount, { memo: payment.memo } ); // Retry with proof res = await fetch(url, { headers: { "X-Payment-Proof": payment.invoiceId } }); } return res.json(); }
Installez et lancez la passerelle en moins d'une minute
# Clone and install git clone https://github.com/mhue-ai/clawpurse-gateway.git cd clawpurse-gateway && npm install # Configure cp .env.example .env # Set GATEWAY_PAYMENT_ADDRESS and JWT_SECRET # Start a test upstream npm run test:upstream # Start the gateway npm run dev # Test the 402 flow curl http://localhost:4020/api/test # Pay, then retry with proof: curl -H "X-Payment-Proof: <invoiceId>" \ http://localhost:4020/api/test
Architecture microservices TypeScript
Codebase TypeScript ciblé — logique passerelle, quatre services internes et middleware. 46 tests unitaires couvrent chaque couche.
Configuration de la passerelle via variables d'environnement
Tous les paramètres via env vars ou fichier .env.
| Variable | Défaut | Description |
|---|---|---|
| PORT | 4020 | Port d'écoute de la passerelle |
| GATEWAY_UPSTREAM | http://localhost:3000 | API upstream à proxifier |
| GATEWAY_PAYMENT_ADDRESS | — | Adresse portefeuille Neutaro (requis) |
| GATEWAY_DEFAULT_PRICE | 0.001 | Prix par défaut par requête en NTMPI |
| GATEWAY_ROUTES | — | Surcharges prix par route |
| GATEWAY_REST | https://api2.neutaro.io | Endpoint API REST Neutaro |
| GATEWAY_MIN_CONFIRMATIONS | 1 | Confirmations de bloc requises |
| GATEWAY_INVOICE_TTL | 300 | Validité facture en secondes |
| GATEWAY_PREPAID | false | Activer système solde prépayé |
| GATEWAY_DB | ./gateway.db | Chemin base de données SQLite |
| JWT_SECRET | — | Secret JWT API de gestion (requis) |
Partie de l'écosystème Timpi, Neutaro et ClawPurse
Portefeuille ClawPurse
Portefeuille NTMPI local avec keystores chiffrés, garde-fous, staking et listes de destinations. Client de référence pour la passerelle.
Blockchain Neutaro
La chaîne Cosmos SDK alimentant NTMPI. Tous les paiements vérifiés directement contre Neutaro — sans oracles, sans ponts.
Réseau Timpi
Recherche décentralisée avec confidentialité, API de données ouverte et nœuds DePIN. Monétisez tout service Timpi via micropaiements.
Faucet Timpi Drip
Faucet NTMPI avec proof-of-work au lieu de CAPTCHA. Agents OpenClaw obtiennent un débit plus élevé.
Ledger Timpi
Free NTMPI cost basis calculator and tax tool. Auto-fetches transfers, staking rewards, and node payouts from the Neutaro chain — calculates USD cost basis with FIFO/LIFO/HIFO and generates IRS Form 8949.
x402 Payment Protocol
Coinbase's open HTTP 402 standard routes every payment through a centralized facilitator that controls settlement. ClawPurse Gateway takes the opposite approach: peer-to-peer payments verified directly on Neutaro — no middleman, no EVM lock-in, no Coinbase SDK. Add prepaid balances for zero-latency repeat access, route-level pricing in one env var, and a full audit trail in SQLite. One Docker command to deploy; zero external dependencies to operate.
Questions fréquentes
Qu'est-ce que ClawPurse Gateway ?
Un proxy inverse HTTP open source implémentant 402 Payment Required pour protéger toute API avec micropaiements NTMPI sur Neutaro.
Comment fonctionne le flux de paiement HTTP 402 ?
Le client reçoit une réponse 402 avec facture, paie on-chain, réessaie avec en-tête X-Payment-Proof. La passerelle vérifie et redirige.
Qu'est-ce que NTMPI et comment l'obtenir ?
NTMPI est le token natif de Neutaro, partie du réseau Timpi . Obtenez des NTMPI gratuits du Faucet Timpi Drip, achetez sur MEXC via NTMPI/USDT, ou pontez via Gravity Bridge vers Osmosis avec Keplr ou Leap.
Les agents IA peuvent-ils utiliser le gateway de manière autonome ?
Oui. Conçu pour l'IA agentique. Les agents parsent la facture 402, paient on-chain via l' API du portefeuille ClawPurse, et réessaient — sans intervention humaine.
Offrez un café Timpi à Mhue ☕
Si la passerelle vous fait gagner du temps, envoyez un pourboire.
neutaro1e8xal8tqdegu4w48z3fphemd3hc07gech3pfek
Mémo optionnel — dites-nous ce que vous avez lancé !