exact y upto. Ellos resuelven diferentes problemas de facturación.
exact
exact significa que el precio se puede determinar antes de que la solicitud llegue a la API objetivo. La cantidad firmada por el cliente es el monto final a cobrar.
Adecuado para:
- Generación de imágenes a precio fijo;
- Creación de tareas de video a precio fijo;
- API de búsqueda o herramientas a precio fijo;
- Pago de pedidos.
exact utiliza USDC EIP-3009 TransferWithAuthorization:
/verify, y en la fase de /settle envía esta autorización a la cadena.
upto
upto significa que el cliente autoriza un límite máximo, Ace Data Cloud liquidará según el uso real después de completar la solicitud, el monto real cobrado no puede exceder el límite.
Adecuado para:
- Completar chat: el precio final depende de los tokens de prompt y los tokens de completion;
- Respuestas en streaming: solo se sabe la longitud de la salida real al final;
- API de medición posterior futura.
upto utiliza Permit2 PermitWitnessTransferFrom. La firma del cliente no es una transferencia fija, sino una autorización de límite con testigo:
permitted.amount es el límite, no necesariamente el monto final a cobrar. Gateway en la fase de /record convertirá el uso real en amount y lo enviará al Facilitator. El Facilitator solo permitirá liquidar amount <= permitted.amount.
Resultados de ejecución del programa base upto:
- El límite de autorización devuelto en 402 es
95215atomic USDC, el cliente firma según este límite. - Después de la respuesta real del modelo, solo se liquidan
3atomic USDC, la transacción en cadena ya se puede consultar en BaseScan. - Este resultado puede ilustrar la diferencia clave de
upto: el monto firmado es un límite, la liquidación en cadena puede ser menor que el límite. - Si el uso real excede el límite, el Facilitator debe rechazar la liquidación, el cliente necesita autorizar nuevamente con un límite más alto.
upto actualmente solo está disponible en Base. SKALE solo ofrece exact, si necesitas medición posterior, utiliza Base.
Por qué se necesita Permit2 approve
upto es finalmente gestionado por el proxy x402 a través de Permit2 para retirar USDC de la billetera de pago. Antes de usarlo por primera vez, la billetera de pago necesita otorgar una vez un allowance ERC-20 a Permit2.
Python CLI:
upto, ya que nonce, deadline, testigo y límite de monto son diferentes.
Liquidación de monto cero
upto admite situaciones donde el monto real es 0. Por ejemplo, si la API objetivo no genera una cantidad facturable con éxito, Gateway puede enviar amount = "0". El Facilitator devolverá éxito, pero no emitirá una transacción en cadena.
Esto puede evitar el problema de “la solicitud no tuvo éxito pero aún así se cobra en cadena”.
Sugerencias de selección
Si no estás seguro de cuál elegir, usa primero el comportamiento predeterminado del SDK; el SDK elegirá el requisito de pago de red coincidente devuelto por el servidor.
Lista de verificación Base upto
Al integrar o depurar, asegúrate de que los siguientes parámetros provengan de la misma respuesta 402 y se mantengan consistentes al firmar en el cliente:
Errores comunes y formas de manejar:

