Generate Proof

After a contributor’s pull request has been successfully merged, zkPull allows the contributor to independently generate a cryptographic proof that their work is valid.

This proof is created using zkTLS, which verifies GitHub data without exposing private information or relying on centralized trust.

Generating a proof is what turns a merged pull request into an on-chain enforceable claim.


When Can a Proof Be Generated?

A contributor can generate a proof only if:

  • The pull request is merged into the target repository

  • The PR is linked to the correct GitHub issue

  • The bounty deadline has not passed

  • The bounty claim limit has not been exceeded

These conditions ensure that only legitimate contributions proceed to validation.


Proof Generation Flow (Step-by-Step)

  1. Submit Pull Request URL The contributor pastes the GitHub Pull Request URL into zkPull.

  1. Initiate zkTLS Session zkPull establishes a zkTLS-secured HTTPS connection to GitHub

  1. Fetch Off-Chain Data GitHub responds with repository, issue, and PR metadata.

  2. Generate zkTLS Proof zkTLS produces a zero-knowledge proof attesting to:

    • Repository correctness

    • Issue ID validity

    • Contributor identity

    • Pull request merge status

  3. Prepare Proof for On-Chain Validation The proof output is formatted for submission to the AVS validation layer.

At no point are raw API responses or access tokens exposed.


What the Proof Contains (Conceptually)

The generated proof does not reveal sensitive data. Instead, it encodes verifiable statements such as:

  • “This pull request exists and is merged”

  • “This PR belongs to this repository and issue”

  • “This GitHub user matches the claimant”

Only the truth of these statements is revealed, not the underlying data.


Proof Security & Integrity

Each generated proof is:

  • Bound to a specific bounty and issue

  • Bound to a specific contributor

  • Non-reusable across claims

  • Deterministic and verifiable

This prevents:

  • Proof replay attacks

  • Claim duplication

  • Identity spoofing


What Happens After Proof Generation?

Once the proof is generated:

  • A validation task is created

  • AVS operators are notified

  • The system moves into the AVS Submit Validation phase

At this point, the contributor does not need to take further action until validation completes.


Failure Handling

If proof generation fails, no on-chain action occurs.

Common failure reasons:

  • Pull request not merged

  • Incorrect PR URL

  • Repository mismatch

  • Identity mismatch

Failures are handled automatically and do not risk locked funds.


Why Proof Generation Is Critical

Without this step:

  • zkPull would require trusted servers

  • Contributors would depend on manual approval

  • Verification would not be reproducible

Proof generation is what enables:

  • Permissionless claims

  • Decentralized validation

  • Automatic reward enforcement

It is the technical bridge between GitHub and the blockchain.

Last updated