View
In progress Alpha v1.0 Humble and Jazzy Testnet and mainnet

Open Robot Economy

An open source ROS 2 package that lets one robot pay another. Wallets, escrow, payment requests and sensor-triggered settlement, exposed as ordinary ROS 2 primitives so a machine can hold up its end of a deal without a human in the loop.

Package
robopay, native rclpy API
Primitives
Wallets, escrow, requests, conditions
Networks
Runs on testnet and on mainnet
Licence
MIT
robopay: wallets, conditional payments, escrow and payment requests
01 / The problem

The step that still needs a human

A robot can plan a route, drive it, dock and hand over a parcel with nobody watching. It cannot pay for the electricity it used on the way, or charge for the delivery it just made. That step still goes through a person, an account and a settlement delay.

robopay allows each robot to get a wallet it controls, and a way to move value that is triggered by the same things the rest of its stack already reacts to: a topic, a service response, a sensor reading.

01
Wallets
A keypair generated on the robot. No accounts, no custodians, no humans in the loop.
02
Conditions
Money that moves only when the world proves the work: a topic fires, a service returns, a sensor agrees.
03
Escrow
Open, fund and release between any two peers, with an automatic refund if the condition never lands.
04
Requests
Robots can invoice each other. Request, approve and settle machine to machine in seconds.
02 / Architecture

Payments as ROS 2 nodes

The design constraint I set was that nothing should feel bolted on. A roboticist who already knows nodes, topics and callbacks should be able to add a payment to a stack without learning a payments SDK.

Fig. 01Two robots, each running the same set of nodes, and the settlement layer underneath them.scroll to pan

Each robot runs a small set of cooperating nodes. The wallet holds the keypair and the balance. The policy guard enforces the limits their operator set: spending caps, allowed counterparties, ceilings per transaction. The condition watcher is the piece that makes this robotics rather than finance, subscribing to ordinary ROS 2 topics and services and releasing money when the world says the work happened.

03 / Escrow

Money that waits for proof

Two machines that have never met do not trust each other, and there is no dispute desk to call. Escrow removes the need for trust: the payer commits the funds up front, and they only move when a condition the payer specified is satisfied.

Fig. 02A delivery paid on proof of scan. Accent arrows move value, dashed arrows carry information only.scroll to pan

The failure case is the one that matters, and it is handled by construction. If the parcel is never scanned, if the dock is never reached, the condition never fires, the escrow expires and the funds return to the payer automatically. Nobody has to notice, chase or arbitrate. Every release produces a signed receipt, so an operator has an auditable record of what their fleet spent and against which physical event.

Why a stablecoin

A balance a robot earns on Monday has to still buy the same charge on Friday, otherwise every spending policy you write has to model an exchange rate as well. Settling in a dollar stablecoin keeps that variable out of the control problem entirely, which is the only reason the asset choice matters here.

04 / The argument

Why I think this matters

The library is the engineering. The reasoning behind it is an essay I wrote in September 2026, and the running demos live on the project site.

Cover page of the essay

Why software agents crossed this line first, why robots follow, and what an economy of such machines would mean for growth and for the cost of living.

Read the essay