A web application that generates professional, printable certificates of authenticity for NFTs. Simply enter your blockchain network, contract address, and token ID to create a beautiful certificate with blockchain verification.
- 🎨 Professional Design: Clean, print-ready certificate layout
- 🔗 Multi-Chain Support: Ethereum, Polygon, BSC, Arbitrum, Optimism, Avalanche, Base
- 📱 Responsive Design: Works on desktop and mobile devices
- 🖨️ Print Optimized: High-quality PDF generation for printing
- 🔍 Blockchain Verification: QR codes linking to block explorers
- 🚀 No Registration: Free to use, no account required
- 📊 Complete Metadata: Displays all NFT attributes and information
Visit the live application at: https://jamesmorgan.github.io/nft-coa/
- Select Network: Choose from supported EVM-compatible blockchains
- Enter Details: Input your NFT contract address and token ID
- Generate: Click to create your certificate
- Download/Print: Save as PDF or print directly
- Ethereum Mainnet
- Polygon
- BSC (Binance Smart Chain)
- Arbitrum One
- Optimism
- Avalanche
- Base
- Custom RPC endpoints
- Frontend: React 18 + TypeScript
- Styling: Tailwind CSS
- Blockchain: ethers.js v6
- RPC Providers: Infura (primary), Alchemy (fallback), Public endpoints
- PDF Generation: jsPDF
- QR Codes: qrcode.js
- Deployment: GitHub Pages
- Node.js 18+
- npm or yarn
# Clone the repository
git clone https://github.com/jamesmorgan/nft-coa.git
cd nft-coa
# Install dependencies
npm install
# Start development server
npm run devFor better performance and higher rate limits, you can add your own API keys:
- Create a
.env.localfile in the project root - Add your API keys:
# Infura API Key (recommended)
VITE_INFURA_API_KEY=your_infura_api_key_here
The app will automatically use these keys if available, otherwise it falls back to public endpoints.
### Build
```bash
# Build for production
npm run build
# Preview production build
npm run previewContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Vite
- UI components with Tailwind CSS
- Blockchain integration with ethers.js
- Icons by Lucide
If you encounter any issues or have questions, please open an issue on GitHub.