Hay un problema. El endpoint decide cómo cobra, y los endpoints x402 que encuentra un agente suelen pedir USDC en una red concreta, como Base o Solana. Tu agente puede tener otra cosa: USDT en Solana, USDC en Stellar o USDT en BNB Chain. Hacer un puente antes de cada llamada tampoco funciona, porque un requisito de pago x402 solo es válido unos minutos, y mover dinero entre cadenas suele tardar más que eso.
ROZO es independiente y no está afiliado a ningún vendedor x402.
Recarga una vez, paga muchas veces
El pagador x402 de ROZO divide el problema en dos. Recargas un saldo de ROZO una sola vez, con la moneda que ya tienes y en la cadena que ya usas. Después, cada llamada x402 a un endpoint que acepta USDC en Base se paga desde ese saldo en segundos, dentro de la ventana de pago.
Si tu agente puede ejecutar un comando de shell, esta es toda la integración:
- Recarga el saldo una vez. Imprime una dirección de depósito de un solo uso; págala desde tu propia wallet: npx @rozoai/checkout x402 topup 20 --with usdt-solana
- Llama a un endpoint de pago. La CLI lee el 402, ROZO firma y la solicitud se envía de nuevo con el pago: npx @rozoai/checkout x402 pay https://api.example.com/v1/search --method POST --body '{"q":"..."}'
- Mira lo que queda: npx @rozoai/checkout x402 balance
Qué pasa en x402 pay
Tu máquina envía la solicitud directamente al endpoint. Cuando vuelve el 402, la CLI lee los requisitos de pago, se queda solo con la opción de USDC en Base y pide a ROZO que firme ese único pago. Luego repite tu solicitud original con el encabezado PAYMENT-SIGNATURE e imprime la respuesta.
Cada pago lleva un idempotencyKey, y un reintento de ese pago reutiliza la misma clave, así que un timeout no puede cobrarte dos veces.
¿Sin shell? El mismo pago funciona con dos endpoints HTTP principales, /v1/x402/topup y /v1/x402/sign, con tu clave de agente como bearer token. Tu agente repite su propia solicitud con la firma. La página de x402 muestra ambas llamadas.
Qué protege tu dinero
Darle una wallet a un agente es un riesgo real, así que el pagador está construido con permisos mínimos.
- La clave solo gasta el saldo. La primera recarga crea una clave de agente que empieza por ak_. Puede pagar desde tu saldo de ROZO y nada más. Nunca toca tu propia wallet, ROZO nunca guarda las claves de tu wallet y ROZO solo almacena un hash de la clave de agente.
- Cada pago tiene un tope. Por defecto un pago individual tiene un máximo de $5 y una clave puede gastar como mucho $100 al día. Ambos son valores por defecto y se pueden ajustar por clave. También puedes limitar una clave a una lista de direcciones payTo, y la CLI rechaza cualquier pago individual por encima del límite que fijes con --max-usd.
- Pagos únicos, nunca una suscripción. Cada llamada necesita un 402 nuevo del vendedor y una firma nueva de ROZO. El vendedor nunca recibe una autorización permanente para cobrar más fondos después.
- Tu solicitud es tuya. La solicitud de pago va de tu máquina al endpoint. ROZO nunca ve el cuerpo de la solicitud, tus encabezados ni las API keys que usas para ese servicio. Solo ve el requisito de pago que se le pide firmar: a quién se paga, cuánto y en qué red.
Con qué puedes recargar y qué se paga
Hay dos tramos, y los listamos por separado a propósito.
Tramo de recarga, de ti a ROZO:
- USDT en Solana, BNB Chain, Ethereum o Polygon
- USDC en Solana, BNB Chain, Ethereum, Polygon, Base o Stellar
¿Tienes una moneda nativa o sats? Puedes usarlos para recargar OpenRouter con ROZO Checkout en checkout.rozo.ai.
Tramo de pago, de ROZO al vendedor x402:
- Base (eip155:8453): USDC, esquema x402 exact
- Solana: más adelante
Los vendedores siempre cobran en USDC, porque los pagos x402 exact son transferencias de tokens. El USDT solo sirve para recargar el saldo; el vendedor cobra en USDC. Si un endpoint solo acepta USDC en Solana, la CLI se detiene con X402_UNSUPPORTED antes de cobrar nada.
La recarga mínima es de $5, y la recarga tiene una comisión del 1%. Cada pago x402 desde el saldo cuesta solo lo que pide el vendedor. Los retiros todavía no son de autoservicio: escribe a hi@rozo.ai con tu clave enmascarada y el importe, y el saldo se devuelve en la cadena que elijas.
Empieza ahora
El pagador ya está disponible. La página checkout.rozo.ai/x402 reúne los tres comandos, las llamadas HTTP, los límites y las preguntas frecuentes. La referencia completa, con todos los códigos de error, está en docs.rozo.ai. Los agentes pueden leer las mismas instrucciones, con las reglas de seguridad y la guía de reintentos, en checkout.rozo.ai/llms.txt y en el repositorio RozoAI/rozo-checkout-skill de GitHub.
Recarga una vez con la moneda que tienes y deja que tu agente pague por su cuenta las APIs que llama.