Skip to content

arkano1dev/brc20kit1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

BRC-20 Kit

BRC-20 Kit Logo

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


πŸš€ Quick Start

Deploy your own BRC-20 minting portal in just 10 minutes:

πŸ“– Getting Started Guide β†’

Quick Deploy

  1. Fork this repository on GitHub
  2. Get Unisat API token from open-api.unisat.io (takes 2 minutes)
  3. Deploy to Vercel - Click the button below
  4. Add environment variables (see Configuration below)
  5. Done! Your portal is live

Deploy with Vercel

Need help? See the 10-minute getting started guide for step-by-step instructions.


✨ Key Features

🎨 White-Label Configuration System

Easily configure your mint portal via environment variables:

```bash

Token Defaults (pre-fill mint form)

NEXT_PUBLIC_DEFAULT_TICKER=MYTOKEN NEXT_PUBLIC_DEFAULT_AMOUNT=1000 NEXT_PUBLIC_DEFAULT_NUM_MINTS=1 NEXT_PUBLIC_DEFAULT_FEE_RATE=10

Platform Fees (optional)

NEXT_PUBLIC_COMMISSION_WALLET_ADDRESS=bc1your_address NEXT_PUBLIC_COMMISSION_AMOUNT_BTC=0.00000330 # 330 sats

Branding (optional)

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)

πŸ”Œ Universal Wallet Support

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

⛓️ Chained PSBT Minting (1-25 Tokens)

  • Sequential transaction signing with progress tracking
  • Automatic fee calculation for entire chain
  • Error recovery and state management
  • Dust threshold handling (330 sats minimum)

πŸ’° Dynamic Fee Estimation

  • Real-time fee rates from mempool.space
  • Three speed tiers: Slow, Medium, Fast
  • Custom fee rate support
  • Network congestion indicators

βœ… UTXO Validation

  • Pending transaction detection
  • Balance verification including commission
  • Available vs locked UTXO categorization
  • Real-time mempool monitoring

πŸ“š Comprehensive Documentation

  • Technical PSBT construction guide
  • Wallet SDK compatibility matrix
  • Complete project status tracking
  • Architecture documentation

βš™οΈ Configuration

Required Variables

πŸ”΄ 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.

Optional: Platform Fees

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.

Optional: Branding

```env NEXT_PUBLIC_PROJECT_NAME=YourProjectName NEXT_PUBLIC_LOGO_URL=/logo.svg ```

Complete Reference: See docs/CONFIGURATION.md for all configuration options.


πŸ—οΈ How It Works

  • 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.


πŸ“– Documentation

Getting Started

For Developers






🀝 Contributing & Community

We welcome contributions! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.

Get Involved

  • ⭐ 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

Quick Links

How to Contribute

  1. Fork this repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Commit (git commit -m 'Add amazing feature')
  5. Push (git push origin feature/amazing-feature)
  6. Open a Pull Request

See CONTRIBUTING.md for detailed guidelines.


πŸ”’ Security

Security Features Implemented

βœ… 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

Best Practices for Users

  • 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

Reporting Security Vulnerabilities

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.


πŸ“„ License

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.


πŸ’¬ Support

Get Help

Commercial Support

For white-label deployments, custom integrations, or priority support:


πŸ™ Acknowledgments

Built with excellent open source tools:

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

About

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors