zkLocus Private Geolocation Off & On-Chain


Geolocation Authentication With Full Privacy

Prove your whereabouts within specific regions, within a specific time interval, without exposing your exact coordinates or timestamp with zkLocus.

Inherent Zero-Knowledge Security

zkLocus isn't just using zero-knowledge technology; it is zero-knowledge from the ground up. Every circuit is designed to ensure privacy and security are not just features, but fundamental attributes of the application.

Native on the Mina Blockchain

zkLocus was born on, and is natively implemented in O1JS on the Mina Blockchain. It can be easily integrated into any zero-knowledge application.


zkLocus generates zkSNARKs proofs which can be used on any blockchain, such as Ethereum and Cardano. It's fully EVM-compatbile. This flexibility, rooted in zkLocus' vision, ensures wide applicability for decentralized systems.

DeFi Geolocation Programmability

zkLocus brings geolocation programmability to DeFi, enabling the embedding of secure, private location data into NFTs, ERC-20 tokens, and other digital assets.

Authenticated Geolocation Source

Wether the zkLocus, the source of geolocation data is fully authenticated through zero-knowledge proofs, ensuring complete privacy of the underlying location details, while making its source fully transparent.

Selective Coordinate Sharing

While zkLocus champions privacy, it also provides the option to share exact coordinates securely when transparency is required. The same is true for timestamps. d

Runs On Mobile

Geolocation proofs can be generated on any mobile device, including directly on the web browser app, such as Chrome, Safari, and Firefox.

Flexible Geographical Assertions

Craft assertions about being within or outside specific areas with zkLocus. Define arbitrary polygons or merge areas to create custom geofences for nuanced location proofs.

Code showing how to generate a zkLocus proof in TypeScript and JavaScript.

Generate A ZK Location Proof

zkLocus offers an easy and ituitive API for generating zero-knowledge location proofs. In just a few lines of code, you can generate a proof that you are within a specific area, at a specific time, without revealing your exact coordinates or timestamp. ZKLocus proofs can be generated on any device, including the web browser, mobile devices, and server-side.

ZK Location Proof as JSON

zkLocus proofs are JSON objects, which can be easily verified on-chain or off-chain. Converting a zkLocus proof into a JSON object is as simple as calling the .toJSON(). You can easily a JSON object back into a zkLocus proof by calling the .fromJSON() method.

Code showing how to convert a zkLocus location proof into JSON and load a zkLocus location proof from JSON in TypeScript and JavaScript.
Code showing how to verify a zkLocus proof in TypeScript and JavaScript.

Verify A ZK Location Proof

Verifing a zkLocus proof is as simple as calling the .verify() method. You can verify a proof on-chain or off-chain. The underlying area assertions are exposed through the attributes of the object. zkLocus proofs can be verified on any device, including the web browser, mobile devices, and server-side.