IN-BUILD SYSTEM ARCHITECTURE
Untold Bank / ApexBank Core
Commercial online banking engine featuring real-time account balances, intra-bank transfers, multi-stage compliance verification (COT, TAX, IMF) for international wire relays, and administrative ledger controls.
THE INDUSTRY GAP
Private fintechs and microfinance banks cannot afford multi-million dollar core banking licenses, leaving them with clunky, vulnerable software that lacks auditable international wire clearance.
HOW EMMANUEL ARCHITECTS IT
Built on Laravel 11 and MySQL with row-level pessimistic locking, dual-node identity KYC verification, multi-stage authorization (COT/TAX/IMF), and an administrative audit command center.
COMMERCIAL SIGNIFICANCE
Enables private financial institutions to deploy an institutional, compliance-ready banking interface in weeks rather than years, with zero double-spending risk.
Double-Entry Relational Schema
CREATE TABLE `accounts` (
`id` BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
`account_number` VARCHAR(16) UNIQUE NOT NULL,
`user_id` BIGINT UNSIGNED NOT NULL,
`currency` VARCHAR(3) DEFAULT 'USD',
`balance_cents` BIGINT NOT NULL DEFAULT 0,
`status` ENUM('ACTIVE', 'FROZEN', 'TIER_LIMITED'),
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE `ledger_entries` (
`id` BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
`transaction_ref` VARCHAR(32) UNIQUE NOT NULL,
`debit_account_id` BIGINT UNSIGNED NOT NULL,
`credit_account_id` BIGINT UNSIGNED NOT NULL,
`amount_cents` BIGINT NOT NULL,
`transfer_mode` ENUM('INTRA_BANK', 'GLOBAL_WIRE'),
`verification_hash` VARCHAR(64) NOT NULL
);
- Row-level pessimistic locking (`SELECT ... FOR UPDATE`) preventing race-condition overdraws
- Strict non-negative integer balance constraints enforced at database layer
- SHA-256 cryptographic chaining between consecutive ledger rows for zero-tampering auditability
Dual Mobilization Routing Nodes
// Route Dispatch Logic
$router->post('/api/v1/mobilize', function (Request $req) {
$validated = $req->validate([
'destination_node' => 'required|in:INTRA_LEDGER,GLOBAL_SWIFT',
'idempotency_key' => 'required|unique:idempotency_records',
'security_pin' => 'required|digits:4',
'mfa_token' => 'required|string'
]);
return DispatchLedgerWorker::dispatchSync($validated);
});
- Internal Transfer Node: Instant atomic database commit for intra-bank capital movements
- Global Wire Relay: Multi-stage compliance hold demanding admin-assigned COT/TAX/IMF verification
- Worker Queues: High-throughput Redis cluster routing automated settlement notifications