Skip to main content

Protokit

Introduction to Protokit​

Protokit is a development framework for building zkApps requiring shared state. Built on top of o1js, Protokit simplifies the developer experience, increases throughput, and decreases latency by orchestrating state transitions between an off-chain sequencer and the Mina L1.

Further features, such as runtime abstractions and merkelized data storage, provide components out of the box that zkApp developers would otherwise have to build on top of o1js.

Please note that Protokit is in alpha, and settlement support with reorgs is still in progress.

info

Protokit dramatically simplifies the development experience for Mina's Actions & Reducers, enabling zkApp developers to build more complex applications.

Key benefits of using Protokit​

Concurrency: Solves concurrency issues for applications with shared state through a novel hybrid execution model.

Performance: Improves throughput (TPS) and latency on block production while maintaining Mina L1’s security.

Developer Experience: Saves developers writing thousands of lines of code by providing an integrated, verifiable storage solution.

Flexibility: Provides a modular architecture that developers can easily customize for their own application’s needs.

Zero Knowledge: Uses the same primitives and proofs as o1js, so Protokit code is provable and compatible with the Mina blockchain by design.

When to use Protokit​

Protokit is well-suited for high-throughput zkApps with multiple concurrent users and applications requiring shared state.

Use Protokit for:

  • DEXes
  • Lending protocols
  • Gaming
  • Lotteries
  • NFT marketplaces
  • Anything that needs a shared state

Choosing which Protokit mode to use (Based Sequencing or Hybrid Sequencing mode) depends on what you’re looking to optimize for in your own zkApp.

Start here: