Skip to content

Introduction to the Z API and Zapp SDK

The Z-API brings the power of programmable cryptography to your web app, allowing you to create provable data and zero-knowledge proofs in as few as 10 lines of code. Powered by Zupass, this unlocks new options for privacy, user control of data, and interoperability.

What’s a Zapp?

Zupass provides users with a private data store and a suite of cryptographic tools to make zero-knowledge proofs about that data. Zapps are apps which integrate with Zupass to provide those features to their users.

A Zapp might use data from the user’s Zupass store to authenticate them, or might store new data in Zupass. Because the data store is owned by the user, that data is available to any other applications the user choose to share it with.

Zapps are just regular web applications, and they can also read and write data from other remote sources, such as back-end services or platforms. Your Zapp does not have to use Zupass as its only, or primary, data store. However, you can build Zapps which work only with data stored in Zupass if you want to.

Why Zapps?

Zero-knowledge proofs offer powerful new ways to build applications, limiting the need for centralized APIs and promoting privacy and security. By using cryptographic signatures to authenticate data, we avoid relying on API responses as single sources of truth. Instead, users can both create and receive signed data, and choose to share proofs about that data with others.

Zapps are applications built with this architecture in mind. By using the POD data format and general-purpose zero-knowledge circuits, they can support these new workflows.

Traditionally, building apps that use zero-knowledge proofs has been hard, requiring knowledge of ZK circuits programming, and creation of new ZK-friendly data formats. POD and GPC together provide a toolkit for solving these problems. The Z API provides an integration with Zupass, which gives your app a pre-built POD store with end-to-end encrypted synchronization for privacy and portability, as well as management of cryptographic keys and identity.

Z API

The Z API allows you to embed Zupass in your application, making it easy to get started with PODs and GPCs, using the user’s existing Zupass identity and cryptographic keys. Crucially, this allows your Zapp to access data created by other Zapps. Providing just a handful of simple API methods, we can enable the creation, storage, and management of PODs, and the creation of GPC proofs about them.