zkApps (zero-knowledge apps) are the smart contracts of the Mina Protocol, a blockchain designed to stay very small by using recursive zk-SNARKs. On most networks every node re-runs a contract's code, as with the Ethereum Virtual Machine. A zkApp instead runs on the user's own device, usually in a web browser, and creates a zero-knowledge proof that it ran correctly. The network checks only the proof and updates a small amount of on-chain state. This lets private inputs, such as personal data, stay on the user's device while the result is still trusted. Developers write zkApps in TypeScript using Mina's own library. They became available on Mina's main network with a 2024 upgrade. Limits include small on-chain storage, proof generation time on weak devices and a smaller developer base than larger smart contract platforms.
Last updated 13 Nov 2026