This is not accurate. The overflow caveat doesn't apply when a 64 bit type is in use. 1 trillion -> 100 trillion kobo -> 10^14, BIGINT holds ~9.22 * 10^18, a lot of headroom. Overflow becomes a concern in 32 bit INT, and in this case the max kobo stored is ~2 billion -> ~21M ngn.
They were storing balances in kobos. 😆
I asked, "If a customer has 1 trillion, how will you represent it in the database?"
That becomes 100 trillion kobos.
Then comes the real question: How are you handling overflow?