Self-Hosted Multi-Chain Wallet Platform
Self-host your own wallet infrastructure. Manage multi-chain addresses, detect deposits, and process withdrawals with full control of your keys.
π Documentation Β· π Report Bug
Try the demo at: https://swappy.tokyo/
π‘ Use the "Try Demo" button to explore all features without registration!
| Feature | Description |
|---|---|
| π° Dashboard | Real-time portfolio overview with live market prices |
| π₯ Deposit Flow | Generate deposit addresses for multiple chains |
| π€ Withdrawal | Experience withdrawal request workflow |
| π History | View transaction history |
| βοΈ Settings | Explore user preferences and profile management |
| User Type | Use Case |
|---|---|
| Privacy-Conscious Users | Full control over your keys and funds without third-party custody |
| Power Users | Manage assets across Many chains from a single, self-hosted dashboard |
| Self-Hosters | Run your own wallet infrastructure with complete data sovereignty |
| Developers | Build on top of a modern, open-source wallet platform |
- π Third-Party Trust: Trusting exchanges with your crypto β Self-custody with your own server
- π΅οΈ Privacy Concerns: Exchanges track your transactions β Your data stays on your server
- π Multi-Chain Complexity: Managing wallets across chains is fragmented β Unified interface for Many chains
- π Auditability: Closed-source wallets are black boxes β Fully open-source, verify every line of code
This project is currently in BETA. Core functionality is working, with some features under development:
β Multi-Chain Wallet Management: Generate and manage addresses across 5 blockchains πΆ Wallet Setup (BIP39): HD wallet creation with mnemonic phrase generation - UNDER ACTIVE DEVELOPMENT πΆ Deposit Detection: Real-time blockchain RPC scanning for instant deposit detection - UNDER ACTIVE DEVELOPMENT πΆ Withdrawal Processing: Automatic transaction signing and broadcasting to blockchain - UNDER ACTIVE DEVELOPMENT β Price Display: Real-time crypto prices via CoinGecko API
πΆ Webhook Integration: Additional notification methods (email, SMS) in progress
The following features are currently under active development and adjustment:
πΆ Wallet Setup (BIP39 HD Wallets): User-specific HD wallet creation with BIP39 mnemonic phrases
- Security enhancements are being implemented
- May undergo significant changes
- Use with caution in production environments
πΆ Deposit Detection: Blockchain monitoring and automatic deposit processing
- Currently being refined for better reliability
- Some edge cases may still exist
- Report any issues immediately
πΆ Withdrawal Processing: Automatic transaction signing and blockchain broadcasting
- Currently under active development and testing
- Security and reliability improvements in progress
- Use with extreme caution in production environments
This is infrastructure software. We recommend testing with small amounts first. For production use, please conduct your own security audit.
π See Beta Limitations & Roadmap for full details.
This software is provided "AS IS" without warranty. See LICENSE for details.
Self-custody for personal use: Using this software to manage your own cryptocurrency is generally not a regulated activity. You're simply managing your own assets.
Operating a service for others: If you use this software to provide custodial services for other users (holding their funds), this becomes a regulated activity in most jurisdictions.
Usage Type Regulatory Status Personal wallet (self-custody) Generally unregulated Multi-user service (custodial) Typically requires licensing
- Self-Custody: When using for personal purposes, ensure you understand the risks of managing your own keys
- Commercial Use: If operating as a service for others, consult legal professionals regarding licensing requirements
- No Legal Advice: This notice does not constitute legal advice
By using this software, you acknowledge that you are responsible for understanding and complying with applicable laws in your jurisdiction.
| Status | Feature | Description |
|---|---|---|
| β | Multi-Chain Support | Ethereum, Bitcoin, XRP, TRON, Cardano |
| β | HD Wallet Architecture | BIP-32/39/44 compliant key derivation |
| πΆ | Wallet Setup (BIP39) | User-specific HD wallet creation with mnemonic phrase - Under Development |
| πΆ | Real-time Deposit Detection | Blockchain RPC scanning for instant deposit detection - Under Refinement |
| πΆ | Automated Withdrawal Processing | Automatic transaction signing and broadcasting - Under Development |
| β | Price Display | Real-time crypto prices via CoinGecko API |
| β | Self-Hostable | Deploy on your own server with Docker or 1-click deploy |
| β | Personal Dashboard | Manage your wallets, transactions, and settings |
| β | i18n Support | English & Japanese (extensible) |
| β | Demo Mode | Try all features without registration |
| πΆ | Webhook Integration | Additional notification methods (email, SMS) in progress |
| π² | Advanced Trading | Limit orders, charts (planned) |
| π² | 2FA Authentication | Coming in future release |
Legend: β Available | πΆ In Progress | π² Planned
β οΈ Note: Features marked with πΆ are under active development. See Beta Software Notice above for details.
π Multi-Chain Support
- Ethereum (ETH + ERC-20 tokens like USDT)
- Bitcoin (BTC)
- XRP (Ripple)
- TRON (TRX + TRC-20 tokens)
- Cardano (ADA)
π HD Wallet Architecture
- Hierarchical Deterministic wallets (BIP-32/39/44)
- Single master key β unlimited addresses
- Secure key management with wallet roots
π Deposit Detection
- Tatum API integration for blockchain monitoring
- Webhook-based instant notifications
- Multi-asset support per address
π Self-Hostable
- Deploy anywhere: Docker, VPS, or cloud platforms
- Environment variable based configuration
- 1-click deploy options (Cloudflare Pages, Vercel, Netlify)
- Full control over your data and infrastructure
π‘οΈ Security Features
- Role-based access control (Admin/Moderator/User)
- Supabase Row Level Security (RLS)
- Comprehensive audit logging
- API key management
| Category | Technologies |
|---|---|
| Frontend | React 18, TypeScript 5, Vite, Tailwind CSS |
| UI Components | shadcn/ui, Radix UI, Lucide Icons |
| State Management | TanStack Query, React Context |
| Backend | Supabase (PostgreSQL, Auth, Edge Functions) |
| Blockchain APIs | Tatum, Alchemy, TronGrid, Blockfrost |
| Deployment | Cloudflare Pages, Supabase Cloud |
- Node.js 18+
- Docker Desktop (for local Supabase)
- Supabase CLI
git clone https://github.com/Sou0327/swappy.git
cd swappy
npm installnpx supabase start
npx supabase db push --localcp .env.example .envEdit .env with your API keys:
VITE_SUPABASE_URL=http://127.0.0.1:54321
VITE_SUPABASE_PUBLISHABLE_KEY=your_anon_key
# Blockchain APIs (get from providers)
VITE_ALCHEMY_API_KEY=your_alchemy_key
TATUM_API_KEY=your_tatum_key
# Branding (optional)
VITE_APP_NAME="Your Exchange Name"npm run devOpen http://localhost:8080 π
π· See it in action! Try the Live Demo to explore the full UI.
src/
βββ components/ # Reusable UI components
β βββ ui/ # shadcn/ui components
βββ config/
β βββ branding.ts # White-label branding config
βββ contexts/ # React Context providers
βββ hooks/ # Custom React hooks
βββ integrations/ # External service integrations
β βββ supabase/ # Supabase client & types
βββ lib/ # Utilities & blockchain detection
βββ pages/ # Route components
βββ App.tsx # Main application
supabase/
βββ functions/ # Edge Functions (webhooks, allocator)
βββ migrations/ # Database migrations
βββ config.toml # Supabase configuration
Edit src/config/branding.ts or use environment variables:
VITE_APP_NAME="My Wallet"
VITE_APP_TAGLINE="Your tagline here"
VITE_APP_DOMAIN="mywallet.example.com"
VITE_APP_TWITTER="your_twitter"Configure chains in the settings dashboard at /admin/chain-configs.
| Version | Status | Features |
|---|---|---|
| v0.1.0-beta | β Current | Multi-chain wallet management, deposits, personal dashboard |
| v0.2.0 | π² Planned | Complete deposit detection system |
| v0.3.0 | π² Planned | Automated withdrawal processing |
| v0.4.0 | π² Planned | Portfolio analytics and insights |
| v1.0.0 | π² Future | Production-ready release |
If you discover a security vulnerability, please do not open a public issue.
Report via GitHub Security Advisories:
We will acknowledge receipt within 48 hours and provide a detailed response within 7 days.
When deploying this software:
- β Use environment variables for all secrets
- β Enable Supabase Row Level Security (RLS)
- β Rotate API keys regularly
- β Conduct security audits before production use
- β Keep dependencies updated
Contributions are welcome! Please read CONTRIBUTING.md before getting started.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
| Role | Contact |
|---|---|
| Lead Maintainer | @Sou0327 |
| Issues | GitHub Issues |
| Discussions | GitHub Discussions |
- π Documentation: Check the docs/ directory
- π¬ Questions: Open a Discussion
- π Bug Reports: File an Issue
- π Security: See Security section above
If you find this project useful, please consider:
- β Starring the repository
- π Reporting bugs and issues
- π‘ Suggesting new features
- π€ Contributing code
Built with β€οΈ by the Swappy Team