Protocole de paiement x402
Utilisez les commandes npx awal@2.8.2 x402 pour découvrir, inspecter et appeler des endpoints API payants en utilisant le protocole de paiement X402. Les paiements sont effectués en USDC sur Base.
Workflow
Le workflow x402 typique est :
- Trouver un service - Parcourez le bazaar ou obtenez les détails d'un endpoint connu
- Vérifier les exigences - Inspectez le prix, la méthode et le schéma d'entrée
- Effectuer la requête - Appelez l'endpoint avec paiement USDC automatique
Commandes
Parcourir le Bazaar
Trouvez des services payants par mot-clé en utilisant la recherche vectorielle de CDP :
npx awal@2.8.2 x402 bazaar search <query> [-k <n>] [--network <network>] [--scheme <scheme>] [--max-price <price>] [--json]
| Option | Description |
|---|---|
-k, --top <n> |
Nombre de résultats, 1–20 (par défaut : 20) |
--network <name> |
Filtrer par chaîne (base, base-sepolia, polygon, solana, solana-devnet) |
--scheme <scheme> |
Filtrer par schéma de paiement : exact ou upto |
--max-price <price> |
Prix maximum en USD (ex. 0.01) |
--asset <address> |
Filtrer par adresse d'asset de paiement |
--pay-to <address> |
Filtrer par adresse du portefeuille destinataire |
--extensions <type> |
Filtrer par type d'extension (ex. outputSchema, bazaar) |
--json |
Sortie en JSON |
Lister les ressources du Bazaar
Parcourez toutes les ressources disponibles :
npx awal@2.8.2 x402 bazaar list [--network <network>] [--full] [--refresh] [--json]
| Option | Description |
|---|---|
--network <name> |
Filtrer par chaîne (base, base-sepolia, polygon, solana, solana-devnet) |
--full |
Afficher les détails complets incluant les schémas |
--refresh |
Récupérer à nouveau l'index des ressources depuis l'API CDP |
--json |
Sortie en JSON |
Découvrir les exigences de paiement
Inspectez les exigences de paiement x402 d'un endpoint sans payer :
npx awal@2.8.2 x402 details <url> [--json]
Détecte automatiquement la bonne méthode HTTP (GET, POST, PUT, DELETE, PATCH) en essayant chacune jusqu'à obtenir une réponse 402, puis affiche le prix, les schémas de paiement acceptés, le réseau et les schémas d'entrée/sortie.
Effectuer une requête payante
Appelez un endpoint x402 avec paiement USDC automatique :
npx awal@2.8.2 x402 pay <url> [-X <method>] [-d <json>] [-q <params>] [-h <json>] [--max-amount <n>] [--json]
| Option | Description |
|---|---|
-X, --method <method> |
Méthode HTTP (par défaut : GET) |
-d, --data <json> |
Corps de la requête en chaîne JSON |
-q, --query <params> |
Paramètres de requête en chaîne JSON |
-h, --headers <json> |
En-têtes HTTP personnalisés en chaîne JSON |
--max-amount <amount> |
Paiement max en unités atomiques USDC (1000000 = $1,00) |
--correlation-id <id> |
Regrouper les opérations associées |
--json |
Sortie en JSON |
Exemples
# Rechercher des APIs payantes liées à la météo
npx awal@2.8.2 x402 bazaar search "weather"
# Rechercher avec plus de résultats
npx awal@2.8.2 x402 bazaar search "sentiment analysis" -k 10
# Vérifier le coût d'un endpoint
npx awal@2.8.2 x402 details https://example.com/api/weather
# Effectuer une requête GET (paie automatiquement)
npx awal@2.8.2 x402 pay https://example.com/api/weather
# Effectuer une requête POST avec corps
npx awal@2.8.2 x402 pay https://example.com/api/sentiment -X POST -d '{"text": "I love this product"}'
# Limiter le paiement max à $0,10
npx awal@2.8.2 x402 pay https://example.com/api/data --max-amount 100000
# Parcourir toutes les ressources du bazaar avec les détails complets
npx awal@2.8.2 x402 bazaar list --full
Montants USDC
X402 utilise des unités atomiques USDC (6 décimales) :
| Unités atomiques | USD |
|---|---|
| 1000000 | $1,00 |
| 100000 | $0,10 |
| 50000 | $0,05 |
| 10000 | $0,01 |
Prérequis
- Recherche/Détails : Aucune authentification requise
- Paiement : Doit être authentifié (
npx awal@2.8.2 auth login <email>) avec un solde USDC suffisant (npx awal@2.8.2 balance)
Gestion des erreurs
- "Not authenticated" - Exécutez
npx awal@2.8.2 auth login <email>d'abord - "No X402 payment requirements found" - L'URL peut ne pas être un endpoint x402
- "CDP API returned 429" - Limitée en débit ; les données mises en cache seront utilisées si disponibles
- "Insufficient balance" - Financez le portefeuille en USDC (
npx awal@2.8.2 balancepour vérifier)