Case Study: BudKoin Smart Vending Machine
BudKoin came to us with blockchain-based payments and no hardware to run them on. Vending machines are built around cards, cash, and coin mechanisms — none of that fits a payment flow where a transaction is confirmed on a user's own device before anything physical happens. We designed and built the machine from the controller up: a Raspberry Pi-based system with a PyTorch-driven interactive display, MDB protocol integration for the physical dispensing hardware, and a QR-code ordering flow that keeps blockchain payment cleanly separate from the moment the machine actually dispenses. The unit has been running outside Jersey Airport since March 2025.



The Client's Challenge
BudKoin's payment platform is built on blockchain rails, and blockchain payments don't behave like a card swipe or a cash slot — a transaction can take a variable amount of time to confirm, and there's no card reader or coin mechanism that speaks blockchain natively. Off-the-shelf vending controllers are built around card and cash payment hardware; none of them have a path for a payment that gets confirmed somewhere else entirely, on a user's own phone, before the machine does anything.
The deployment location made the constraints sharper. The machine sits outside Jersey Airport, a high-traffic transit-adjacent site where people are moving fast and don't have patience for a slow or confusing machine. Downtime or a failed transaction there isn't a minor inconvenience — it's a lost sale in a location where the next customer is thirty seconds behind the last one. BudKoin needed a machine that could handle blockchain payment without making the person standing at it wait for a blockchain to confirm.
The Engineering
The controller is built on a Raspberry Pi, chosen because the interface BudKoin wanted — a responsive, PyTorch-driven interactive display that guides a user through ordering — needs more than a microcontroller can give it. Running full graphics, a machine-learning framework, and a web-connected backend on the same board isn't something an MCU-class chip does well; it's a job for a real OS and real compute, which is exactly what the Pi provides. That same Linux foundation also made the two things this project actually depended on — MDB protocol integration with the vending hardware and a web-based backend talking to BudKoin's payment platform — straightforward to build and maintain on one board, rather than splitting the job across a microcontroller for hardware control and a separate device for the interface. This is work our Raspberry Pi developers own end to end, from board bring-up to a machine running unattended in the field.

The part of this project that mattered most wasn't the display or the dispensing mechanism — it was deciding where payment happens relative to where dispensing happens, and that's the real engineering decision behind the machine. A user scans a QR code on the machine, which opens a mobile-friendly ordering page on their own phone. They select a product and pay through BudKoin's blockchain payment platform from that page — not from the machine — and once payment settles, they get a unique order ID. Back at the machine, they enter that order ID, the system verifies it against the backend, and the dispenser fires. Splitting the flow this way means the machine never sits idle waiting on a blockchain confirmation; the waiting happens on the user's phone, at their own pace, before they're even standing at the machine.

Once an order ID is verified, dispensing itself runs over MDB protocol — the industry-standard bus that commercial vending mechanisms use to talk to whatever's controlling them. Building on MDB instead of a custom dispensing interface meant the machine could use proven, already-reliable vending hardware for the part that physically has to work every time — motor drives and slot selection — while the Pi and our own firmware handled everything upstream of that: the display, the order verification, and the backend link to BudKoin's payment system.
The web app backend is what ties the two halves together. It integrates directly with BudKoin's payment platform and maintains a secure mapping between each order ID and the transaction it corresponds to, so an order ID can only be redeemed once and only against a payment that's actually confirmed. That mapping is what makes the whole QR-to-dispense flow trustworthy — a customer can't reuse an ID, and the machine never dispenses against a payment that hasn't cleared. It's the same discipline that goes into any custom vending machine development project we take on — the payment logic has to be as reliable as the motor that turns.
The Tech Behind It
Raspberry Pi serves as the heart of the machine, handling hardware communication and running the interactive UI.

PyTorch was used for the on-screen interface, providing a flexible and responsive AI-driven UI experience
MDB Protocol integration allows the Pi to interact with modern vending hardware to work seamlessly.

Web App backend integrates with Budkoin's payment system and maintains secure order ID mapping.
Why This Couldn't Be an Off-the-Shelf Machine
Most vending projects don't need custom hardware — a standard cashless reader bolted onto a standard machine covers most payment methods. Blockchain broke that assumption. Every commercial vending controller on the market is built around a small, fixed set of payment rails: card networks, mobile wallets that settle through those same networks, coins, and cash. None of them have a slot for a payment that's confirmed on-chain, on a device the machine doesn't control and can't see.
That ruled out buying a controller and integrating BudKoin's platform into it after the fact. The QR-scan-to-order-ID flow isn't a payment plugin you can drop into existing vending firmware — it's a different relationship between the machine and the transaction, where the machine's job shifts from processing a payment to verifying that one already happened. Building that meant owning the controller, the display, and the backend as one system from the start, rather than layering a workaround onto hardware designed for a payment model BudKoin was deliberately not using.
Production and Delivery

The machine has been installed and running outside Jersey Airport since March 2025, in continuous operation under an ongoing maintenance partnership with BudKoin. It's not a pilot sitting in a lab — it's a live, public-facing terminal processing real transactions in a transit-adjacent environment where reliability isn't optional.
That ongoing relationship matters for a machine like this in a way it wouldn't for a typical software product. Hardware sitting outside an airport takes weather, vibration, and constant public handling that a lab environment never tests for, and firmware that behaves correctly on day one still needs to keep behaving correctly as BudKoin's payment platform evolves on its end. The maintenance partnership means the same team behind the controller hardware, firmware, and enclosure is still the team responsible for it once it's live — not a support ticket queue, but continuity from the people who understand why the machine was built the way it was.
Outcome
Since going live, the machine has held 98% system uptime and a 95% payment success rate across more than 1,500 transactions processed. Those numbers are the real evidence here — a vending machine running a blockchain payment flow, unattended, in a high-traffic public location, doing what it's supposed to do the vast majority of the time it's asked to. If you're planning a similar product, see how we structure taking an IoT product from idea to live deployment.
What This Proves
This is what it looks like to build hardware around a payment method vending machines were never designed for. Raspberry Pi compute for the interface, MDB protocol for dispensing, and a QR-based order flow that keeps blockchain confirmation off the critical path — one team handling the controller, the firmware, and the backend integration, deployed as a working machine outside Jersey Airport rather than handed off as a prototype.
Have a Vending or Kiosk Hardware Idea?
Whether you need a custom vending controller, an unusual payment integration, or a small-batch production run of working units, DigitalMonk can turn it into deployed hardware.