Salta al contenuto principale
PERSONA 2 VARIANTE - FORNITORI DI API

Vendi la tua API agli agenti AI.

Gli agenti AI non possono compilare un modulo di carta di credito. Possono pagarti in USDC. Blockchain0x effettua quella chiamata API.

IL DOLORE

La tua API è stata progettata per gli esseri umani. I tuoi chiamanti sono ora agenti.

Il prossimo decennio di entrate API non verrà da registrazioni umane. Verrà da agenti AI che chiamano API per conto dei loro utenti, spesso in modo programmatico e senza alcun umano nel loop. Quegli agenti non possono utilizzare il tuo checkout esistente. Non possono compilare un modulo di carta di credito, non possono creare un account, non possono cliccare su un'email di conferma, non possono ricordare una password.

Ciò che possono fare è leggere una risposta 402 Payment Required, analizzare l'importo USDC e il destinatario dal corpo JSON, pagare su Base e riemettere la chiamata con prova di pagamento. Questa è l'intera forma del commercio API guidato dagli agenti. Il modello di costo (fatturazione per chiamata in stablecoin) si adatta anche molto meglio alla forma di utilizzo degli agenti rispetto agli abbonamenti basati su carta: le carte falliscono per transazioni inferiori a $1; USDC su Base costa centesimi in gas; i chargeback non avvengono tra macchine.

Blockchain0x è il ponte. Elenca i percorsi per i quali desideri addebitare in una tabella dei prezzi e monta l'adattatore x402. Quando una chiamata non pagata colpisce un percorso a pagamento, l'adattatore restituisce un 402 che descrive esattamente cosa pagare. L'agente paga su Base e riprova con un'intestazione X-Payment; l'adattatore lo verifica e il tuo gestore viene eseguito. Raccogli USDC e esegui la tua API come prima. Nulla della tua logica aziendale cambia; il livello di fatturazione scorre accanto.

402 PAGAMENTO RICHIESTO

Il codice di stato HTTP ha finalmente un uso.

HTTP 402 was reserved in the original spec for "future use" and never standardized. For thirty years it sat unused while the internet built per-account subscription billing on top of 200/401/403. With Coinbase's x402 protocol, 402 finally has a standard implementation: any API that needs payment-before-it-runs can return a structured 402, and any client that understands the spec can pay and retry.

LA TUA API RESTITUISCE QUESTO CORPO 402 QUANDO UNA CHIAMATA NON È STATA PAGATA
HTTP/1.1 402 Payment Required
Content-Type: application/json

{
  "resource": "POST /api/expensive-operation",
  "accepts": [
    {
      "scheme": "exact-usdc",
      "network": "mainnet",
      "chainId": "eip155:8453",
      "payToAddress": "0xYourAgentWalletAddress",
      "amountWeiUsdc": "500000",
      "paymentRequestId": "pr_demo",
      "maxAgeSeconds": 60
    }
  ]
}

Cosa significa il requisito accepts[]

  • scheme - lo schema di pagamento. exact-usdc significa un importo esatto di USDC su una catena EVM. Il cliente si abbina a questo prima di pagare.
  • network / chainId - la catena su cui regolare (mainnet è Base, CAIP-2 eip155:8453). Una migrazione può citare entrambe le reti elencando due requisiti in accepts.
  • payToAddress / amountWeiUsdc - il wallet del destinatario e l'importo esatto in unità base USDC (500000 = 0.50 USDC, 6 decimali). Il cliente verifica entrambi prima di pagare.
  • paymentRequestId - lega il pagamento a questa quotazione. L'adattatore rifiuta un X-Payment che fa riferimento a un paymentRequestId diverso da quello della rotta quotata.
  • maxAgeSeconds - quanto deve essere fresco il pagamento. Un pagamento più vecchio di questa finestra viene rifiutato e il chiamante deve pagare di nuovo.

x402 è macchina-a-macchina: un client consapevole di x402 legge accepts, paga il requisito scelto on-chain, quindi riemette la richiesta con un'intestazione X-Payment che l'adattatore verifica. Un client che non parla x402 riceve semplicemente il 402 e non ottiene alcun risultato, che è l'esito corretto (la chiamata non è stata pagata). Non c'è una pagina di checkout ospitata in questo flusso; il pagamento è regolato programmaticamente dal portafoglio del chiamante.

PATRON ADATTATORE

Una tabella dei prezzi. Tre lingue. Stessa forma.

Monti un adattatore e gli dai una tabella dei prezzi chiave per METODO più percorso. Protegge solo le rotte che elenchi; il tuo gestore non vede mai una chiamata non pagata, perché quando viene eseguito l'intestazione X-Payment è già stata verificata. La forma è identica tra Python, TypeScript e Go - il formato wire X-Payment è lo stesso, quindi un server Go accetta intestazioni costruite da un client Python.

PYTHON (FLASK)
from flask import Flask
from blockchain0x import Client
from blockchain0x_x402.server import x402_before_request_factory, PricingEntry

sdk = Client()  # reads BLOCKCHAIN0X_API_KEY
app = Flask(__name__)

# Only routes named in the pricing table are gated.
app.before_request(x402_before_request_factory(
    sdk=sdk,
    pricing={
        "POST /api/expensive-operation": PricingEntry(
            amount_usdc="0.50",
            pay_to_address="0xYourAgentWalletAddress",
            payment_request_id="pr_demo",
        ),
    },
))

@app.route("/api/expensive-operation", methods=["POST"])
def expensive_operation():
    return run_the_work()  # only runs after X-Payment verifies
TYPESCRIPT (EXPRESS)
import express from "express";
import { createClient } from "@blockchain0x/node";
import { createX402Middleware } from "@blockchain0x/x402/server/express";

const sdk = createClient({ apiKey: process.env.BLOCKCHAIN0X_API_KEY! });
const app = express();

// Only routes named in the pricing table are gated.
app.use(createX402Middleware({
  sdk,
  pricing: {
    "POST /api/expensive-operation": {
      amountUsdc: "0.50",
      payToAddress: "0xYourAgentWalletAddress",
      paymentRequestId: "pr_demo",
    },
  },
}));

app.post("/api/expensive-operation", async (req, res) => {
  res.json(await runTheWork());  // req.x402Payment holds the verified payment
});
GO (NET/HTTP)
import (
  "net/http"
  x402 "tosh-labs/blockchain0x-x402-go"
)

func main() {
  pricing := map[string]x402.PricingEntry{
    "POST /api/expensive-operation": {
      AmountUSDC:       "0.50",
      PayToAddress:     "0xYourAgentWalletAddress",
      PaymentRequestID: "pr_demo",
    },
  }

  // serverSdk is your Blockchain0x Go SDK client.
  h := x402.Middleware(x402.ServerOptions{Sdk: serverSdk, Pricing: pricing})(
    http.HandlerFunc(expensiveOperation))
  http.Handle("/api/expensive-operation", h)
  http.ListenAndServe(":8080", nil)
}

Rilasciamo server adapter per Express e Fastify (Node), ASGI (Starlette e FastAPI) e Flask (Python), e net/http di Go. Per altri framework, il body 402 e l'header X-Payment sono semplice HTTP che gli helper di trasporto in @blockchain0x/x402 costruiscono e interpretano - scrivi a mano il controllo secondo l'idioma del tuo stack. I package x402 per Ruby e JVM sono pubblicati per il lato client.

VS STRIPE CHECKOUT

Quando raggiungere ciascun strumento.

Stripe è lo strumento giusto per il checkout umano. Blockchain0x è lo strumento giusto per il checkout degli agenti. Risolvono problemi diversi e spesso si affiancano sulla stessa API.

DimensioneBlockchain0xStripe Checkout
AcquirenteQualsiasi client HTTP (umano o agente AI)Umano su un browser
Autenticazione richiesta prima del pagamentoNo - la prima chiamata restituisce 402 con i requisiti di pagamentoSì - email + modulo carta
Velocità di regolamento5 secondi (USDC su Base)2-7 giorni (reti di carte)
Rischio di chargebackNessuno (USDC è finale)Finestra di chargeback fino a 120 giorni
Economia dei costi per transazioneFunziona a $0.01-$0.10 per chiamata (gas Base + la nostra commissione)Le commissioni sulle carte rendono le transazioni sotto $1 non redditizie
RimborsiManuale - il tuo codice invia USDC all'indirizzo del pagatoreAutomatizzato tramite il dashboard di Stripe
Supporto internazionaleStesso portafoglio, qualsiasi paese, nessuna configurazione extraLicenze per paese, conversione di valuta, regole regionali
Migliore perConsumo di API guidato da agenti programmabiliCheckout guidato da umani (registrazione SaaS, e-commerce)

Il pattern su cui si basano la maggior parte dei fornitori di API: mantenere Stripe per il flusso di registrazione umano (il tuo dashboard, la tua pagina del prodotto in abbonamento); aggiungere Blockchain0x all'edge API per l'accesso programmatico degli agenti. L'adattatore x402 instrada solo i percorsi che hai inserito nella sua tabella dei prezzi, quindi i tuoi percorsi umani autenticati da Stripe rimangono intatti. Punta gli agenti ai percorsi a pagamento e gli umani al resto, e entrambi i pubblici sono serviti dallo stesso codice API.

QUAL È IL PIANO ADATTO

Pro per il traffico iniziale. Business quando i registri di audit diventano un requisito.

I fornitori di API iniziano quasi sempre con Pro fin dal primo giorno: Free è in sola lettura, e l'adattatore x402 ha bisogno dell'accesso API per verificare e regolare i pagamenti oltre ai webhook per tracciarli. Le API ad alto traffico attraversano il territorio Business man mano che il volume mensile aumenta. Vedi la pagina dei prezzi per il costo esatto per agente e dove si trovano i livelli.

  • Free: utile solo per la dashboard e l'esplorazione dei metadati. Sola lettura, quindi l'adapter non può regolare i pagamenti.
  • Pro: predefinito per la monetizzazione live delle API. Accesso completo alle API, webhook, export.
  • Business: quando hai bisogno degli audit log per conformità, o di limiti di rate API più elevati.
Vedi i prezzi completi
DOMANDE FREQUENTI

Cinque domande per i fornitori di API.

Posso eseguire Stripe insieme a Blockchain0x per la stessa API?

Sì, e molti fornitori di API lo fanno. Il modello: mantieni il tuo flusso di registrazione umano basato su Stripe esistente e elenca solo le rotte rivolte agli agenti nella tabella dei prezzi x402. L'adattatore protegge esattamente quelle rotte; tutto ciò che non è nella tabella (incluso le rotte chiamate dai tuoi clienti autenticati Stripe) passa direttamente, senza essere influenzato. Se vuoi una singola rotta per servire entrambi, controlla la tua chiave API nel gestore e salta il percorso a pagamento per i chiamanti autenticati. Entrambi i pubblici ottengono ciò che vogliono senza che un percorso blocchi l'altro.

Cosa succede se un agente AI paga e poi esce prima di riprovare la chiamata?

Il pagamento è ancora valido on-chain; va solo inutilizzato. Il wallet dell'agente mostra un trasferimento USDC riuscito al tuo indirizzo. Dalla prospettiva dell'agente ha perso l'USDC; dalla tua, sei stato pagato per una chiamata che non è mai stata eseguita. Questo è raro nella pratica (il client x402 riprova immediatamente dopo il pagamento), ma se vuoi essere difensivo puoi tenere traccia dei pagamenti verificati che non hanno mai prodotto una chiamata completata e restituire tu stesso l'USDC con payments.create, pagando l'indirizzo del pagatore originale. Non esiste un endpoint di rimborso separato - un rimborso è solo un pagamento nella direzione opposta.

Come posso versionare la mia API e le modifiche ai prezzi?

Ogni voce nella tabella dei prezzi è per percorso, quindi percorsi diversi possono addebitare prezzi diversi. Per la versioning, il modello raccomandato è esporre gli endpoint v2 insieme a v1 con i nuovi prezzi come nuove voci nella tabella dei prezzi; i clienti vedono il nuovo importo nella loro prima risposta 402 sul percorso v2 e pagano di conseguenza. Aumenti improvvisi dei prezzi su percorsi stabili sono una cattiva cittadinanza del protocollo; raccomandiamo di deprecare il vecchio percorso e servire un 410 Gone che punti al nuovo percorso al nuovo prezzo.

Come appare l'osservabilità - registri, metriche, avvisi?

Ogni pagamento appare nel dashboard di Blockchain0x con il portafoglio del pagatore, l'importo e il timestamp, e gli stessi dati arrivano sul tuo webhook payment.received in modo da poterli trasmettere a Datadog, Splunk o al tuo stack di registrazione. L'adattatore funziona all'interno del tuo server, quindi i segnali a livello di richiesta (quale percorso è stato citato, ogni 402 che hai restituito, ogni X-Payment che hai verificato) sono tuoi da registrare ed emettere come metriche in qualsiasi formato utilizzi il tuo stack. Collega avvisi sugli ovvi: un improvviso picco nelle risposte 402 o una diminuzione del tasso di pagamento verificato.

E per quanto riguarda le domande normative - sono un'azienda di servizi monetari se faccio questo?

Probabilmente no, ma questo è specifico per giurisdizione e noi non siamo i tuoi avvocati. Il motivo: stai ricevendo un pagamento per i servizi che fornisci, non trasmettendo denaro tra terze parti (che è il trigger per lo stato di MSB negli Stati Uniti). USDC è riconosciuto come stablecoin di pagamento nella maggior parte delle giurisdizioni. Devi pagare le tasse sui ricavi equivalenti in USD; generiamo i registri di cui hai bisogno per questo. Se operi in un contesto B2B ad alto volume o in una giurisdizione con regole crittografiche rigorose (Germania, Singapore per certe forme), ottieni consigli legali specifici prima di attivare il traffico di produzione. Possiamo indirizzarti a studi legali che hanno svolto questo lavoro per clienti precedenti.

Lascia che gli agenti paghino per la tua API.

Aggiungi un percorso alla tabella dei prezzi e monta l'adattatore. Stripe rimane per gli esseri umani. Entrambi i pubblici serviti.