The Ethereum Foundation announced zkAPI on mainnet on Oct. 1, putting a private, metered AI-payment design coauthored by Davide Crapis and Vitalik Buterin into a live financial-control test. Users can initiate an escape withdrawal without the billing server's clearance, but the exit has a 24-hour challenge period. The mainnet manifest specifies a 30-day note lifetime, after which an active note can be claimed by the treasury rather than the user.
The implementation was built by Open Anonymity with the Ethereum Foundation. Its withdrawal rules make recovery depend on the user's locally held spending state, the note's status and whether the user can start an exit before expiry. The Foundation's announcement describes the linked vault as holding USDC credits, while the current mainnet manifest identifies it as a native ETH vault, with balances accounted for in whole gwei.
Why it matters
zkAPI funds a note with a deposit and keeps the private spending state in the wallet. API requests authorize usage without each triggering an onchain transfer. As service is settled, the server signs a successor state for the remaining balance. That makes wallet data central to proving what is left if billing stops or the server becomes unavailable.
There are two withdrawal routes. A mutual close requires the server's signature. An escape withdrawal does not, but first places the note in pending status for 86,400 seconds. During that 24-hour window, a challenger can prove that the spending state already authorized a request. A valid challenge cancels the payout and restores the note to the active set; it does not resolve a disputed bill or guarantee a refund.
The vault owner can pause deposits, mutual closes and new escape withdrawals. The pause does not block challenges, finalization of an already-pending escape or expiry claims. So the ability to start an exit still depends on the vault being available and unpaused.
Market impact
Expiry creates a separate risk for funds that remain in an active note. The manifest specifies a 30-day lifetime, while the vault rounds the expiry time up to a one-day boundary. Once eligible, an active note can be closed through an expiry claim that sends its full recorded deposit to the treasury. Pending withdrawals are not eligible for that claim.
The balance is denominated in ETH, not stable dollars, and its dollar value moves with ETH.
Frequently asked questions
-
How can a zkAPI user withdraw without the billing server's approval?
The user can initiate an escape withdrawal without the server's clearance signature. The vault records a pending payout for a 24-hour challenge period before it can be finalized.
-
What can happen during zkAPI's 24-hour withdrawal challenge period?
A challenger can submit proof that the spending state already authorized a request. A valid challenge cancels the pending payout and restores the note to the active set.
-
What happens to an active zkAPI note after it expires?
An eligible active note can be closed through an expiry claim that sends its full recorded deposit to the treasury. The manifest specifies a 30-day lifetime, with expiry rounded up to a one-day boundary.
-
Can the zkAPI vault owner stop a user from starting an escape withdrawal?
The owner can pause initiation of new escape withdrawals. The pause does not block challenges or finalization of an escape that is already pending.
-
Is a zkAPI balance pegged to the dollar?
No. The mainnet vault is identified as native ETH, so its dollar value changes with ETH. Dollar-priced inference uses a pinned Chainlink ETH/USD quote that remains fixed through settlement and recovery.
CryptoSlate