Wallet-as-a-Service (WaaS)
Provision and manage HD crypto wallets for your customers across 9 blockchains — with a single API.
The Rach WaaS API lets you create BIP39 HD wallets for end users, derive blockchain addresses on any supported network, monitor deposits in real-time, and send crypto programmatically — all without managing blockchain nodes or key storage infrastructure.
Base URL: https://payments-api-dev-966260606560.europe-west2.run.app
Auth: X-API-Key: live_sk_* (production) · X-API-Key: test_sk_* (sandbox)
Supported Networks
| Network | Code | Type | Native | Tokens | Derivation Path |
|---|---|---|---|---|---|
| Bitcoin | BTC | UTXO | BTC | — | m/84'/0'/0'/0/n |
| Bitcoin Cash | BCH | UTXO | BCH | — | m/44'/145'/0'/0/n |
| Litecoin | LTC | UTXO | LTC | — | m/44'/2'/0'/0/n |
| Binance Smart Chain | BSC | EVM | BNB | BEP-20 (USDT, USDC) | m/44'/60'/0'/0/n |
| Ethereum | ETH | EVM | ETH | ERC-20 (USDT, USDC, DAI) | m/44'/60'/0'/0/n |
| Polygon | POL | EVM | POL | ERC-20 (USDT, USDC) | m/44'/60'/0'/0/n |
| Tron | TRX | Account | TRX | TRC-20 (USDT) | m/44'/195'/0'/0/n |
| Solana | SOL | Account | SOL | SPL (USDT, USDC) | m/44'/501'/0'/0/n |
| XRP | XRP | Account | XRP | — | m/44'/144'/0'/0/n |
Plans & Wallet Limits
| Plan | Max Customer Wallets | Price |
|---|---|---|
| Starter | 20 | $13/mo |
| Professional | 100 | $42/mo |
| Business | Unlimited | $129/mo |
| Enterprise | Unlimited | Custom |
Deriving additional addresses for an existing customer wallet does not count against the wallet cap — only creating a new
POST /wallet/customersentry does.
How It Works
Your Backend
│
├── POST /api/v1/wallet/customers → Create HD wallet per customer (mnemonic returned once)
│
├── POST /api/v1/wallet/{id}/derive → Derive BTC address for customer
├── POST /api/v1/wallet/{id}/derive → Derive ETH address for customer
├── POST /api/v1/wallet/{id}/derive → Derive TRX address for customer (enable_monitoring: true)
│
├── GET /api/v1/wallet/{id}/addresses → List all derived addresses + live balances
│
├── Webhook: wallet.deposit.detected → Customer sent USDT to their TRX address
├── Webhook: wallet.deposit.confirmed → Confirmed — safe to credit internal balance
│
└── POST /api/v1/wallet/{id}/transfer → Send crypto out of customer walletQuick Start
1. Create a Customer Wallet
curl -X POST 'https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/wallet/customers' \
-H 'X-API-Key: live_sk_...' \
-H 'Content-Type: application/json' \
-d '{ "customer_id": "user_12345", "word_count": 12 }'Response:
{
"customer_id": "user_12345",
"wallet_id": 42,
"mnemonic": ["abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident"],
"created_at": "2026-06-25T14:00:00Z"
}⚠️ Store the mnemonic immediately and securely. It is shown once only and cannot be retrieved again without the
wallet:reveal_seedpermission.
2. Derive Deposit Addresses
# Derive a Bitcoin address
curl -X POST 'https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/wallet/user_12345/derive' \
-H 'X-API-Key: live_sk_...' \
-H 'Content-Type: application/json' \
-d '{ "network": "BTC", "index": 0, "enable_monitoring": false }'
# Derive a monitored USDT address on Tron
curl -X POST 'https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/wallet/user_12345/derive' \
-H 'X-API-Key: live_sk_...' \
-H 'Content-Type: application/json' \
-d '{ "network": "TRX", "index": 0, "enable_monitoring": true }'3. List Balances
curl 'https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/wallet/user_12345/addresses?refresh=true' \
-H 'X-API-Key: live_sk_...'4. Enable Deposit Webhooks
Set wallet_webhook_enabled: true in your webhook config:
curl -X POST 'https://payments-api-dev-966260606560.europe-west2.run.app/api/v1/settings/webhook' \
-H 'Authorization: Bearer <jwt>' \
-H 'Content-Type: application/json' \
-d '{ "webhook_url": "https://yoursite.com/webhooks/rach", "wallet_webhook_enabled": true }'Next Steps
- API Reference → — Complete endpoint documentation
- Deposit Monitoring → — Webhook lifecycle, confirmation thresholds
- Address Generation → — Derivation paths, index management
- Supported Networks → — Token support, fees, confirmation behaviour
- Security → — Key management, permissions, best practices
- Use Cases → — Real-world integration patterns
