← All case studies
Fintech · Edge & cloud

A resilient self-service currency kiosk

A modular platform coordinates a guided customer journey, real-world cash hardware, field operations and central control.

The real-world proposition

Turn overlooked currency into usable value.

Changebox makes foreign exchange more accessible by accepting coins and banknotes from more than 160 currencies—including many withdrawn and outmoded denominations. Customers can convert leftover travel money into local cash or choose to donate its value to charity.

The proposition is deliberately simple for the customer. Behind it sits a demanding recognition, valuation, payout and fleet-management problem spanning thousands of coin and banknote types.

Changebox currency exchange kiosk beside a world map made from international banknotes
One kiosk, global reach. Changebox states that the platform can recognise more than 30,000 coin and banknote types across 160+ currencies.
The challenge

Every transaction crosses software and machinery.

A cash conversion is a chain of dependent actions: obtain current rates, recognise deposited notes and coins, calculate feasible payouts from available stock, dispense accurately and issue a receipt. A device can jam, stock can run low, an API can time out or a customer can leave midway.

Meanwhile, configuration must reach every kiosk, operational messages must return centrally, field teams need controlled servicing tools and updates must never leave the app and its services in an inconsistent state.

01

Currency recognition at scale

Identify and value thousands of domestic, foreign and out-of-circulation coins and banknotes.

02

Intermittent connectivity

Keep local journeys dependable while synchronising state with the central platform.

03

Operational continuity

Support replenishment, diagnosis and software updates without compromising availability.

The solution

Designed for the public journey and the field reality.

The kiosk guides customers through deposit, recognition, valuation, review, payout selection, completion and receipt. Configurable paths support local cash, digital wallet credit, vouchers and charitable donations. Explicit inactivity, maintenance, hold and recovery states make exceptional conditions part of the design.

Protected administration supports stock and cassette workflows. Hardware sits behind stable contracts with physical and simulated implementations, enabling teams to develop and test without depending on a complete production cabinet.

Guided transactions

Clear, localised steps for coins and banknotes, with configurable payout outcomes and safe session recovery.

Field servicing

Controlled operator access, stock workflows, initialisation progress and recorded activity.

Central oversight

Configuration, rates, health, transactions and support information synchronised in both directions.

Architecture

Autonomous at the edge, visible at the centre.

The customer application is isolated from synchronization and hardware specifics. Independent workers move inbound and outbound messages, while the central platform supplies operational control and fleet visibility.

Blazor kiosk UIHosted in a WinForms/WebView shell
Domain servicesTransactions, payout, receipts and state
Device adaptersPhysical hardware and simulators
Sync workersDurable inbound and outbound messaging
Central platformConfiguration, inventory and operations
Delivery approach

Test the failure paths, not just the happy path.

Interface-based device services, hardware simulators and a desktop test harness allowed software work to continue away from the physical cabinet. Automated specifications, structured logging, health reporting and recoverable update tooling support diagnosis and ongoing evolution across the kiosk and server estate.

One kiosk experienceCustomer conversion and field servicing coexist with deliberate access boundaries.
Hardware abstractionStable interfaces isolate transaction logic from vendor-specific device behaviour.
Resilient synchronizationDedicated workers separate central communication from the interactive journey.
Operational recoveryExplicit error states, health reporting and update controls help teams restore service safely.
.NETBlazorWinFormsWindows ServicesASP.NET CoreSQL ServerxUnitHardware simulators

Building software that must work in the physical world?

Talk to our team →