Dashboard
Live data from MongoDB โ same cluster as Ruby platform
Total Accounts
โ
across all banks
Total Balance
โ
combined funds
Transactions
โ
this session
Banks / Active OTPs
โ
banks ยท pending OTPs
Accounts by Bank
Transaction Volume
No data
Recent Transactions
| Reference | Type | Account | Amount | Balance After | Status | Time |
|---|
Accounts
All simulated bank accounts โ stored in MongoDB
| Account Number | Name | Bank | Type | Tier | KYC | Balance (Kobo) | Balance (โฆ) | Actions |
|---|
Bank List
Supported banks returned by GET /mock-bank/banks โ managed in MongoDB
โน Banks are not wiped when you Clear Data โ they are configuration. Use "Clear All" to reset everything including banks.
Transaction Ledger
Every debit, credit, airtime, data and bill triggered by Ruby or this dashboard
| Bank Reference | Ruby Reference | Type | Account | Amount | Balance After | Narration | Time |
|---|
OTP Store
All OTPs generated โ saved to MongoDB in real time
โ Dev bypass active โ OTP 123456 always passes, regardless of the generated code.
| OTP Reference | Account | Bank | Code | Expires | Status |
|---|
Validate Account
POST /mock-bank/validate-account โ resolves account name + generates OTP
Request
Response
Run a validation to see the response
Generated OTPs (from MongoDB)
| Reference | Account | Code | Expires | Status |
|---|
Verify OTP
POST /mock-bank/verify-otp โ marks OTP used, returns user token
Request
Response
Run a verification to see the response
Account Details
GET /mock-bank/account-details/:accountNumber โ full profile, BVN mask, tier, KYC
Request
Response
Query an account to see its full details
Execute Transfer
POST /mock-bank/transfer โ deducts from source, credits destination in MongoDB
Request
Response
Execute a transfer to see the response
Transfer Status
GET /mock-bank/transfer-status/:reference โ query by Ruby or bank reference
Request
Response
Enter a reference to check its status
Get Balance
GET /mock-bank/balance/:accountNumber โ reads live balance from MongoDB
Request
Response
Query a balance to see the response
Purchase Airtime
POST /mock-bank/airtime โ deducts from account balance in MongoDB
Request
Response
Run airtime purchase to see response
Data Bundle
POST /mock-bank/data โ deducts from account balance in MongoDB
Request
Response
Run data purchase to see response
Bill Payment
POST /mock-bank/bill โ deducts from account balance in MongoDB
Request
Response
Run a bill payment to see response
Account Statement
GET /mock-bank/statement/:accountNumber โ paginated transaction history
Request
Response
Query a statement to see response
API Reference
All endpoints this mock bank exposes โ point your Ruby adapters here
Server Config
Base URLhttp://localhost:4000
API Key HeaderX-Mock-Bank-Key: mock-ruby-dev-2026
Content-Typeapplication/json
Dev OTP Bypass123456 always passes
Bank API Endpoints โ called by Ruby adapters
Dashboard API Endpoints โ called by this UI
Ruby .env โ point adapters at mock bank
MOCK_BANK_BASE_URLhttp://localhost:4000
MOCK_BANK_API_KEYmock-ruby-dev-2026
USE_MOCK_BANKtrue
Set USE_MOCK_BANK=false to switch to live bank APIs in production.
Request Logs
All API calls made through this simulator
Live feed
recording
// Waiting for requests...
Seed Data
Populate MongoDB with test accounts and banks for Ruby testing
Quick seed โ 5 accounts + 10 banks
Creates 5 test accounts across Access, GTBank and Zenith, and seeds 10 Nigerian banks. Existing records are not overwritten.
Accounts that will be seeded
| Account | Name | Bank | Balance | Dev OTP |
|---|---|---|---|---|
| 0123456789 | SAMUEL OLOKOR | ACCESS 044 | โฆ350,000 | 123456 |
| 9876543210 | JOHN ADEYEMI | GTBank 058 | โฆ200,000 | 123456 |
| 1122334455 | AMAKA OKONKWO | ZENITH 057 | โฆ500,000 | 123456 |
| 5544332211 | IBRAHIM MUSA | ACCESS 044 | โฆ75,000 | 123456 |
| 6677889900 | CHIDINMA EZE | GTBank 058 | โฆ1,200,000 | 123456 |
Create single account