The Universal BRC-20 Developer Kit
The forkable SDK for building and minting your BRC-20 tokens.
Version: 1.0.0
Status: Production Ready
Last Updated: January 2025
Website: brc20kit.com
A Bitcoin-native application for minting BRC-20 tokens using advanced chained PSBT technology. Built with Next.js 16, supporting 6+ Bitcoin wallets, enabling 1-25 token mints in a single optimized flow with configurable white-label platform fees.
100% Client-Side β’ Zero Backend Required β’ Fork & Deploy in Minutes
Deploy your own BRC-20 minting portal in just 10 minutes:
π Getting Started Guide β
- Fork this repository on GitHub
- Get Unisat API token from open-api.unisat.io (takes 2 minutes)
- Deploy to Vercel - Click the button below
- Add environment variables (see Configuration below)
- Done! Your portal is live
Need help? See the 10-minute getting started guide for step-by-step instructions.
Easily configure your mint portal via environment variables:
```bash
NEXT_PUBLIC_DEFAULT_TICKER=MYTOKEN NEXT_PUBLIC_DEFAULT_AMOUNT=1000 NEXT_PUBLIC_DEFAULT_NUM_MINTS=1 NEXT_PUBLIC_DEFAULT_FEE_RATE=10
NEXT_PUBLIC_COMMISSION_WALLET_ADDRESS=bc1your_address NEXT_PUBLIC_COMMISSION_AMOUNT_BTC=0.00000330 # 330 sats
NEXT_PUBLIC_LOGO_URL=/logo.svg NEXT_PUBLIC_PROJECT_NAME=YourProject ```
Transaction Structure:
- First Mint: OP_RETURN + Commission (optional) + Change (3 outputs)
- Chained Mints: OP_RETURN + Change (2 outputs, no commission)
Integrated via LaserEyes for seamless multi-wallet support:
- β Unisat Wallet - Popular Bitcoin wallet with full BRC-20 support
- β Xverse Wallet - Taproot-native wallet with Stacks integration
- β OKX Wallet - Multi-chain wallet from OKX exchange
- β Phantom Wallet - Multi-chain wallet with Bitcoin support
- β Magic Eden Wallet - NFT marketplace wallet
- β Leather Wallet - Bitcoin and Stacks wallet
- Sequential transaction signing with progress tracking
- Automatic fee calculation for entire chain
- Error recovery and state management
- Dust threshold handling (330 sats minimum)
- Real-time fee rates from mempool.space
- Three speed tiers: Slow, Medium, Fast
- Custom fee rate support
- Network congestion indicators
- Pending transaction detection
- Balance verification including commission
- Available vs locked UTXO categorization
- Real-time mempool monitoring
- Technical PSBT construction guide
- Wallet SDK compatibility matrix
- Complete project status tracking
- Architecture documentation
π΄ Unisat API Token (CRITICAL - Required for minting to work)
Get your free token from https://open-api.unisat.io
```env UNISAT_API_TOKEN=your_token_here ```
Why needed: All UTXO and balance queries use Unisat API. Without this, minting won't work.
Token Settings (Required):
```env NEXT_PUBLIC_NETWORK=mainnet NEXT_PUBLIC_DEFAULT_TICKER=ANY NEXT_PUBLIC_DEFAULT_AMOUNT=1 ```
Note: Users cannot change ticker or amount in the UI. These are hardcoded from environment variables.
Collect a small fee on the first mint of each chain:
```env NEXT_PUBLIC_COMMISSION_WALLET_ADDRESS=bc1q... NEXT_PUBLIC_COMMISSION_AMOUNT_BTC=0.00000330 # 330 sats recommended ```
Note: Commission is only charged once per minting session (on the first transaction). Subsequent mints in the chain are commission-free for users.
```env NEXT_PUBLIC_PROJECT_NAME=YourProjectName NEXT_PUBLIC_LOGO_URL=/logo.svg ```
Complete Reference: See docs/CONFIGURATION.md for all configuration options.
- 100% Client-Side - All PSBT construction happens in your browser
- No Backend Required - Your keys never leave your wallet
- Universal Wallet Support - Works with 6+ Bitcoin wallets via LaserEyes SDK
- Chained Minting - Create 1-25 linked transactions in a single flow
For technical details, see docs/advanced/ documentation.
- π Getting Started in 10 Minutes - Step-by-step deployment guide
- βοΈ Configuration Guide - Complete environment variables reference
- β FAQ - Common questions and troubleshooting
- NEXT_STEPS.md - Advanced customization and development
- docs/advanced/ - Technical documentation (PSBT flow, architecture, etc.)
We welcome contributions! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.
- β Star us on GitHub - Help others discover this project
- π Report bugs - Open an Issue
- π¬ Join discussions - GitHub Discussions
- π Submit PRs - Fork, make changes, and open a Pull Request
- π Improve docs - Help make documentation clearer
- GitHub: github.com/The-Universal-BRC-20-Extension/brc20kit
- Issues: Report a Bug
- Discussions: Join the Discussion
- Website: brc20kit.com
- Fork this repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Commit (
git commit -m 'Add amazing feature') - Push (
git push origin feature/amazing-feature) - Open a Pull Request
See CONTRIBUTING.md for detailed guidelines.
β
Client-side only (no server-side private key handling)
β
PSBT validation before signing
β
Fee sanity checks (prevents excessive fees)
β
Dust threshold enforcement (330 sats minimum)
β
Commission address validation
β
Transaction chain consistency validation
β
Input validation and sanitization
- Always verify transaction details before signing
- Use hardware wallets for large amounts
- Double-check commission address in configuration
- Keep private keys secure - never share or store unencrypted
Do not open public GitHub issues for security vulnerabilities.
Instead, please email: arkano1dev@proton.me
We will respond promptly and work with you to address the issue.
See SECURITY.md for our complete security policy.
MIT License - see LICENSE file for details.
This means you can:
- β Use commercially
- β Modify
- β Distribute
- β Use privately
Just include the original license and copyright notice.
- π Documentation: Getting Started Guide
- β FAQ: Common Questions
- π Report Bug: GitHub Issues
- π¬ Discussions: GitHub Discussions
For white-label deployments, custom integrations, or priority support:
- Email: arkano1dev@proton.me
- Website: brc20kit.com
Built with excellent open source tools:
- Next.js - React framework
- LaserEyes - Universal Bitcoin wallet SDK
- bitcoinjs-lib - Bitcoin transaction library
- shadcn/ui - Beautiful UI components
- mempool.space - Bitcoin explorer and API
- Tailwind CSS - Utility-first CSS framework
Special thanks to the Bitcoin and Ordinals communities for their pioneering work.
Ready to launch your own BRC-20 mint portal?
π Get Started in 10 Minutes β
β Star us on GitHub | π Report Issues | π¬ Join Discussions
GitHub β’ Issues β’ Discussions
Built with β‘ by Arkano1dev