info
Please note that zkApp programmability is not yet available on Mina, but zkApps can now be deployed to Berkeley QANet. These docs are a preview of work that is currently in progress.
Overview

What are zkApps?
zkApps ("zero-knowledge apps") are Mina Protocol’s smart contracts powered by zero-knowledge proofs, specifically using zk-SNARKs.
zkApps use an off-chain execution and mostly off-chain state model. This allows for private computation and state that can be either private or public.
zkApps can perform arbitrarily-complex computations off chain while incurring only a flat fee to send the resulting zero-knowledge proof to the chain for verification of this computation, as opposed to other blockchains that run computations on chain and use a variable gas-fee based model.

You can learn more on the how zkApps work page.
TypeScript
zkApps are written in TypeScript.
TypeScript provides an easy, familiar language (JavaScript), but with added type safety, making it easy to get started writing zkApps.
You can learn more on the how to write a zkApp page.
Examples of zkApps
Play around with a few example zkApps to see what’s possible:

Learn more
Join the #zkapps-general channel on Discord.
On the upcoming pages, you can read about how zkApps work, how to write a zkApp, and see our zkApps for Ethereum Developers page.