Don't trust, verify. Open-source registry and verification system for Cardano smart contracts.
UPLC Link is an open-source platform that enables developers and users to verify Cardano smart contracts against their source code. Similar to Etherscan's verification for Ethereum, UPLC Link provides transparency and trust in the Cardano ecosystem.
- β Source Code Verification - Build and verify Aiken smart contracts directly from Git repositories
- π Public Registry - Search and explore verified contracts with full source code
- π On-Chain Registration - Submit verified contracts to the blockchain using metadata label 1984
- π Browser-Based - No installation required, verify contracts in your browser
- π Open Source - Fully transparent, community-driven development
- Go to uplc.link
- Enter the GitHub repository URL and commit hash
- Select the Aiken compiler version
- Click "Verify" to build and compare hashes
- (Optional) Register verified contracts to the public registry
# Search for verified contracts
curl "https://api.uplc.link/api/v1/scripts/search?urlPattern=sundae-labs"
# Get scripts by hash
curl "https://api.uplc.link/api/v1/scripts/by-hash/{scriptHash}"
# Check verification status
curl "https://api.uplc.link/api/v1/verification-requests?sourceUrl=https://github.com/org/repo&commit=abc123"π Full API documentation: https://api.uplc.link/swagger-ui.html
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β UPLC Link Platform β
ββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββ€
β β β
β Frontend β Backend β
β (Next.js 15) β (Spring Boot 3) β
β β β
β - Browser UI β - REST API β
β - Wallet Connect β - Contract Registry β
β - TX Builder β - Blockchain Listener β
β β - PostgreSQL Database β
β β β
ββββββββββββββββββββββ΄ββββββββββββ¬ββββββββββββββββββββββββββββββ
β
βββββββββββββ΄ββββββββββββ
β Cardano Blockchain β
β (Metadata Label 1984)β
βββββββββββββββββββββββββ
Frontend:
- Next.js 15 (App Router)
- React 18
- TailwindCSS
- MeshSDK (Cardano wallet integration)
- Aiken WASM (browser-based compilation)
Backend:
- Spring Boot 3.3
- Java 21
- PostgreSQL
- Yaci Store (Cardano indexer)
- Bloxbean Cardano Client
Blockchain:
- Cardano Mainnet
- Metadata label 1984 for verification requests
uplc-scan/
βββ src/
β βββ frontend/ # Next.js frontend application
β β βββ app/ # Next.js app router pages
β β βββ components/ # React components
β β βββ lib/ # Utilities and hooks
β β βββ public/ # Static assets
β β
β βββ backend/ # Spring Boot backend API
β βββ src/main/ # Java source code
β βββ build.gradle # Gradle build configuration
β βββ Dockerfile # Backend container image
β
βββ README.md # This file
βββ LICENSE # Apache 2.0 license
- Node.js 20+ (for frontend)
- Java 21+ (for backend)
- PostgreSQL 14+ (for backend database)
- Docker (optional, for containerized deployment)
cd src/frontend
npm install
npm run dev
# Visit http://localhost:3000See frontend/README.md for detailed setup.
cd src/backend
./gradlew bootRun
# API available at http://localhost:8080See backend/README.md for detailed setup.
- User Guide - How to verify and register contracts
- API Reference - REST API documentation
- Frontend README - Frontend development guide
- Backend README - Backend development guide
- Architecture - Detailed system architecture
- Deployment Guide - Production deployment
We welcome contributions! Whether it's:
- π Bug reports
- π‘ Feature requests
- π Documentation improvements
- π§ Code contributions
Please open an issue or pull request on GitHub.
- 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
- User Input: Provide Git repo URL, commit hash, and Aiken version
- Clone & Build: Frontend clones the repo and builds with Aiken (WASM)
- Hash Comparison: Compare built script hashes with on-chain hashes
- Result: Display verification status for each validator
- Connect Wallet: Use a Cardano wallet (Eternl, Nami, Flint)
- Build Transaction: Create transaction with metadata label 1984
- Sign & Submit: Sign with wallet and submit to blockchain
- Backend Processing: Backend detects transaction and indexes the verification
- Search by URL pattern (e.g., "sundae-labs")
- Query by script hash or Cardano address
- View source code and verification details
- Track all validators from a project
- Protocol Transparency: Prove your smart contracts match published source code
- Security Audits: Verify contracts before interacting with them
- Developer Trust: Build confidence in the Cardano ecosystem
- Regulatory Compliance: Demonstrate code provenance
EASY1 Stake Pool - Supporting Cardano decentralization
- @nemo83 - Primary maintainer
- @cryptojoe101 - Project lead
- Aiken - Smart contract language
- Cardano - Blockchain platform
- MeshSDK - Cardano wallet integration
- Yaci - Cardano indexer
Made with β€οΈ for the Cardano community β’ Built with Claude
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- Website: uplc.link
- API: api.uplc.link
- GitHub: easy1staking-com/plutus-scan
- Twitter: @cryptojoe101
β Star this repository if you find it useful!
π’ Share with the community to help build transparency in Cardano!