A decentralized professional credential verification platform built on Stellar Soroban smart contracts, using Federated Byzantine Agreement (FBA) trust slices to audit engineering licenses and degrees across borders.
Engineering certifications vary by country, making it difficult for international firms to verify credentials quickly and reliably. QuorumProof replaces fragmented government portals with a trustless, privacy-preserving audit layer — powered by the same consensus model that underlies Stellar itself.
QuorumProof lets engineers build a Quorum Slice — a personal trust network made up of:
- 🎓 Their University (degree attestation)
- 🏛️ A National Engineering Society (license validation)
- 🏢 Previous Employers (professional history)
Each node in the slice co-signs a Soulbound Token (SBT) on Stellar, creating a tamper-proof, portable credential that any firm can verify instantly — without contacting each institution individually.
This applies the Stellar whitepaper's "individual trust decisions" model to a high-stakes professional use case.
- Audit Slices: Define your own quorum of trusted attestors (university, licensing body, employers)
- Soulbound Tokens (SBTs): Non-transferable on-chain credentials tied to your Stellar identity
- Conditional Verification: Firms verify specific claims (e.g. "has a Mechanical Engineering degree") without accessing full transcripts — powered by Zero-Knowledge proofs on Soroban
- Cross-Border Ready: Instant verification for international hiring, no embassy letters or notarizations
- Privacy-First: Credential holders control what is revealed and to whom
- Trustless: No central registry — verification is enforced by smart contract logic
- Rust (1.70+)
- Soroban CLI
- Stellar CLI
./scripts/build.sh./scripts/test.shCopy the example environment file:
cp .env.example .envConfigure your environment variables in .env:
# Network configuration
STELLAR_NETWORK=testnet
STELLAR_RPC_URL=https://soroban-testnet.stellar.org
# Contract addresses (after deployment)
CONTRACT_QUORUM_PROOF=<your-contract-id>
CONTRACT_SBT_REGISTRY=<your-contract-id>
CONTRACT_ZK_VERIFIER=<your-contract-id>
# Frontend configuration
VITE_STELLAR_NETWORK=testnet
VITE_STELLAR_RPC_URL=https://soroban-testnet.stellar.orgNetwork configurations are defined in environments.toml:
testnet— Stellar testnetmainnet— Stellar mainnetfuturenet— Stellar futurenetstandalone— Local development
# Configure your testnet identity first
stellar keys generate deployer --network testnet
# Deploy
./scripts/deploy_testnet.shFollow the step-by-step guide in demo/demo-script.md
issue_credential(subject, credential_type, metadata_hash) -> u64
get_credential(credential_id) -> Credential
revoke_credential(credential_id)create_slice(attestors: Vec<Address>, threshold: u32) -> u64
get_slice(slice_id) -> QuorumSlice
add_attestor(slice_id, attestor)attest(credential_id, slice_id)
is_attested(credential_id) -> bool
get_attestors(credential_id) -> Vec<Address>verify_claim(credential_id, claim_type, proof) -> bool
generate_proof_request(credential_id, claim_type) -> ProofRequestComprehensive test suite covering:
- ✅ Credential issuance and revocation
- ✅ Quorum slice creation and attestor management
- ✅ Multi-party attestation flow
- ✅ ZK conditional verification
- ✅ SBT non-transferability enforcement
- ✅ Error handling and edge cases
Run tests:
cargo testThe Problem: A Mechanical Engineer licensed in Brazil applying for a role in Germany faces weeks of manual credential verification across institutions, embassies, and licensing bodies.
The Solution: QuorumProof collapses that process to a single on-chain query — verified in seconds, privacy-preserving by design.
Blockchain Benefits:
- No trusted central registry to corrupt or go offline
- Transparent attestation history, auditable by any party
- Programmable verification rules enforced by smart contracts
- Accessible to any engineer with a Stellar wallet
Target Users:
- International engineering firms hiring across borders
- Engineers seeking global mobility
- Universities and licensing bodies issuing verifiable credentials
- Governments modernizing professional certification infrastructure
- v1.0 (Current): Core SBT issuance, quorum slice model, multi-attestor signing
- v1.1: ZK conditional verification (claim-specific proofs)
- v2.0: Revocation registry, credential expiry, renewal flows
- v3.0: Frontend UI with Stellar wallet integration
- v4.0: Mobile app, integration with national licensing APIs
See docs/roadmap.md for details.
We welcome contributions! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
See our Code of Conduct and Contributing Guidelines.
This project participates in Drips Wave — a contributor funding program! Check out:
- Wave Contributor Guide — How to earn funding for contributions
- Wave-Ready Issues — Funded issues ready to tackle
- GitHub Issues labeled
wave-ready— Earn 100–200 points per issue
Issues are categorized as:
trivial(100 points) — Documentation, simple tests, minor fixesmedium(150 points) — Helper functions, validation logic, moderate featureshigh(200 points) — Core features, ZK integrations, security enhancements
This project is licensed under the MIT License — see the LICENSE file for details.
- Stellar Development Foundation for Soroban
- The Stellar whitepaper for the FBA trust model that inspired this design
- Drips Wave for supporting public goods funding