Skip to content

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

NetworkTypeNative AssetTokens SupportedTypical Fee
BitcoinUTXOBTC-$2-10
Bitcoin CashUTXOBCH-$0.01-0.05
LitecoinUTXOLTC-$0.05-0.20
BSCAccountBNBBEP-20 (USDT, USDC, BUSD)$0.10-0.50
EthereumAccountETHERC-20 (USDT, USDC, DAI)$1-15
PolygonAccountMATICERC-20 (USDT, USDC)$0.001-0.01
TronAccountTRXTRC-20 (USDT)$1-2
SolanaAccountSOLSPL (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:

javascript
POST /api/v1/wallet/customer/create
{
  "customer_id": "user_123",
  "word_count": 12  // Optional: 12 or 24
}

Response includes:

  • wallet_id - Unique identifier
  • mnemonic - 12 or 24 word seed phrase (save securely!)
  • customer_id - Your customer identifier
  • created_at - Creation timestamp

2. Address Derivation

Derive addresses for specific networks after wallet creation:

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

javascript
// 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.

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

javascript
const wallet = await createWallet(orderId);
const btcAddr = await deriveAddress(orderId, 'BTC');
const trxAddr = await deriveAddress(orderId, 'TRX'); // For USDT

DeFi Platform

Enable users to interact with DeFi protocols across multiple chains.

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

javascript
const wallet = await createWallet(userId);
const btcAddr = await deriveAddress(userId, 'BTC');
const ltcAddr = await deriveAddress(userId, 'LTC');
const bchAddr = await deriveAddress(userId, 'BCH');

View More Use Cases →


Quick Start

1. Get API Key

Sign up and get your API key from the Dashboard.

2. Create a Wallet

bash
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

bash
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

bash
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

bash
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:

javascript
['BTC', 'ETH', 'BSC', 'TRX', 'SOL']

For DeFi:

javascript
['ETH', 'BSC', 'POL', 'SOL']

For Bitcoin-First:

javascript
['BTC', 'LTC', 'BCH']

For Low Fees:

javascript
['POL', 'SOL', 'BSC']

For Stablecoins:

javascript
['TRX', 'BSC', 'POL'] // USDT/USDC optimized

Next Steps

Built with ❤️ by Rach Finance