zkAPI, un sistema de pagos para servicios de inteligencia artificial medidos por uso y desarrollado a partir de un diseño cofirmado por Vitalik Buterin y Davide Crapis, ya opera en la red principal de Ethereum. Su arquitectura permite reclamar fondos sin la autorización del servidor, pero también establece que los depósitos activos que caduquen pueden acabar íntegramente en la tesorería del protocolo.
La Fundación Ethereum anunció el despliegue el 1 de octubre. Open Anonymity desarrolló la implementación, basada en el diseño publicado por Crapis y Buterin el 11 de febrero. El sistema está pensado para prepagar servicios de API: el usuario deposita fondos, conserva localmente el estado privado necesario para gastar ese saldo y autoriza pagos mediante pruebas criptográficas. Cada petición no genera por sí sola un movimiento en la cadena.
Dos vías para recuperar un saldo
Cuando el uso se liquida, el servidor firma un nuevo estado que refleja el saldo restante. La recuperación depende de que el usuario conserve tanto el estado de gasto válido como los datos necesarios para demostrar cuánto dinero queda en la nota asociada al depósito.
La vía cooperativa, denominada cierre mutuo, requiere la autorización del servidor. Una clave de firma independiente valida la retirada y el monedero incorpora esa firma a la prueba que revisa el contrato. Si todo es correcto, el saldo restante se envía al destino incluido en la propia prueba, que puede ser distinto de la dirección que realizó el depósito.
La segunda opción es la retirada de escape. El usuario puede iniciarla sin la firma de autorización del servidor. En lugar de pagar de inmediato, el contrato elimina la nota del conjunto activo y registra una retirada pendiente. La configuración desplegada en la red principal fija un periodo de impugnación de 86.400 segundos, es decir, 24 horas.
Si durante ese plazo no prospera una impugnación, la liquidación envía al usuario el saldo registrado. La diferencia entre el depósito original y ese saldo se dirige a la tesorería, siempre que las transferencias puedan ejecutarse. El mecanismo ofrece una salida ante una caída del servidor, aunque no permite al usuario escoger libremente la cantidad que desea retirar.
Cada estado de gasto incluye un identificador criptográfico, llamado anulador, que evita reutilizarlo. Un impugnador puede presentar la prueba de una petición anterior con el mismo identificador para demostrar que ese estado ya había autorizado un consumo. Si la prueba es válida y llega a tiempo, la retirada pendiente se cancela y la nota vuelve al conjunto activo. El proceso no contempla una penalización económica separada.
La pausa y la caducidad limitan la recuperación
El contrato incorpora una función de pausa bajo control del propietario. Mientras está activada, quedan bloqueados los depósitos, los cierres mutuos y el inicio de nuevas retiradas de escape. En cambio, la pausa no impide finalizar una retirada ya pendiente, presentar impugnaciones ni ejecutar reclamaciones por caducidad. Por eso, la posibilidad de haber iniciado el proceso antes de una interrupción resulta determinante.
Las notas tienen una vigencia de 30 días. El código, sin embargo, redondea hacia arriba la suma del momento del depósito y ese periodo a un límite de un día, por lo que la caducidad efectiva puede producirse después de 30 días exactos. Una vez que una nota activa caduca, el contrato permite cerrarla mediante una reclamación que envía a la tesorería el importe íntegro del depósito registrado. Esta regla no se aplica a una nota que ya esté en retirada pendiente.
La implementación desplegada también introduce una diferencia entre el anuncio y la configuración técnica actual. La comunicación de la Fundación Ethereum describía la cámara vinculada como un depósito de créditos en USDC, mientras que el manifiesto de la red principal identifica esa misma cámara como un sistema denominado en ether (ETH), con saldos contabilizados en gwei. La actividad del explorador muestra depósitos y pagos valorados en ETH.
Un sistema experimental con dependencias operativas
El saldo no representa una cantidad estable en dólares: su valor cambia con el precio del ETH. Para calcular el coste de la inferencia, el navegador y el servidor verifican una cotización de ETH/USD de Chainlink incluida en un estado finalizado de la cadena. La cotización aceptada queda fijada durante la liquidación y la recuperación, mientras que el cargo se convierte en gwei y se redondea al alza.
El manifiesto utiliza emisión de claves de OA-org e inferencia de OpenRouter. Los recibos de uso del proveedor y los estados sucesores firmados por el servidor siguen siendo piezas operativas de la liquidación. Además, el proyecto se presenta como experimental y no auditado para producción. La documentación del circuito Groth16 señala que la generación de las claves se realizó con una sola parte y sin una ceremonia multiparte.
La disponibilidad en la red principal, por tanto, no garantiza por sí sola que cualquier recuperación vaya a completarse. El usuario necesita conservar sus datos, disponer de una visión compatible de la cadena y actuar antes de la caducidad; el sistema también depende de que el contrato esté disponible para iniciar la salida cuando sea necesario.











