RB
Mock Bank SANDBOX
connected
PORT 4000
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
ReferenceTypeAccountAmountBalance AfterStatusTime
Accounts
All simulated bank accounts โ€” stored in MongoDB
Account NumberNameBankTypeTierKYCBalance (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 ReferenceRuby ReferenceTypeAccountAmountBalance AfterNarrationTime
OTP Store
All OTPs generated โ€” saved to MongoDB in real time
โš  Dev bypass active โ€” OTP 123456 always passes, regardless of the generated code.
OTP ReferenceAccountBankCodeExpiresStatus
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)
ReferenceAccountCodeExpiresStatus
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
AccountNameBankBalanceDev OTP
0123456789SAMUEL OLOKORACCESS 044โ‚ฆ350,000123456
9876543210JOHN ADEYEMIGTBank 058โ‚ฆ200,000123456
1122334455AMAKA OKONKWOZENITH 057โ‚ฆ500,000123456
5544332211IBRAHIM MUSAACCESS 044โ‚ฆ75,000123456
6677889900CHIDINMA EZEGTBank 058โ‚ฆ1,200,000123456
Create single account