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)
Submit Pull Request URL The contributor pastes the GitHub Pull Request URL into zkPull.

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

Fetch Off-Chain Data GitHub responds with repository, issue, and PR metadata.
Generate zkTLS Proof zkTLS produces a zero-knowledge proof attesting to:
Repository correctness
Issue ID validity
Contributor identity
Pull request merge status

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

