New: Truss Core Banking and Truss mobile apps. See how the products fit together →
Truss Mobile & portals

Customer apps that show the real status of every payment.

Native iOS and Android apps, a customer web portal and a staff back office, all built on the Truss APIs. Transfers show each stage up to settlement, loans show the actual schedule, and anything that moves money needs a trusted device.

9:41●●●
Good morning
Adaeze
Savings · 00···4312
₦248,560.00
Available₦243,560.00
↗Send
☷Bills
₦Borrow
▣Cards
To Emeka O.Today, 08:12
-₦25,000
Settled
MTN airtimeYesterday
-₦2,000
Settled
Salary credit28 Feb
+₦310,000
Settled
Home
Pay
Borrow
Profile
9:41●●●
Transfer status
₦25,000.00
to Emeka Okafor · 0123···789
Name confirmedEMEKA CHUKWUDI OKAFOR
Debited & postedBalanced ledger entry
Accepted by NIPSession 0000···6613
Waiting for settlementShown as settled once confirmed
SettledFinal
If settlement doesn’t match, this changes to Needs review and we open a case for you.
9:41●●●
My loan
SME working capitalPerforming
₦412,300.00
outstanding of ₦700,000
5 of 12 repayments made
Repayment schedule
31 Jan
₦64,410
28 Feb
₦64,410
31 Mar
₦64,410
30 Apr
₦64,410
Repay ₦64,410 now
Home
Pay
Borrow
Profile

Based on the app designs. Names and amounts are examples.

Payment status

No false ‘Successful’ messages.

Many apps show ‘Successful’ as soon as the payment switch replies. If the payment then fails to settle, the customer has already been told it worked.

Truss apps track a transfer through each stage and only show Settled once settlement is confirmed. If the records disagree, the customer sees Needs review and a case is opened for them. Notifications are only sent for final outcomes, so the app and the statement always match.

How Reliability supports this →
Review & send Processing Settledsettlement confirmed Needs reviewcase opened for you each stage shownas it happens matchmismatch Notifications are only sent for these two outcomes.
Screens

The same features on iOS and Android.

Built in Jetpack Compose for Android and SwiftUI for iOS, with one shared API contract.

Everyday

  • Home and balances
  • Account detail and transactions
  • Statements on request
  • Notifications for final outcomes

Pay

  • Send money with name check
  • Review and confirm
  • Transfer progress
  • Settled or needs review
  • Beneficiaries
  • Bills and airtime

Borrow & cards

  • Loan products and application
  • Repayment schedule and repay
  • Card controls: freeze, online, ATM

You

  • Welcome, sign in and sign up
  • Onboarding and KYC
  • Profile, security and consent
  • My devices and lost phone
  • Report a problem (disputes)
Security

Device checks on every sensitive action.

Each request identifies the device it came from. Before anything that moves money or changes a customer’s details, the server checks the device is still active. If a phone is reported lost, those actions stop working on it straight away, even if the app is still signed in.

  • Secure sign-in with OpenID Connect and PKCE. Refresh tokens rotate, and signing out ends the session on the server.
  • A devices screen where customers can see each device, remove one or report a phone lost.
  • Biometric unlock, with consent settings the customer controls.
  • No double payments. Every request that changes data carries a unique key, checked at build time, so a double tap can’t send money twice.
Send a payment Save a beneficiary Continue KYC Change contact details Apply for a loan Make a repayment Device active? Proceeddevice active Blockedlost or revoked Checked on the server as well as in the app.
Portals

No one approves their own request.

The staff portal gives operations, credit and compliance teams one place to work. Sensitive changes need a second person: loan payouts, limit changes and fee waivers. Emergency access goes through a logged break-glass request.

Staff portal

Approvals, KYC review, disputes and returns, card operations, product set-up and break-glass.

Customer portal

Balances, transfers, statements, loans and support in the browser, on the same APIs as the apps.

staff.truss · Approvals
▣ Truss Staff
Approvals · 4
Customers
KYC review
Loans
Disputes
Cards
Products
Break-glass
Waiting for a checker
RequestMakerAmount
Loan disbursementT. Bello₦700,000Review
Daily limit changeK. Musa₦2,000,000Review
Fee waiverO. Ade₦1,500Review
Break-glass accessOps on-callNone2 approvals
You cannot approve a request you created.
One API contract

Apps and core stay in step.

Every Truss API has a versioned contract. Kotlin, Swift and TypeScript types are generated from it, so Android, iOS and the web portals use exactly what the core expects. A breaking change fails the build before it reaches customers.

/v1 API contractpayments, loans, KYC, devices Type generatorchecks every write Kotlin → Android app Swift → iOS app TypeScript → portals Customerssame data everywhere

See the apps running.

We’ll show the Android and iOS apps on the Truss APIs, from sign-up to a transfer that settles and one that doesn’t.

Book a demo