Skip to main content
1.0 Wallet

Stored value
the merchant owns

Branded wallets that fund cashflow at the moment of top-up, not after redemption. One wallet rail across every branch.

Mechanism

Top-ups land as cashflow, not as debt

Customers fund their wallets through the rails they already use. The cash lands in the merchant treasury at the moment of top-up, not after redemption. Cashflow advantage replaces marketing cost.

Customer top-up
Mada STC Pay Apple Pay Card Cash at till
Merchant treasury · T+0
Noura S. · Diriyah+ 150.00
Maryam K. · Olaya+ 100.00
Khalid F. · Tahlia+ 200.00
Net stored valueSAR 1,247,200
feddiWallet
SAR247.50

Branded wallet passes

Apple Pay + Google Wallet + WhatsApp-native pass issuance. Customers install once; the merchant brand sits on the home screen.

Mada STC Pay Apple Pay Card Cash at till

Top-up rails

Mada, STC Pay, Apple Pay, cards, cash at till. Whichever rail the customer prefers becomes a top-up event in the merchant treasury.

Top-ups today+ 41,200
Settled · T+11,247,200
Reconciled100%

Merchant treasury

Settled to the merchant operating account on T+1. Daily reconciliation report. SAR currency, ISO 8583 + ISO 20022 compliant.

Top-up #8842+ 150.00
Refund → #8842− 150.00
Ledgerbalanced

Refund + reconciliation

Audit-clean rollback path. Every refund cites the original top-up event. The treasury ledger is the source of truth.

Composition

Composes with every pillar

The wallet is the substrate. Incentives, attribution, and customer identity sit on top of the same balance rail.

Identifies every customer

A wallet pass is an identity primitive. Every top-up + every redemption is tied to one customer record.

Tier 1
Tier 2
New

Carries every incentive

Boosts, rewards, segment-targeted rules all settle through the same balance.

Campaign → swipe3.2×
Branch ROAS+ 18%
Cohort LTVSAR 312

Feeds attribution

Top-up source + branch + campaign tag flows into the attribution loop automatically.

Dashboard

Wallet operations dashboard

Real-time view of balance, top-up events, treasury position, and per-branch wallet velocity.

Lifecycle

From issuance to repeat visit

The lifecycle of a wallet, end to end: issuance, the first top-up, the till swipe, and the repeat visit that restarts the loop.

feddiNew
SAR0.00

Pass issued

Customer adds the branded pass via WhatsApp or Apple Wallet.

Top-up+ 150.00
TreasuryT+0

Top-up event

Funds land in the merchant treasury at T+0.

Olaya · till− 18.00
Balance229.50

Till swipe

Balance debits at the POS. Identified customer recorded.

Repeat visit

Pass already on phone. Identity persists. The cycle restarts.

"Cashflow advantage is the killer feature. We get the money at top-up, not after the customer comes in."

Operations director · GCC coffee chain

"One wallet stack across 47 branches. We stopped maintaining loyalty plumbing."

CFO · GCC retail group

Built for the future. Available today.

Tech specs
1.1

Mechanism

Branded wallets that customers reload via every common GCC payment rail: Mada, STC Pay, Apple Pay, card, cash at till. The funds land in the merchant treasury at the moment of top-up, settled on T+1 to the merchant operating account. No partner program, no points engine, no float held by a third party.

Treasury reconciliation runs daily and is auditable end-to-end. Every refund cites the original top-up event; every till swipe debits a specific balance, identified to one customer. The wallet rail is the source of truth for stored value across the network.

Features & properties

Property Function
Top-up rails

Mada, STC Pay, Apple Pay, card networks, cash at till. Per-country payment methods configurable per merchant.

Settlement

T+1 settlement to merchant operating account. SAR + AED + QAR + BHD + KWD + OMR currency support.

Reconciliation

Daily auto-reconciled treasury report. ISO 8583 + ISO 20022 compliant message handling.

Refunds

Audit-clean reversal. Every refund cites the original top-up event ID. Treasury ledger remains the source of truth.

Pass issuance

Apple Pay + Google Wallet + WhatsApp-native pass. Customers install once; the merchant brand sits on the home screen.

Identity

Each pass is an identity primitive. Every top-up + every redemption is tied to one customer record across all branches.

Tech specs
1.2

Composition

The wallet is the substrate. Incentives, attribution, customers, and inventory all compose on top of the same balance rail: they read from it, they write to it, they never need a separate identity or balance store.

This is the core architecture choice: ONE rail across every pillar instead of six disconnected systems pretending to be one. A campaign tag attached to a top-up event flows automatically into attribution. A boost rule fires by debiting the wallet, no batch job needed.

Composition points

Property Function
Identity → Wallet

A wallet pass is a customer identity primitive. Every transaction is tied to one record across all branches.

Incentives → Wallet

Boosts, rewards, and segment-targeted rules settle through the same balance. No separate points engine.

Attribution → Wallet

Top-up source + branch + campaign tag flows from wallet events into the attribution layer automatically.

Customers → Wallet

Cohort + per-customer intelligence reads the wallet event stream directly. No data-warehouse hop.

Inventory → Wallet

SKU-level analytics tied to identified buyers via the wallet ID on the receipt.

Tech specs
1.3

Dashboard

A real-time operator view of network-wide stored value, top-up events, treasury position, and per-branch wallet velocity. Filter by branch, customer cohort, campaign, time window.

Built for the operator who needs to answer "what is happening RIGHT NOW", not a BI tool with a 30-second SQL run. Latency from till swipe to dashboard render is under 200ms. Aggregations are pre-computed; per-customer detail loads on demand.

Dashboard surfaces

Property Function
Network balances

Total stored value across the network, broken down by branch + tier + cohort.

Live top-up feed

Real-time stream of top-up + till events. Latency < 200ms from event to render.

Treasury position

Current treasury balance per merchant entity. T+1 settled vs T+0 in-flight vs reconciliation status.

Branch breakdowns

Per-branch stored value, customer count, top-up volume, redemption rate.

Cohort intelligence

Wallet velocity by customer cohort. Repeat rate, dormancy, LTV signal.

Reconciliation status

Daily reconciliation report. Discrepancies surface in real time, not at month-end close.

Tech specs
1.4

Lifecycle

The lifecycle of a wallet, end to end: issuance, the first top-up, the till swipe, the repeat visit that restarts the loop. Each stage emits structured events you can hook campaigns, attribution, or inventory analytics to.

Lifecycle events are the spine the rest of the system listens to. A "first top-up" event can trigger a welcome bonus campaign; a "dormant 30 days" event can trigger a re-engagement boost; a "repeat-visit-at-3rd-branch" event can fire a cross-branch loyalty incentive.

Lifecycle events

Property Function
pass.issued

Customer added the branded pass to Apple Wallet, Google Wallet, or WhatsApp. Identity record created.

top_up.created

A top-up event was initiated. Includes amount, rail, source branch, campaign tag.

top_up.settled

Funds landed in merchant treasury. T+0 (rail-supported) or T+1 standard settlement.

till.debit

Wallet was debited at a POS terminal. Includes amount, branch, till ID, identified customer.

refund.issued

A reversal was issued against an original top-up event. Audit-clean rollback.

cohort.dormant_30d

No activity from this customer in 30 days. Re-engagement trigger candidate.

cohort.repeat_branch

Identified customer visited a 3rd unique branch. Cross-branch loyalty trigger.