Inspiration

What it does

How we built it

Inspiration

Scholarship applications often require students to submit more information than providers actually need, including exact GPA, household income, family size, age, and supporting documents. Once submitted, students have little control over how this sensitive information is stored or reused.

We built ZKScholar AI to explore a different approach: what if students could prove that they satisfy scholarship requirements without revealing the underlying academic and financial values?

What it does

ZKScholar AI allows a student to enter scholarship-related information into a local proof controller. A Compact smart contract evaluates whether the student satisfies requirements such as:

  • Minimum GPA
  • Maximum household income per person
  • Maximum age
  • Active-student status

The sensitive values remain private. Midnight generates a zero-knowledge proof and publishes only a pseudonymous application reference, policy metadata, eligibility result, and transaction metadata.

After the proof has been indexed and independently verified, the application unlocks an AI scholarship copilot. The AI receives only the verified eligibility result and user-approved, non-sensitive information such as study field, career goal, preferred scholarship type, country, and question. It never receives the student's exact GPA, income, household size, age, witness data, wallet information, or transaction details.

How we built it

We wrote the scholarship eligibility policy as a real Compact smart contract and used Midnight's private witness mechanism to provide applicant values during local proof generation.

The application includes:

  • Real eligible and ineligible Midnight proof flows
  • Private applicant state that is removed immediately after proving
  • Indexed proof read-back before eligibility is accepted
  • A pinned contract address, verifier-key fingerprint, policy ID, and policy version
  • Cryptographically random, session-bound application access
  • A backend that independently validates the Midnight result before allowing an AI request
  • A responsive single-page interface for proof generation and scholarship guidance
  • Gemini 3.5 Flash Lite through SumoPod's OpenAI-compatible API

The private witness structure was informed by Midnight's official ZK Loan example.

Challenges we faced

The most difficult part was ensuring that Midnight was not simply being used as a transaction log. The AI had to be genuinely inaccessible until a real proof was generated, indexed, and verified.

We also needed to prevent someone from copying another applicant's public reference and using it to unlock the AI. We addressed this by binding each verified application reference to the browser session that generated it.

Another challenge was maintaining a strict privacy boundary across the browser, local proof service, public ledger, and external AI provider. We created payload-inspection and security tests to confirm that sensitive scholarship inputs could not reach the model.

Accomplishments that we are proud of

  • Implemented real Compact eligibility circuits instead of mocked proof results
  • Successfully generated both eligible and ineligible Midnight proofs
  • Built a session-bound, fail-closed AI access gate
  • Verified the deployed contract and verifier-key fingerprint
  • Completed a live end-to-end flow from private input to Midnight proof and AI guidance
  • Passed 33 automated contract, privacy, backend, session, payload, and end-to-end tests
  • Confirmed that raw applicant values were absent from proof-server and AI request payloads

What we learned

We learned how Midnight separates private state, local computation, and minimal public state. We also learned an important limitation of zero-knowledge systems: a proof can demonstrate that a calculation was performed correctly over private inputs, but it does not automatically prove that self-entered real-world information is authentic.

This distinction shaped our roadmap toward signed academic and financial credentials.

What's next for ZKScholar AI

The current hackathon version uses self-asserted inputs and a disposable local Midnight network. Future development would include:

  • University-issued signed academic credentials
  • Trusted financial eligibility attestations
  • Wallet-based ownership instead of local session binding
  • Deployment to Midnight Preprod and mainnet
  • Support for multiple scholarship policies
  • Persistent encrypted sessions
  • Selective disclosure of additional verified claims

ZKScholar AI demonstrates how AI services can become useful without requiring users to surrender the sensitive data behind every decision.

Challenges we ran into

Accomplishments that we're proud of

What we learned

What's next for ZKScholar

Built With

Share this project:

Updates

Submission history