Retour au Blog
architecturepaiementscryptoweb3http-402
Le Futur de la Monétisation des API : Implémenter HTTP 402 pour les Micropaiements Multi-Chaînes
Découvrez comment ZelfProof utilise le standard HTTP 402 pour permettre des micropaiements améliorés et fluides sur Solana, Avalanche et Base.
Miguel Treviño•

Pendant des décennies, le code de statut HTTP
402 Payment Required a été réservé pour un usage futur. Alors que 404 Not Found et 500 Internal Server Error faisaient partie de notre vocabulaire quotidien de développeur, 402 restait dormant, en attente d'une couche native de transfert de valeur numérique.Avec l'essor de blockchains haute vitesse comme Solana, Avalanche et Base, ce futur est enfin arrivé.
Chez ZelfProof, nous avons implémenté une architecture HTTP 402 prête pour la production qui permet aux utilisateurs de payer l'utilisation d'API sur une base par requête en utilisant notre token ZNS. Ce système élimine la friction des abonnements mensuels pour les utilisateurs occasionnels et démontre la véritable puissance de la « monnaie programmable ».
Résumé :
- L'Innovation : ZelfProof implémente
HTTP 402 Payment Requiredpour un accès API fluide, par requête. - Multi-Chaîne : Les utilisateurs peuvent payer en tokens ZNS sur Solana, Avalanche et Base.
- Le Flux : Défi-réponse standard : le serveur envoie un 402 avec le coût -> le client paie on-chain -> le client réessaie avec le Hash de Tx.
- L'Impact : Permet de vrais micropaiements, remplaçant les abonnements mensuels coûteux par un modèle juste basé sur l'utilisation.
Vue d'Ensemble de l'Architecture
Notre système est conçu pour être agnostique de chaîne, permettant aux utilisateurs de payer sur leur réseau préféré tout en accédant aux mêmes services API unifiés.
Composants Principaux
- Middleware de Paiement : Valide les en-têtes et preuves de paiement avant d'autoriser l'accès aux endpoints protégés.
- Modules de Vérification Spécifiques par Chaîne : Des modules dédiés pour Solana, Avalanche et Base qui vérifient les transactions sur leurs registres respectifs.
- Token ZNS : Le token utilitaire utilisé pour tous les paiements.
Comment le Flux Fonctionne
La beauté de cette architecture réside dans sa simplicité. Elle suit un schéma standard de défi-réponse :
- Le Défi : Un utilisateur tente d'accéder à un endpoint protégé (ex.
/api/zelf-proof/encrypt). - La Réponse 402 : Le serveur vérifie les en-têtes de paiement. S'ils sont absents, il renvoie un statut
402 Payment Required. Cette réponse inclut un payload JSON avec des instructions précises :- Coût de la requête (ex. 0,1 ZNS)
- Chaînes acceptées
- Adresses de portefeuille du service
- Le Paiement : L'utilisateur (ou son application cliente) envoie les tokens ZNS requis sur la chaîne de son choix.
- La Réessai : Le client réessaie la requête originale, cette fois en attachant le hash de transaction dans l'en-tête
x-payment-tx. - L'Accès : Le middleware vérifie la transaction on-chain. Si elle est valide, la requête API est traitée.
sequenceDiagram
participant User
participant API
participant Blockchain
User->>API: POST /encrypt (Pas de Paiement)
API-->>User: 402 Payment Required (Coût: 0.1 ZNS)
User->>Blockchain: Envoyer 0.1 ZNS
Blockchain-->>User: Hash de Transaction
User->>API: POST /encrypt (x-payment-tx: Hash)
API->>Blockchain: Vérifier Transaction
Blockchain-->>API: Valide
API-->>User: 200 OK (Données Chiffrées)
Pourquoi Multi-Chaîne ?
Nous avons choisi de supporter Solana, Avalanche et Base pour maximiser l'accessibilité et minimiser les coûts.
- Solana : Pour une finalité en moins d'une seconde (~400ms) et des frais négligeables.
- Avalanche : Pour une expérience robuste compatible EVM avec des temps de confirmation rapides.
- Base : En tirant parti de la sécurité d'Ethereum avec la vitesse d'un L2.
Chaque chaîne a sa propre logique de vérification pour gérer les différences de temps de bloc et d'exigences de confirmation, garantissant que nous ne faisons jamais attendre l'utilisateur plus longtemps que nécessaire.
Expérience Développeur
L'intégration côté frontend est simple. Voici comment un client typique gère le défi 402 :
async function callPaidEndpoint(endpoint, data, chain, wallet) {
try {
// Tentative de requête
return await axios.post(endpoint, data);
} catch (error) {
if (error.response?.status === 402) {
// 1. Obtenir les détails de paiement
const { cost, serviceWallet } = error.response.data.paymentDetails;
// 2. Effectuer la transaction crypto
const txHash = await wallet.sendTokens(cost, serviceWallet);
// 3. Réessayer avec la preuve
return await axios.post(endpoint, data, {
headers: {
"x-payment-chain": chain,
"x-payment-tx": txHash,
},
});
}
throw error;
}
}
Sécurité et Protection contre le Rejeu
Autoriser les paiements via des hash de transaction introduit un risque : les Attaques par Rejeu. Un utilisateur malveillant pourrait essayer d'utiliser le même hash de transaction pour plusieurs appels API.
Pour empêcher cela, notre middleware implémente :
- Suivi des Transactions : Chaque hash de transaction utilisé est stocké dans une base de données.
- Cache Redis : Les paiements récents sont mis en cache pour des recherches instantanées.
- Vérification Atomique : L'opération de vérification et de marquage comme utilisé est atomique pour empêcher les conditions de concurrence.
Le Futur des Micropaiements
Cette architecture ouvre la voie à une nouvelle économie internet. Au lieu de bloquer le contenu derrière des abonnements à 20 $/mois, les services peuvent facturer des fractions de centime par article, par seconde de vidéo, ou par appel API.
En tirant parti de HTTP 402 et des blockchains haute performance, ZelfProof ne construit pas juste un produit ; nous construisons un modèle pour le futur de la monétisation web.
Construisez le Futur avec Zelf
Prêt à implémenter cela dans votre propre application ? Ou vous cherchez un portefeuille sécurisé avec biométrie qui gère ces micro-transactions de manière fluide ?
- Intégrez ZelfProof : Ajoutez la vérification d'identité préservant la vie privée à votre application en quelques lignes de code.
- Explorez Notre Stack : Consultez notre documentation open-source pour voir comment nous construisons une infrastructure crypto sécurisée et évolutive.
- Rejoignez le Réseau : Utilisez le Portefeuille Zelf pour interagir avec les services ZelfProof de manière propre et sécurisée.