A high-performance, secure REST API for generating cryptocurrency wallets across 30+ blockchain networks. Built with Rust for maximum performance and security. A TrustWallet Wallet-Core alternative (trying to be) Please support!!
- 30+ Blockchain Support: Generate wallets for Bitcoin, Ethereum, Solana, Cosmos ecosystem, and many more
- BIP39 Mnemonic Generation: Support for multiple languages (English, Japanese, Korean, Spanish, Chinese, French, Italian, Czech, Portuguese)
- HD Wallet Support: Hierarchical Deterministic wallet generation following BIP32/BIP44 standards
- Symbol-Based API: Simple, intuitive API using currency symbols (BTC, ETH, etc.)
- Multiple Address Formats: Automatic support for chains with multiple address types (e.g., Bitcoin Legacy/SegWit/Taproot)
- High Performance: Built with Rust and Actix-web for blazing-fast response times
- Secure: No private keys are stored; everything is generated on-the-fly
- CORS Enabled: Ready for web application integration
| Symbol | Blockchain | Address Format |
|---|---|---|
| BTC | Bitcoin | Legacy (1...), SegWit (bc1q...), Taproot (bc1p...) |
| ETH | Ethereum | 0x... |
| SOL | Solana | Base58 |
| XRP | Ripple | r... |
| DOGE | Dogecoin | D... |
| ATOM | Cosmos | cosmos1... |
| OSMO | Osmosis | osmo1... |
| JUNO | Juno | juno1... |
| SCRT | Secret Network | secret1... |
| SEI | Sei | sei1... |
| TIA | Celestia | celestia1... |
| INJ | Injective | inj1... |
| XTZ | Tezos | tz1... |
| NEAR | NEAR Protocol | Hex string |
| TRX | TRON | T... |
| SUI | Sui | 0x... |
| AKT | Akash | akash1... |
| FIL | Filecoin | f1... |
- Rust 1.75 or higher
- Cargo
git clone https://github.com/yourusername/multichain-wallet.git
cd multichain-wallet
cargo build --release# Development
cargo run
# Production
./target/release/crypto-wallet-api# Build
docker build -t multichain-wallet .
# Run
docker run -p 8080:8080 multichain-wallethttp://localhost:8080/api/v1
GET /healthResponse:
{
"status": "healthy",
"version": "0.1.0",
"timestamp": 1703123456
}POST /mnemonic/generateRequest:
{
"language": "english",
"word_count": 12
}Response:
{
"mnemonic": "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about",
"language": "english",
"word_count": 12,
"generated_at": 1703123456
}POST /mnemonic/validateRequest:
{
"mnemonic": "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about",
"language": "english"
}Response:
{
"valid": true,
"word_count": 12,
"message": "Valid mnemonic phrase"
}POST /wallet/generateRequest:
{
"mnemonic": "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about",
"passphrase": "",
"index": 0,
"symbol": "ETH"
}Response (Single address for most coins):
{
"address": "0x71C7656EC7ab88b098defB751B7401B5f6d8976F",
"chain_name": "Ethereum",
"chain_symbol": "ETH",
"address_type": "ethereum",
"derivation_path": "m/44'/60'/0'/0/0",
"index": 0,
"public_key": "02b4632d08485ff1df2db55b9dafd23347d1c47a457072a1e87be26896549a8737",
"private_key": "4c0883a69102937d6231471b5dbb6204fe5129617082792ae468d01a3f362318"
}Response (Array for BTC):
[
{
"address": "1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2",
"chain_name": "Bitcoin",
"chain_symbol": "BTC",
"address_type": "bitcoin_legacy",
"derivation_path": "m/44'/0'/0'/0/0",
"index": 0,
"public_key": "...",
"private_key": "..."
},
{
"address": "bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4",
"chain_name": "Bitcoin",
"chain_symbol": "BTC",
"address_type": "bitcoin_segwit",
"derivation_path": "m/84'/0'/0'/0/0",
"index": 0,
"public_key": "...",
"private_key": "..."
},
{
"address": "bc1p5d7rjq7g6rdk2yhzks9smlaqtedr4dekq08ge8ztwac72sfr9rusxg3297",
"chain_name": "Bitcoin",
"chain_symbol": "BTC",
"address_type": "bitcoin_taproot",
"derivation_path": "m/86'/0'/0'/0/0",
"index": 0,
"public_key": "...",
"private_key": "..."
}
]POST /wallet/batchRequest:
{
"mnemonic": "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about",
"passphrase": "",
"start_index": 0,
"count": 5,
"symbols": ["BTC", "ETH", "SOL"]
}GET /languagesGET /wallet/typesEnvironment variables:
# Host and Port
APP_HOST=0.0.0.0
APP_PORT=8080
# Logging
APP_LOG_LEVEL=infosrc/
βββ api/
β βββ handlers.rs # HTTP request handlers
β βββ models.rs # Request/Response models
βββ chains/
β βββ bitcoin.rs # Bitcoin implementation
β βββ ethereum.rs # Ethereum implementation
β βββ cosmos.rs # Cosmos ecosystem
β βββ ... # Other chain implementations
βββ core/
β βββ chain_info.rs # Chain metadata
β βββ traits.rs # Core traits
β βββ types.rs # Core types
βββ services/
β βββ wallet.rs # Wallet generation service
βββ errors.rs # Error handling
βββ config.rs # Configuration
βββ main.rs # Application entry point
- No Storage: Private keys are never stored - they're generated on-demand
- Secure Random: Uses cryptographically secure random number generation
- Standard Compliance: Follows BIP32/BIP39/BIP44 standards
- Memory Safety: Built with Rust for memory safety guarantees
Please see CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests. - will be added soon
This project is licensed under the MIT License - see the LICENSE file for details.
- rust-bitcoin for Bitcoin support
- ed25519-dalek for Ed25519 curves
- bip39 for mnemonic generation
- All the amazing Rust crypto libraries that make this possible
- Create an issue for bug reports or feature requests
- Will keep adding new chains
Made with β€οΈ for the crypto community.