Skip to main content
EU ↔ Africa · stablecoin settlement · double-entry ledger I wanted to know how payments infrastructure actually works, so I built one. I had always wondered how major payments infrastructure works. Not the diagram version, the actual detail, bit by bit: what happens to the money between the moment someone presses send in Munich and the moment a phone buzzes in Nairobi. Who holds it. What it is recorded as. What happens when the fourth of five steps fails at two in the morning. Reading about it only got me so far. Every article stops at the same level of abstraction, right before the part I wanted. So I committed to building one out myself, so I could learn it properly and get real experience in the process rather than a vocabulary for it. Arc is a simulation of cross-border stablecoin and fiat infrastructure for the EU-Africa corridor, and a field guide to how stablecoin payments actually work. On this project I try to model the full backend of a payments business that moves value between Europe and Africa in seconds: multi-currency virtual accounts in, an instant swap to stablecoin, chain-agnostic settlement across five chains that behave nothing alike, and a local-rail payout out. Three surfaces sit on top of one set of rails: consumer, enterprise, and a white-label Last Mile API.
This is a simulation, not a financial system. No real funds, no bank connections, no blockchain. Every external integration is a deterministic simulator, and the sanctions list is synthetic, so no real person or entity appears in any data. Nothing here is investment, legal, or compliance advice.

Why I picked this corridor

Because it is the one where the gap between what payments cost and what they should cost is widest, and I wanted a problem with real stakes rather than a toy. Sub-Saharan Africa is the most expensive place on earth to send money to. The World Bank puts the average cost of a $200 remittance to the region at 8.78%, against a UN Sustainable Development Goal target of 3%. Banks, the most expensive channel, sit at 9.50%. Meanwhile the same region absorbed $205bn of on-chain value in the year to June 2025, up 52%, with stablecoins now roughly 43% of its crypto transaction volume. That demand is not speculative. It is people and businesses routing around correspondent banking because correspondent banking is failing them.
8.78%Average cost to send $200 to Sub-Saharan AfricaWorld Bank RPW
$205bnOn-chain value received, SSA, Jul 2024 to Jun 2025Chainalysis
~$313bnTotal stablecoin market cap, mid-2026BIS
99%Of that supply denominated in US dollarsBIS
An 8.78% legacy rail sitting beside a fast-growing parallel one is the whole business case. Why corridors cost so much takes it apart properly, including the two of four cost layers a stablecoin rail does not remove, which is the part most write-ups skip.

What I actually learned building it

A transfer that settles in seconds turned out to be the easy part. The real engineering problem is a transfer that settles in seconds and cannot lose a cent when the fourth of five steps fails.
For every failure at every step of the settlement saga, the ledger ends balanced in every currency and the sender’s balance is exactly what it was.
That sentence is the strongest correctness claim I can make about this project, and it is asserted by a chaos suite that fails each saga step in turn. Then I mutation-tested the suite, breaking the code deliberately to see whether the tests would notice. One mutation passed all sixteen tests. Finding out why taught me more than the rest of the build combined, and it is the scenario I would tell first if you only have time for one page.

Where to go from here

I want to understand the domain

Corridor economics, stablecoin mechanics, finality, and the 2026 regulatory picture. No code.

I want to read the system

Six bounded contexts, an event bus, a double-entry ledger, a settlement saga. Diagrams and real ledger entries.

I want the things that went wrong

Seven scenarios: the cent that vanished, the payout that paid twice, the fastest chain that settled last.

I'm preparing for an interview

Question banks with worked answers on ledgers, sagas, finality and compliance, plus self-check quizzes.
Not sure? Reading paths picks a route for you in about thirty seconds.

The three flows everything serves

I kept the scope honest by deciding early that every service has to earn its place against one of these.
1

Consumer remittance

A Kenyan diaspora worker in Germany sends EUR; a KES mobile-money wallet receives it. Walk it through →
2

Enterprise payout

A Nigerian importer funds a virtual NGN account and pays an EU supplier’s IBAN via SEPA Instant. Walk it through →
3

Partner Last Mile

An exchange embeds Arc’s API to offer its own users EUR payouts without building bank integrations.
One set of rails, three surfaces.

Where the build actually is

I am building this in phases, and I keep this table honest rather than aspirational. If something is not done, it says so, both here and on the pages that describe it. Pages describing planned work say so at the top. Nothing on this site claims a capability the repository does not have, which is a rule I set early and have found genuinely useful: it forces me to notice when I am about to write a sentence I cannot back.