Introduction

Graph is an API-first cross-border payment platform powering African businesses with multi-currency accounts, global supplier payments, and treasury tools.

As we expanded into new markets and onboarded more SMEs and enterprise clients, one operational bottleneck became impossible to ignore: inbound deposits were frequently delayed, mismatched, or missing context.
External bank transfers arrived at Graph with inconsistent references, incomplete metadata, or no identifiers at all — leaving Operations responsible for manually matching payments to the correct business.

This created slow deposit experiences, reconciliation delays, and unnecessary customer anxiety around “missing funds.”

To solve this, we built Deposit Intents, a system that lets businesses declare their incoming transfers before sending them, giving Graph a reliable source of truth to automatically match deposits and eliminate reconciliation uncertainty.

My Role

Is this a real problem?

Before Deposit Intents, incoming transfers, especially USD deposits, were routed through partner banks using pooled accounts.
The banks provided only basic transaction metadata. Different banks formatted references differently, some truncated them entirely, and others replaced customer-provided references with internal codes.

This resulted in four fundamental issues:

  • Inconsistent Bank References: No reliable way to confidently match an incoming payment to the business that sent it.

  • Reconciliation Delays: Operations had to manually review and escalate with partner banks, slowing down customer deposits.

  • High Support Volume: Customers often contacted CX asking, “Where is my money?” even when funds had technically arrived.

  • Lack of Visibility: Businesses had no way to track the status of inbound transfers until they were fully reconciled.

Deposit Intents addressed these challenges by creating a predictable, structured, and trackable deposit framework.

Defining the Problem

Inbound bank transfers lacked the information Graph needed to automatically reconcile them.

This led to:

  • Delayed wallet funding

  • Mismatched payments

  • Increased operational workload

  • Lower confidence in the system

  • Higher friction for SMEs in moments where cash flow was critical

The core question became:

How do we turn unstructured bank transfers into structured, predictable, and automatically matched events?

The Solution

How we reimagined wallet funding and payment reconciliation

Deposit Intents introduced a simple but powerful shift:
Users tell the system what they intend to send and the system handles the matching when the money arrives.

The goals were:

  • Reduce reconciliation delays

  • Improve matching accuracy

  • Provide transparency to users

  • Give Operations a reliable audit trail

  • Support market expansion with predictable financial flows

We built 3 core capabilities to achieve this

Structured Deposit Declarations

Businesses declare:

  • Amount

  • Currency

  • Expected timeline

This becomes the system’s “anchor” for matching.

It transforms incoming transfers from unstructured events into predictable workflows.

Smart Matching Engine

When funds arrive, the system checks:

  • Amount proximity

  • Currency

  • Account metadata

  • Time window

  • Available references

  • Historical behavior

If intent = transfer → reconciliation becomes instant.

If a mismatch occurs, Operations gets a flagged exception instead of a mystery.

Deposit Tracking & Transparency

Users finally get visibility:

  • A pending → matched → completed timeline

  • Clear deposit instructions

  • A unique reference

  • Alerts for mismatches or delays

For SMEs who rely on fast cash flow, this transparency removed unnecessary uncertainty.

UX Foundations

To make Deposit Intents feel effortless, we:

  • Designed a clean, 3-step flow

  • Eliminated jargon

  • Added clear instructions for each sending method

  • Used language optimized for SMEs, not enterprise analysts

  • Added expiration rules to prevent stale intents

  • Designed fallback paths for CX and Operations

Measuring Success

Deposit Intents launched into production and immediately improved operational smoothness and customer trust.
We measure its success across:

Faster Deposit Matching

Reduced manual reconciliation requests and escalations to partner banks.

Fewer “Missing Funds” Tickets

Significant reduction in CX cases around delayed deposits.

Higher Wallet Funding Success Rate

Users gained confidence to send larger and more frequent deposits.

Improved Operational Efficiency

Ops no longer manually chase unclear transactions across bank statements.

Better Cash Flow Predictability for SMEs

Users can now track deposits the moment they send them.