[Pilot Proposal] Hispania.io — Private governance + Web2 onboarding

(Seeking architectural feedback)

TL;DR

Spanish-speaking community (live, invite-only) wants to pilot:

  • Private membership (prove User ∈ Set without revealing User)
  • Private voting (individual votes hidden, tally verifiable)
  • Web2 onboarding (OAuth entry, no seed phrases initially)
  • Auditable treasury (selective disclosure for compliance)

No token sale. No grant dependency. Real users ready to pilot.


The Problem We’re Solving

We call it the Privacy-Auditability Trilemma for community governance:

Requirement What we need
Invisible onboarding Users authenticate via OAuth. Custodial abstraction so they never handle keys initially.
Private membership Prove membership without revealing identity. Nullifier-style to prevent double-voting.
Selective disclosure Unlike Monero-style privacy: auditors can verify treasury solvency without exposing individual balances.

Midnight’s “compliance + privacy” positioning is exactly why we’re here.


Current State

  • Phase: Founder-led, invite-only (alpha ~3 weeks)
  • Stack: Discourse forum, no on-chain component yet
  • Goal: Progressive decentralization with verifiable governance
  • Not doing: Token sale, grant-driven growth

Whitepaper (Spanish): [link upon request]


Technical Questions (honest about our limits)

We understand the problem space but lack deep Compact/ZK implementation
experience. Seeking guidance on:

  1. Auth bridge: Patterns for mapping OAuth identity to Midnight
    interactions? Trusted relayer? MPC? Embedded wallet with export path?

  2. Set membership: Does Compact have primitives for merkle-based
    membership proofs, or do we build from scratch?

  3. Voting mechanism: For private votes + public tally, is the
    current approach ZK-SNARK based tallying, or is there HE support?

  4. Treasury with View Keys: Can we implement spending constraints
    where the constraint logic is private but auditors hold disclosure keys?

  5. Migration path: If users start custodial and later want self-custody
    (Lace), what’s the cleanest pattern to preserve their membership proof?


What We Offer

  • Real community with real governance needs (not speculative)
  • Willingness to be a public pilot/case study
  • Spanish-language documentation and tutorials for Midnight
  • Feedback loop from non-crypto users (UX stress test)

Call to Action

If you’re building governance or identity primitives on Midnight
(including Fund15 projects like Veil Protocol or Modular Governance Toolkit),
we offer an active user base to pilot with.

Contact: MP
Language: English or Spanish

2 Likes

Hi Santiago, I’m part of the OpenZeppelin Midnight team. We’re creating secure Compact contracts and developer tooling for the Midnight ecosystem.

  1. I don’t have an answer for this. I would need more context and technical background info.

  2. Yes, Compact has a built-in MerkleTree primitive with APIs that allow you prove membership on some data.

  3. In theory, one could implement a Pederson commitment scheme in Compact and use its additively homomorphic properties for private votes with a public tally. We have not explored this approach.

I’m not sure what you mean by ZK-SNARK based tallying.

  1. / 5. Need more info