An Open Academic Credentialing Protocol on Solana
FairCredit is a blockchain-based platform that revolutionizes verification of non-traditional academic achievements. Built on Solana, it enables educational providers to issue cryptographically-verified academic credentials as NFTs, transforming intangible achievements into immutable, instantly verifiable digital records.
Transform academic credentialing by providing:
- Instant Verification: One-click verification of academic achievements
- Immutable Records: Blockchain-backed credentials that can't be forged
- Open Access: Anyone can become a provider; trust is decentralized
- Academic Integrity: Supervisor endorsements create verifiable chains of trust
The FairCredit protocol is implemented as a Solana program written in Rust using the Anchor framework:
Program ID: 95asCfd7nbJN5i6REuiuLHj7Wb6DqqAKrhG1tRJ7Dthx
- Hub: Curated registry maintaining accepted providers and courses (optional quality control layer)
- Providers: Educational institutions that create courses and manage credentials
- Courses: Educational programs containing resources, modules, and student enrollments
- Credentials: Blockchain-backed academic achievements linked to courses, endorsed by supervisors
- Resources: Learning materials (lessons, assignments, projects) with Nostr and Walrus storage integration
- Submissions: Student work submitted for grading, stored on-chain with asset references
- Decentralized Course Management: Providers create and manage courses with modular content
- Credential Workflow: Create β Endorse β Approve β Mint NFT
- Academic Endorsements: Supervisor signatures create cryptographic proof of mentorship
- Hub Filtering: Optional curated registry for quality assurance
- NFT Credentials: Metaplex-compatible NFTs for wallet/marketplace integration
- Multi-Storage: Nostr protocol integration and Walrus decentralized storage support
Modern React-based web application providing:
- Wallet Integration: Phantom, Solflare, and other Solana wallets
- Course Discovery: Browse and explore available courses
- Credential Management: Create, track, and verify credentials
- Provider Dashboard: Course creation and student management
- Public Verification: Shareable verification pages for credentials
- Supervisor Endorsement: Email-based workflow for academic supervisor approval
Tech Stack:
- Next.js 16 with React 19
- Solana Web3.js for blockchain interaction
- TailwindCSS + Radix UI for modern, accessible components
- Reown AppKit for wallet connectivity
- Nostr Tools for decentralized content references
- Node.js 18+ and npm/pnpm
- Solana CLI 1.18+
- Anchor 0.31+
- Rust 1.75+
# Clone the repository
git clone https://github.com/yourusername/FairCredit.git
cd FairCredit
# Install dependencies
npm install
cd app && npm install && cd ..npm run validatorThis starts a local Solana validator with Metaplex program cloned for NFT functionality.
# Build and deploy the program
cd anchor && anchor build && anchor deploy && cd ..
# Generate TypeScript client
npm run gen:client
# Run deployment scripts
npm run deploynpm run devAccess the application at: http://localhost:8888
# Run all tests
npm run test
# Anchor smart contract tests
npm run test:anchor
# Frontend integration tests
npm run test:app
# Quick program tests
npm run test:program- Connect Wallet and register as a provider
- Create Course with name, description, and workload requirements
- Add Modules with resources (lessons, assignments)
- Submit for Hub Approval (if using curated registry)
- Publish Course once approved
- Browse Courses and select a program
- Complete Course Work by engaging with resources and submitting assignments
- Create Credential linked to the completed course
- Request Endorsement from academic supervisor
- Await Provider Approval to finalize credential
- Receive NFT minted to your wallet
- Receive Email Link from student
- Review Credential Details and student work
- Connect Wallet and provide cryptographic signature
- Endorsement Recorded on-chain
- Receive Verification Link from credential holder
- View Credential Details including course, provider, and endorsements
- One-Click Verification to check blockchain proof
- Explore on Solana Explorer for full transparency
The Hub is an optional curated registry that maintains quality standards:
- Accepted Providers: Vetted educational institutions
- Accepted Courses: Approved educational programs
- Course Lists: Organized collections for discovery
Providers can operate independently, but Hub acceptance signals quality assurance.
graph LR
A[Create] --> B[Link Activity]
B --> C[Endorse]
C --> D[Approve]
D --> E[Mint NFT]
E --> F[Verified]
- Create: Student initiates credential for a course
- Link Activity: Associate completed work and resources
- Endorse: Academic supervisor provides cryptographic signature
- Approve: Provider confirms credential quality
- Mint NFT: Credential becomes tradeable NFT
- Verified: Publicly verifiable on the blockchain
FairCredit supports multiple storage backends:
- Nostr: Decentralized social protocol for content references
- Walrus: Decentralized storage network for large files
- On-chain: Critical metadata stored directly on Solana
FairCredit/
βββ anchor/ # Solana smart contract
β βββ programs/
β βββ fair-credit/ # Main program code
β βββ src/
β β βββ lib.rs # Program entry point
β β βββ state/ # Account structures
β β βββ handlers/ # Instruction handlers
β β βββ types/ # Custom types
β β βββ events.rs # On-chain events
β βββ Cargo.toml
βββ app/ # Next.js frontend
β βββ app/ # App router pages
β βββ components/ # React components
β βββ lib/
β β βββ solana/ # Solana integration
β β βββ generated/ # Auto-generated from IDL
β β βββ config.ts # Network configuration
β βββ hooks/ # React hooks
β βββ tests/ # Playwright tests
βββ scripts/ # Deployment and utility scripts
β βββ deploy/ # Deployment automation
β βββ utils/ # Helper functions
βββ docs/ # Documentation
βββ FairCredit_PRD.txt # Product Requirements
βββ DEPLOYMENT.md # Deployment guide
# In anchor/ directory
anchor build
# Generate TypeScript client from IDL
npm run gen:clientThe TypeScript client is auto-generated using Codama from the Anchor IDL.
cd app
npm run devThe frontend automatically copies the latest IDL before building (predev script).
- Update Smart Contract in
anchor/programs/fair-credit/src/ - Rebuild Program with
anchor build - Regenerate Client with
npm run gen:client - Update Frontend in
app/using new types and instructions - Write Tests in
app/tests/andanchor/tests/
See DEPLOYMENT.md for detailed local setup.
-
Build optimized program:
cd anchor && anchor build --verifiable
-
Deploy to devnet/mainnet:
anchor deploy --provider.cluster devnet
-
Update program ID in:
anchor/programs/fair-credit/src/lib.rs(declare_id!)app/lib/solana/config.ts
-
Deploy frontend (configured for Netlify):
cd app && npm run build netlify deploy --prod
-
Smart Contract Core: All major instructions implemented
- Provider registration and management
- Course creation with modules and resources
- Credential workflow (create, endorse, approve, mint)
- Hub-based curation system
- Submission and grading system
- Nostr and Walrus storage integration
-
Frontend Foundation:
- Wallet connectivity with multiple providers
- Course browsing and discovery
- Credential creation and management
- Provider dashboard
- Supervisor endorsement workflow
- Public verification pages
-
Infrastructure:
- Automated deployment scripts
- TypeScript client generation from IDL
- Comprehensive test suite
- Local development environment
- NFT Minting: Metaplex integration for credential NFTs
- Enhanced UI/UX: Polish and mobile responsiveness
- Analytics: Usage tracking and metrics
- Search: Advanced course and credential discovery
See FairCredit_PRD.txt for the full product roadmap, including:
- Phase 1: MVP Foundation (mostly complete)
- Phase 2: Enhanced User Experience
- Phase 3: Platform Expansion
- Phase 4: Ecosystem Extension
Contributions are welcome! 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
- Follow Rust conventions for smart contract code
- Use TypeScript strict mode for frontend
- Write tests for new features
- Update documentation as needed
ISC License - see package.json for details
- Solana: https://solana.com
- Anchor Framework: https://anchor-lang.com
- Next.js: https://nextjs.org
- Metaplex: https://metaplex.com
- Nostr: https://nostr.com
- Walrus: https://walrus.site
- Product Requirements Document - Complete product vision and roadmap
- Deployment Guide - Deployment procedures and configuration
- Implementation Logs - Development progress logs (dated archives)
- Course-Credential NFT Plan - NFT integration architecture
- Content Storage Architecture - Multi-storage backend design
- Testing Guide - Testing procedures and best practices
For questions or support, please open an issue on GitHub.
Building the future of academic credentialing, one block at a time. πβοΈ