Wallet-as-a-Service
Build production-ready cryptocurrency wallets for your users across 8 blockchain networks - from Bitcoin to Solana - without managing the complexity of blockchain infrastructure.
Why Rach Wallet Service?
Multi-Network Support
Support Bitcoin, Ethereum, BSC, Polygon, Tron, Solana, and more with a single API. Your users get addresses across all networks from one wallet creation call.
HD Wallet Architecture
Industry-standard BIP32/BIP39/BIP44 hierarchical deterministic wallets ensure:
- ✅ Single backup recovers all addresses
- ✅ Unlimited address generation per network
- ✅ Institutional-grade key management
- ✅ Network-specific derivation paths
Production-Ready Features
- Automatic Balance Tracking - Real-time balances across all networks
- Deposit Monitoring - Automatic detection with webhook notifications (native tokens)
- Multi-Token Support - USDT, USDC, DAI, and custom tokens
- Sweeping Logic - Automatic consolidation of funds
- Transfer API - Send crypto programmatically
- Test Mode - Full testnet support for development
Supported Networks
| Network | Type | Native Asset | Tokens Supported | Typical Fee |
|---|---|---|---|---|
| Bitcoin | UTXO | BTC | - | $2-10 |
| Bitcoin Cash | UTXO | BCH | - | $0.01-0.05 |
| Litecoin | UTXO | LTC | - | $0.05-0.20 |
| BSC | Account | BNB | BEP-20 (USDT, USDC, BUSD) | $0.10-0.50 |
| Ethereum | Account | ETH | ERC-20 (USDT, USDC, DAI) | $1-15 |
| Polygon | Account | MATIC | ERC-20 (USDT, USDC) | $0.001-0.01 |
| Tron | Account | TRX | TRC-20 (USDT) | $1-2 |
| Solana | Account | SOL | SPL (USDT, USDC) | $0.00025 |
View Detailed Network Information →
How It Works
Key Capabilities
1. Wallet Creation
Create an HD wallet for a user with a single API call:
POST /api/v1/wallet/customer/create
{
"customer_id": "user_123",
"word_count": 12 // Optional: 12 or 24
}Response includes:
wallet_id- Unique identifiermnemonic- 12 or 24 word seed phrase (save securely!)customer_id- Your customer identifiercreated_at- Creation timestamp
2. Address Derivation
Derive addresses for specific networks after wallet creation:
POST /api/v1/wallet/customer/:customerID/derive
{
"network": "BTC", // BTC, ETH, BSC, POL, TRX, SOL, etc.
"index": 0, // Address index
"testnet": false // Mainnet or testnet
}2. Address Management
- Generate unique deposit addresses per network
- Derive additional addresses on-demand
- Track address usage and balances
- Support legacy and modern address formats
3. Balance Tracking
Real-time balance queries for:
- Native currencies (BTC, ETH, BNB, etc.)
- Tokens (USDT, USDC, custom tokens)
- Aggregate USD valuations
- Historical balance snapshots
4. Deposit Detection
Receive instant webhooks when:
- Transaction is detected (0 confirmations)
- Transaction is confirmed (network-specific)
- Balance is credited
5. Withdrawals & Transfers
Programmatically send crypto:
- Native currency transfers
- Token transfers
- Batch transactions
- Gas optimization
Use Cases
Crypto Exchange
Create custodial wallets for users to deposit, trade, and withdraw across all major networks.
// Create HD wallet
const wallet = await createWallet(userId);
// Derive addresses for supported networks
const btc = await deriveAddress(userId, 'BTC');
const eth = await deriveAddress(userId, 'ETH');
const bsc = await deriveAddress(userId, 'BSC');NFT Marketplace
Give users wallets to receive NFT proceeds and make purchases on Ethereum, Polygon, or Solana.
const wallet = await createWallet(userId);
const ethAddr = await deriveAddress(userId, 'ETH');
const polAddr = await deriveAddress(userId, 'POL');
const solAddr = await deriveAddress(userId, 'SOL');Payment Gateway
Accept Bitcoin and stablecoin payments from customers worldwide.
const wallet = await createWallet(orderId);
const btcAddr = await deriveAddress(orderId, 'BTC');
const trxAddr = await deriveAddress(orderId, 'TRX'); // For USDTDeFi Platform
Enable users to interact with DeFi protocols across multiple chains.
const wallet = await createWallet(userId);
// Derive addresses for DeFi chains
await Promise.all([
deriveAddress(userId, 'ETH'),
deriveAddress(userId, 'BSC'),
deriveAddress(userId, 'POL'),
deriveAddress(userId, 'SOL')
]);Bitcoin Savings App
Build a Bitcoin-first wallet with LTC and BCH as fast payment alternatives.
const wallet = await createWallet(userId);
const btcAddr = await deriveAddress(userId, 'BTC');
const ltcAddr = await deriveAddress(userId, 'LTC');
const bchAddr = await deriveAddress(userId, 'BCH');Quick Start
1. Get API Key
Sign up and get your API key from the Dashboard.
2. Create a Wallet
curl -X POST https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/wallet/customer/create \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"customer_id": "user_12345",
"word_count": 12
}'3. Derive Bitcoin Address
curl -X POST https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/wallet/customer/user_12345/derive \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"network": "BTC",
"index": 0,
"testnet": false
}'4. List All Addresses
curl https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/wallet/customer/user_12345/addresses \
-H "X-API-Key: YOUR_API_KEY"5. Transfer Funds
curl -X POST https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/wallet/customer/user_12345/transfer \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"network": "BTC",
"currency": "BTC",
"to_address": "bc1q...",
"amount": "1000000",
"index": 0
}'Architecture
Security Model
- Non-Custodial Option - Users can export private keys
- Encrypted Storage - AES-256 encryption for all private keys
- HSM Integration - Hardware security module support
- Multi-Sig Support - For enterprise custody
- Audit Trail - Complete transaction history
Scalability
- HD Derivation - Unlimited addresses per user per network
- Batch Processing - Handle millions of wallets
- Auto-Sweeping - Consolidate funds automatically
- Load Balancing - Distributed RPC infrastructure
Network Selection Guide
Choose networks based on your use case:
For Maximum Coverage:
['BTC', 'ETH', 'BSC', 'TRX', 'SOL']For DeFi:
['ETH', 'BSC', 'POL', 'SOL']For Bitcoin-First:
['BTC', 'LTC', 'BCH']For Low Fees:
['POL', 'SOL', 'BSC']For Stablecoins:
['TRX', 'BSC', 'POL'] // USDT/USDC optimizedNext Steps
- Integration Guide - Create your first wallet
- Supported Networks - Network specifications and details
- API Reference - Complete API documentation
- Use Cases - Real-world examples
- Security - Best practices and security model
