Saltar al contenido principal
VARIANTE DE PERSONA 2 - PROVEEDORES DE API

Vende tu API a agentes de IA.

Los agentes de IA no pueden completar un formulario de tarjeta de crédito. Pueden pagarte en USDC. Blockchain0x realiza esa única llamada a la API.

EL DOLOR

Tu API fue diseñada para humanos. Tus llamadores son ahora agentes.

La próxima década de ingresos por API no vendrá de registros humanos. Vendrá de agentes de IA que llaman a APIs en nombre de sus usuarios, a menudo de manera programática y sin ningún humano en el bucle. Esos agentes no pueden usar tu proceso de pago existente. No pueden llenar un formulario de tarjeta de crédito, no pueden crear una cuenta, no pueden hacer clic en un correo electrónico de confirmación, no pueden recordar una contraseña.

Lo que pueden hacer es leer una respuesta 402 Payment Required, extraer el monto de USDC y el destinatario del cuerpo JSON, pagar en Base y volver a emitir la llamada con prueba de pago. Esa es toda la forma del comercio API impulsado por agentes. El modelo de costos (facturación por llamada en stablecoin) también se adapta mucho mejor a la forma de uso del agente que las suscripciones basadas en tarjetas: las tarjetas fallan en transacciones inferiores a $1; USDC en Base cuesta centavos en gas; los contracargos no ocurren entre máquinas.

Blockchain0x es el puente. Enumere las rutas por las que desea cobrar en una tabla de precios y monte el adaptador x402. Cuando una llamada no pagada alcanza una ruta con precio, el adaptador devuelve un 402 describiendo exactamente qué pagar. El agente paga en Base y vuelve a intentar con un encabezado X-Payment; el adaptador lo verifica y su controlador se ejecuta. Usted recoge USDC y ejecuta su API como antes. Nada sobre su lógica de negocio cambia; la capa de facturación opera al mismo tiempo.

402 PAGO REQUERIDO

El código de estado HTTP finalmente tiene 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.

TU API DEVUELVE ESTE CUERPO 402 CUANDO UNA LLAMADA NO HA SIDO PAGADA
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
    }
  ]
}

Lo que significa el requisito accepts[]

  • scheme - el esquema de pago. exact-usdc significa una cantidad exacta de USDC en una cadena EVM. El cliente coincide con esto antes de pagar.
  • network / chainId - la cadena en la que liquidar (mainnet es Base, CAIP-2 eip155:8453). Una migración puede cotizar ambas redes enumerando dos requisitos en accepts.
  • payToAddress / amountWeiUsdc - la billetera del destinatario y la cantidad exacta en unidades base de USDC (500000 = 0.50 USDC, 6 decimales). El cliente verifica ambos antes de pagar.
  • paymentRequestId - vincula el pago a esta cotización. El adaptador rechaza un X-Payment que referencia un paymentRequestId diferente al de la ruta cotizada.
  • maxAgeSeconds - cuán reciente debe ser el pago. Un pago más antiguo que esta ventana es rechazado y el llamador debe pagar nuevamente.

x402 es máquina a máquina: un cliente consciente de x402 lee accepts, paga el requisito elegido en la cadena, luego reenvía la solicitud con un encabezado X-Payment que el adaptador verifica. Un cliente que no habla x402 simplemente recibe el 402 y no obtiene resultado, que es el resultado correcto (la llamada no fue pagada). No hay una página de pago alojada en este flujo; el pago se liquida programáticamente por la billetera del llamador.

PATRÓN DE ADAPTADOR

Una tabla de precios. Tres idiomas. La misma forma.

Montas un adaptador y le das una tabla de precios clave por MÉTODO más ruta. Controla solo las rutas que enumeras; tu manejador nunca ve una llamada no pagada, porque cuando se ejecuta el encabezado X-Payment ya ha verificado. La forma es idéntica en Python, TypeScript y Go - el formato de wire X-Payment es el mismo, por lo que un servidor Go acepta encabezados construidos por un cliente 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
TIPOSCRIPT (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)
}

Enviamos adaptadores de servidor para Express y Fastify (Node), ASGI (Starlette y FastAPI) y Flask (Python), y net/http de Go. Para otros frameworks, el cuerpo 402 y el encabezado X-Payment son HTTP puro que los ayudantes de wire en @blockchain0x/x402 construyen y analizan - escribe a mano la verificación en el idioma de tu stack. Los paquetes x402 de Ruby y JVM se publican para el lado del cliente.

VS STRIPE CHECKOUT

Cuándo recurrir a cada herramienta.

Stripe es la herramienta adecuada para el pago humano. Blockchain0x es la herramienta adecuada para el pago de agentes. Resuelven problemas diferentes y frecuentemente están uno al lado del otro en la misma API.

DimensiónBlockchain0xStripe Checkout
CompradorCualquier cliente HTTP (humano o agente de IA)Humano en un navegador
Autenticación requerida antes del pagoNo - la primera llamada devuelve 402 con los requisitos de pagoSí - formulario de correo electrónico + tarjeta
Velocidad de liquidación5 segundos (USDC en Base)2-7 días (redes de tarjetas)
Riesgo de contracargoNinguno (USDC es final)Hasta 120 días de ventana de contracargo
Economía de costos por transacciónFunciona a $0.01-$0.10 por llamada (gas de Base + nuestra tarifa)Las tarifas de tarjeta hacen que las transacciones por debajo de $1 no sean económicas
ReembolsosManual - tu código envía USDC de vuelta a la dirección del pagadorAutomatizado a través del panel de control de Stripe
Soporte internacionalMisma billetera, cualquier país, sin configuración adicionalLicencias por país, conversión de moneda, reglas regionales
Mejor paraConsumo de API impulsado por agentes programáticosCheckout impulsado por humanos (registro SaaS, comercio electrónico)

El patrón en el que la mayoría de los proveedores de API aterrizan: mantener Stripe para el flujo de registro humano (tu panel, tu página de producto de suscripción); agregar Blockchain0x en el borde de la API para acceso programático de agentes. El adaptador x402 solo restringe las rutas que pones en su tabla de precios, por lo que tus rutas autenticadas por Stripe para humanos permanecen intactas. Apunta a los agentes a las rutas con precio y a los humanos al resto, y ambas audiencias son atendidas por el mismo código de API.

QUÉ PLAN SE ADAPTA

Pro para tráfico temprano. Negocios cuando los registros de auditoría se convierten en un requisito.

Los proveedores de API casi siempre comienzan en Pro desde el primer día: Free es solo de lectura, y el adaptador x402 necesita el acceso a la API para verificar y liquidar pagos, además de webhooks para rastrearlos. Las API de alto tráfico cruzan al territorio de Business a medida que el volumen mensual aumenta. Consulta la página de precios para conocer el costo exacto por agente y dónde se encuentran los niveles.

  • Free: útil solo para el panel y la exploración de metadatos. Solo lectura, por lo que el adaptador no puede liquidar pagos.
  • Pro: opción predeterminada para monetización de API en producción. Acceso completo a la API, webhooks, exportaciones.
  • Business: cuando necesitas registros de auditoría para compliance o límites de rate limit de API más altos.
Ver precios completos
PREGUNTAS FRECUENTES

Cinco preguntas para proveedores de API.

¿Puedo ejecutar Stripe junto a Blockchain0x para la misma API?

Sí, y muchos proveedores de API lo hacen. El patrón: mantén tu flujo de registro humano basado en Stripe existente y enumera solo las rutas orientadas al agente en la tabla de precios x402. El adaptador controla exactamente esas rutas; todo lo que no está en la tabla (incluidas las rutas que llaman tus clientes autenticados por Stripe) pasa directamente, sin afectar. Si deseas una única ruta para servir a ambos, verifica tu propia clave API en el manejador y omite la ruta de precios para los llamadores autenticados. Ambas audiencias obtienen lo que quieren sin que un camino bloquee al otro.

¿Qué pasa si un agente de IA paga y luego sale antes de volver a intentar la llamada?

El pago sigue siendo válido en la cadena; simplemente no se utiliza. La billetera del agente muestra una transferencia exitosa de USDC a tu dirección. Desde la perspectiva del agente, perdió el USDC; desde la tuya, te pagaron por una llamada que nunca se ejecutó. Esto es raro en la práctica (el cliente x402 reintenta inmediatamente después de pagar), pero si quieres ser defensivo puedes rastrear pagos verificados que nunca produjeron una llamada completada y devolver el USDC tú mismo con payments.create, pagando la dirección del pagador original. No hay un punto final de reembolso separado - un reembolso es solo un pago en la otra dirección.

¿Cómo versiono mi API y los cambios de precios?

Cada entrada en la tabla de precios es por ruta, por lo que diferentes rutas pueden cobrar diferentes precios. Para la versionado, el patrón recomendado es exponer los endpoints v2 junto a v1 con los nuevos precios como nuevas entradas en la tabla de precios; los clientes ven la nueva cantidad en su primera respuesta 402 en la ruta v2 y pagan en consecuencia. Aumentos repentinos de precios en rutas estables son una mala ciudadanía de protocolo; recomendamos descontinuar la ruta antigua y servir un 410 Gone que apunte a la nueva ruta con el nuevo precio.

¿Cómo se ve la observabilidad - registros, métricas, alertas?

Cada pago aparece en el panel de Blockchain0x con la billetera del pagador, el monto y la marca de tiempo, y los mismos datos llegan a tu webhook payment.received para que los transmitas a Datadog, Splunk o tu propia pila de registros. El adaptador se ejecuta dentro de tu servidor, por lo que las señales a nivel de solicitud (qué ruta fue citada, cada 402 que devolviste, cada X-Payment que verificaste) son tuyas para registrar y emitir como métricas en el formato que use tu pila. Configura alertas sobre los obvios: un aumento repentino en las respuestas 402, o una caída en la tasa de pagos verificados.

¿Qué pasa con las preguntas regulatorias - soy un negocio de servicios monetarios si hago esto?

Probablemente no, pero esto es específico de la jurisdicción y no somos sus abogados. La razón: está recibiendo pago por los servicios que proporciona, no transmitiendo dinero entre terceros (lo cual es el desencadenante del estado de MSB en los EE. UU.). USDC es reconocido como una stablecoin de pago en la mayoría de las jurisdicciones. Debe pagar impuestos sobre los ingresos equivalentes en USD; generamos los registros que necesita para eso. Si opera en un contexto B2B de alto volumen o en una jurisdicción con reglas estrictas sobre criptomonedas (Alemania, Singapur para ciertas formas), obtenga asesoría legal específica antes de activar el tráfico de producción. Podemos referirlo a empresas que han realizado este trabajo para clientes anteriores.

Deja que los agentes paguen por tu API.

Agrega una ruta a la tabla de precios y monta el adaptador. Stripe permanece para humanos. Ambas audiencias atendidas.