Full API Reference
Base URL: https://rach-caas-api-dx75yvdhaq-nw.a.run.app
API Version: 1.0.1
Spec: Swagger UI · OpenAPI JSON
Authentication
| Scheme | Header | Used By |
|---|---|---|
| API Key | X-API-Key: rach_sk_live_* | All B2B endpoints |
| JWT Bearer | Authorization: Bearer <token> | All Dashboard endpoints |
B2B — Users
| Method | Path | Summary |
|---|---|---|
POST | /v1/users/provision | Provision User SCW Address |
GET | /v1/users/balance | Get Customer USDC Balance |
POST | /v1/users/fund | Fund Customer SCW (On-Ramp) |
POST | /v1/users/withdraw | Initiate Off-Ramp Withdrawal |
POST | /v1/users/update-phone | Update Customer Phone Number |
B2B — Transfers
| Method | Path | Summary |
|---|---|---|
POST | /v1/transfers/send | Send Instant On-Chain Transfer |
B2B — FX
| Method | Path | Summary |
|---|---|---|
POST | /v1/fx/quote | Get FX Conversion Quote |
Dashboard
| Method | Path | Summary | Auth |
|---|---|---|---|
GET | /v1/dashboard/metrics | Get Dashboard Overview Metrics | JWT |
GET | /v1/dashboard/deposits | List Deposits | JWT |
GET | /v1/dashboard/deposits/{id} | Get Deposit Detail | JWT |
GET | /v1/dashboard/transfers | List Asynchronous Ledger | JWT |
GET | /v1/dashboard/transfers/{id} | Get Granular Transfer Details | JWT |
GET | /v1/dashboard/users | List SCW User Directory | JWT |
GET | /v1/dashboard/users/lookup | Lookup User by Wallet Address | JWT |
GET | /v1/dashboard/users/{blind_index} | Get User Detail | JWT |
POST | /v1/dashboard/users/{blind_index}/update-phone | Admin: Update User Phone Hash | JWT |
GET | /v1/dashboard/withdrawals | List Withdrawals | JWT |
GET | /v1/dashboard/withdrawals/{id} | Get Single Withdrawal | JWT |
GET | /v1/dashboard/withdrawals/pending-payouts | List Pending Payouts (super admin) | JWT |
POST | /v1/dashboard/withdrawals/{id}/confirm-payout | Confirm Local Fiat Payout (super admin) | JWT |
Treasury
| Method | Path | Summary | Auth |
|---|---|---|---|
GET | /v1/dashboard/treasury/tenant-balance | Get Tenant USDC Balance | JWT |
POST | /v1/dashboard/treasury/topup | Submit Treasury Topup | JWT |
POST | /v1/dashboard/treasury/topup/{id}/confirm | Confirm Topup | JWT |
GET | /v1/dashboard/treasury/topups | List Treasury Topups | JWT |
GET | /v1/dashboard/treasury/usdc | Get USDC Treasury Balance | JWT |
GET | /v1/dashboard/treasury/paymaster | Get Live Paymaster Gas Tank | JWT |
Compliance
| Method | Path | Summary | Auth |
|---|---|---|---|
POST | /v1/dashboard/users/{blind_index}/freeze | Freeze User SCW | JWT |
Developer
| Method | Path | Summary | Auth |
|---|---|---|---|
GET | /v1/dashboard/apikeys | List API Keys | JWT |
POST | /v1/dashboard/apikeys | Generate API Key | JWT |
DELETE | /v1/dashboard/apikeys/{id} | Revoke API Key | JWT |
GET | /v1/dashboard/webhooks | List Webhooks | JWT |
POST | /v1/dashboard/webhooks | Create Webhook | JWT |
DELETE | /v1/dashboard/webhooks/{id} | Delete Webhook | JWT |
GET | /v1/dashboard/webhooks/logs | List Webhook Logs | JWT |
Governance
| Method | Path | Summary | Auth |
|---|---|---|---|
GET | /v1/dashboard/team | List Team Members | JWT |
POST | /v1/dashboard/team | Invite Team Member | JWT |
DELETE | /v1/dashboard/team/{id} | Remove Team Member | JWT |
Telecom (USSD)
| Method | Path | Summary | Auth |
|---|---|---|---|
POST | /v1/ussd/callback/at | Process Africa's Talking USSD Webhook | Telecom-signed |
POST | /v1/ussd/callback/mtn | Process MTN Nigeria USSD Webhook | Telecom-signed |
Data Models
ProvisionUserResponse
json
{
"wallet_address": "string",
"blind_index": "string",
"status": "string",
"created_at": "string (ISO 8601)"
}BalanceResponse
json
{
"wallet_address": "string",
"balance_usdc": "string"
}FundUserResponse
json
{
"deposit_id": "string",
"status": "string",
"message": "string",
"created_at": "string (ISO 8601)"
}TransferResponse
json
{
"transfer_id": "string",
"status": "string",
"message": "string",
"created_at": "string (ISO 8601)"
}QuoteResponse
json
{
"quote_id": "string",
"currency_pair": "string",
"fiat_amount": "string",
"rate": "string",
"expected_out": "string",
"target_token": "string",
"expires_at": "string (ISO 8601)"
}WithdrawResponse
json
{
"withdrawal_id": "string",
"status": "string",
"message": "string"
}ExtendedTransactionInstance
json
{
"id": "string",
"masked_sender": "string",
"recipient_address": "string",
"status": "string",
"tx_hash": "string",
"user_index": "string",
"created_at": "string (ISO 8601)",
"settled_at": "string (ISO 8601)",
"financials": {
"local_amount": "number",
"local_currency": "string",
"stablecoin_settled": "number",
"crypto_ticker": "string",
"fx_quote_id": "string",
"applied_bps_markup": "integer"
},
"erc4337_context": {
"user_op_hash": "string",
"nonce": "integer",
"gas_paid_eth": "string"
}
}DashboardMetrics
json
{
"total_active_wallets": "integer",
"total_processing_volume_crypto": "number",
"successful_user_ops_24h": "integer",
"failed_user_ops_24h": "integer"
}TenantBalanceResponse
json
{
"available_usdc": "string",
"reserved_usdc": "string",
"total_funded_usdc": "string",
"mmo_id": "string"
}LivePaymasterGasCapacity
json
{
"paymaster_address": "string",
"entrypoint_address": "string",
"current_balance_eth": "number",
"estimated_tx_runway": "integer",
"alert_threshold_eth": "number",
"critical_threshold_eth": "number",
"status": "string"
}