LumoWallet / Phase 2

Design system & component library

Every primitive the wallet, ledger, dashboard and developer surfaces are built from. Tokens are semantic; currencies, statuses and transaction types come from configuration.

Color tokens

background

surface

card

muted

accent

success

warning

destructive

Typography

Display / Space Grotesk

Heading level two

Body copy uses DM Sans for long-form legibility, while monetary values and identifiers use tabular numerals and JetBrains Mono respectively.

txn_9fa21c7b · idem_2f8ce41d

Buttons

Money primitives

$12,845.00-459,90 €₦3,250.00 NGN£125.00

Balances & metrics

Total balance

$12,845.00USD

Available

$11,980.00

Pending

$865.00

Volume (30d)

$482,910

+12.4%vs prior period

Failed rate

0.42%

-0.1%

Active wallets

18,204

API calls

2.1M

this month

Status badges

PendingProcessingCompletedFailedReversedOn hold

Transactions

Card top-up

Deposit · txn_9fa21c7b · Today, 14:02

+$500.00Completed

Bank payout · GTBank ••4412

Payout · txn_51ac0b39 · Today, 11:20

-₦12,500.00Processing

Refund from Merchant #204

Refund · Yesterday

+79,99 €Pending

Processing fee

Fee · 12 Aug

-$2.50Failed

Ledger entries

EntryAccountPostedDebitCredit
le_0001wallet:usr_2841 (USD)14:02:11$500.00
le_0002settlement:card_acquirer14:02:11$500.00

Forms

$

Amounts are stored in minor units on the ledger.

Sandbox mode

No real funds are moved.

Publishable key

pk_sandbox_9fa21c7b4d2e

Secret key

sk_san••••••••••••bd91

Data list & empty state

Transaction ID
txn_9fa21c7b
Type
Deposit
Amount
$500.00
Fee
$2.50
Idempotency key
idem_2f8c

No transactions yet

Once money moves through this wallet, every debit and credit will appear here.

Feature cards & code

Double-entry ledger

Balances are derived from immutable entries, never edited in place.

Developer API

Keys, scopes, webhooks and a full sandbox environment.

Idempotent by default

Every mutating request accepts an idempotency key.

http
POST /v1/transfers
Authorization: Bearer sk_sandbox_...
Idempotency-Key: idem_2f8ce41d

{
  "source_wallet": "wal_2841",
  "destination_wallet": "wal_9102",
  "amount": 50000,
  "currency": "USD"
}

Phase 2 complete

The component library is ready

Next phases compose these primitives into the public website, wallet dashboard and developer console.