zkMe Docs
Ask or search…
Comment on page

zkGeofencing (zkPoG)

zkGeolocation service which stands for Zero-Knowledge Geolocation Service. The utilization of zero-knowledge proofs (ZKP) to protect user privacy while verifying their geolocation information.


The zkGeolocation service can provide significant value to the crypto industry, especially in the context of decentralized finance (DeFi) protocols facing restrictions in certain countries. Here are some key benefits:
Enhanced compliance: DeFi protocols often have to comply with regulatory requirements, which may involve blocking users from specific countries to ensure compliance. The zkGeolocation service can enable these protocols to enforce geolocation restrictions while maintaining user privacy. Instead of outright blocking countries, protocols can verify user location within permitted jurisdictions, allowing compliance without sacrificing inclusivity.
User privacy protection: By utilizing zero-knowledge proofs (ZKP), the zkGeolocation service can validate user location without directly accessing or storing sensitive personal information. This preserves user privacy and prevents the exposure of detailed geolocation data, which is crucial for maintaining trust and upholding privacy principles in the crypto industry.
Access to global liquidity: With geolocation verification, DeFi protocols can restrict access only to users from permitted jurisdictions, thereby adhering to local regulations. By implementing the zkGeolocation service, protocols can confidently expand their user base while mitigating compliance risks and gaining access to a broader pool of liquidity.
Risk mitigation: By ensuring that users comply with geographic restrictions, the zkGeolocation service helps DeFi protocols mitigate legal and regulatory risks. It reduces the chances of unintentional non-compliance and potential repercussions associated with unauthorized access from restricted jurisdictions.
Regulatory adaptability: The zkGeolocation service offers flexibility to DeFi protocols in adapting to evolving regulatory landscapes. As regulations change or new requirements emerge, protocols can adjust geolocation parameters or policies without resorting to blanket bans or rigid restrictions, allowing for better alignment with regulatory frameworks.
Facilitates global expansion: By implementing geolocation verification with privacy preservation, DeFi protocols can explore opportunities for global expansion while managing regulatory compliance. The zkGeolocation service enables protocols to navigate regulatory complexities and expand into new markets without compromising user privacy or regulatory requirements.


The procedure of performing a zkGeolocation, or Zero-Knowledge Geolocation, involves a series of steps to verify a user's location within a specific area without disclosing their actual coordinates. Here's a high-level overview of the procedure:
  1. 1.
    Define the geolocation area: Clearly define the specific area within which you want to verify the user's location. This could be a polygon defined by a set of coordinates or a specific geographical boundary.
  2. 2.
    User authorization: Obtain user consent to access their GPS information for the purpose of location verification.
  3. 3.
    Generate random numbers: The user's device generates a random number as part of the zkGeolocation process.
  4. 4.
    Zero-Knowledge Proof (ZKP) protocol:
    • Commitment phase: The user generates a commitment that contains information about their location within the defined area, without revealing the actual coordinates. This commitment is typically computed using cryptographic techniques.
    • Challenge phase: The verifier (the service or entity performing the geolocation verification) selects a random challenge and sends it to the user.
    • Response phase: The user generates a response based on the challenge and their random number. This response is sent back to the verifier.
    • Verification: The verifier checks the validity of the response and whether it satisfies the geolocation verification criteria, without gaining knowledge of the user's actual coordinates.
  5. 5.
    Verification result: Based on the verification outcome, the verifier can determine if the user is located within the defined area, without explicitly obtaining their real address or coordinates.