Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Apps plugged into DSM

These apps are plugged into DSM today. Each kept its own server and its own logic, added a DSM account of its own, and lets its users connect their DSM wallets to it. Their code is public, in Irrefutable Labs' repositories.

AppWhat it isWhat DSM does in it
WildstateA creature-collecting game for AndroidThe coin and every creature are objects in the player's own wallet; the shop, the market and staked matches run through it
OpenBoxes for DSMThe open-source warehouse and inventory systemCustody: a stock change stands only when DSM recorded it; staff sign in with their wallet; a carrier takes custody on a phone
CBFpy for DSMA prototype AI with a bodyEvery step it takes is a DSM transition, decided by rules, and anyone can audit the chain from public keys

Wildstate

Wildstate is a creature-collecting game for Android: walk the camp, catch creatures in the tall grass, battle trainers, buy capsules, trade at the market, and fight other players in the arena. Walking, encounters, battles and dialogue run on the game's own server and never touch DSM. What a player owns lives in their DSM wallet.

Wildstate's connect screen: OPEN DSM WALLET, a QR code, and the list of what the game asks the wallet for
The game shows its code and lists what it asks the wallet for.
The camp after connecting: the bar shows 4 capsules and 70 WILD
The camp. The 70 WILD on the bar is what the wallet proved it owns.
A wild Mossling at 12 of 40 HP, caught: Mossling joined your collection
A Mossling caught. The game's account issued it as an object, one of one, and gave it to the wallet.
Bramble's trading post: a capture capsule for 3 WILD, and your wallet sent 3 WILD
A capsule, granted once the wallet's 3 WILD arrived.
The market: the game's 5 vaults, what the wallet proved it owns, and a trade done
A trade at the market: 1.00 ERA for 49 WILD, through the game's vaults.

In the game:

  • WILD, the game's coin, is an object the game's account issued, with a fixed supply. The game pays players in it: a starting amount when they connect, and a bounty for each trainer beaten.
  • Every creature is an object of which exactly one exists, issued by the game's account at the capture. It names the game as its issuer, its species and its capture number; its HP, XP and charges are game data kept against it.
  • The shop is paid through the wallet. A capsule is granted only when the wallet's 3 WILD has arrived on the game's own account; a message saying "paid" grants nothing.
  • Coins and the roster come from proofs of what the wallet owns, which the game's account checks itself.
  • The market is a WILD/ERA vault the game's account funds, and players trade with it from inside the game.
  • The arena's staked matches are decided by a pinned program, not by a referee. Each wallet locks its own stake, and the winner takes both. The program is wildstate-duel, in this repository.
  • Pressing DSM in the game shows one timeline: what ran on the game server, and every call the game's account made on DSM.
The DSM overlay over the camp: for request 20, what DSM established, with the account's position, economic root and device tree
Press DSM: for a payment (request #20), what the game's own account established, with its position, economic root and device tree.

The game connects the way Make an offer, connect a wallet does: it shows a code, and the player opens it in their wallet and approves what the game asks for. Its integration is described in docs/dsm-integration.md; the game is Irrefutable-Labs/wildstate-dsm.

These screenshots are from a run on 2026-11-11 with the game on DSM's current code, a new game account on the beta network, and DSM's terminal wallet as the player. The wallet connected, got its starting coin, bought capsules, was given the creature it caught, proved what it owns, and traded at the market. That update is pull request #23.

OpenBoxes for DSM

OpenBoxes is an open-source warehouse and inventory system, first written to track emergency medical supplies in Haiti after the 2010 earthquake and now run by healthcare facilities around the world. OpenBoxes for DSM keeps OpenBoxes' books, and gives DSM the authority over custody at a DSM warehouse.

OpenBoxes sign-in: a username, Ask my phone, and the code the wallet must show
No password. The person approves the sign-in in their wallet, which must show this browser's code.
The door screen: shipment 938PDP, 120 units of amoxicillin, with the carrier
At the door: 120 boxes with the carrier, who holds 120 custody units in their wallet.
Lakeside's receive screen: 130 counted, and the refusal: DSM moved 120
Lakeside counts 130 and is refused: DSM moved 120, and the books cannot take in what the account has no custody of. It received the 120.

In the app:

  • Each warehouse is a DSM account. A stock change there (a receipt, a transfer, a shipment) stands only when DSM has recorded the matching transition. Otherwise the write fails.
  • The books follow DSM. A reconciliation reads DSM's state, finds any gap, and corrects it with a new entry, never by editing history.
  • Sign-in is the wallet's. A person signs in by approving a request in their wallet. Once a wallet is bound, passwords stop.
  • Seats are held in vaults, assigned and returned on DSM, and a revoked seat stays revoked.
  • The carrier leg. Handing a shipment to a carrier sends the organization's custody units to the carrier's wallet. At the destination's door the carrier hands them over on a phone screen, the destination takes them in, and receiving is admitted only up to what DSM moved.
Levels of access and seats: the warehouse manager level is an object with a cap of 5, and seat 1 is locked in a vault naming its holder
Seats. The warehouse manager level is an object with a cap of 5; seat #1 is locked in a vault naming its holder, and only the owner's wallet can revoke it. On the right, each DSM record the organization's account signed.
The authority record and custody on record: each entry signed by the organization's account; Lakeside proved it holds 120 of the shipment
The authority record, each entry signed by the organization's account and read back from the storage nodes. Below it, custody on record: Northgate asked Lakeside's account to prove what it holds of the shipment, and got 120, with no access to Lakeside's systems.
DSM and the books: a gap of 40 found by the reconciler and corrected by the owner, both findings signed
DSM and the books. A hand edit to the database added 40 boxes; the reconciler found the gap against DSM and signed it, and the owner corrected it forward with a new entry. Both findings stay.

It is in review as pull request #1 on Irrefutable-Labs/openboxes-dsm. On 2026-11-11 its whole demo ran on DSM's current code, on the beta network, with terminal wallets standing in for the phones: all 13 steps passed, from the owner's claim and the sign-ins to the seat revoked, the carrier's hand-over, the count refused, the proof of 120 and the gap corrected. Its 253 unit tests and 26 integration tests pass. These screenshots are from that run.

CBFpy for DSM

CBFpy is Stanford's library for control barrier functions: the mathematics that keeps a robot's controls inside a safe set. Irrefutable Labs' fork adds a prototype on DSM: an AI with a body proposes what to do next, and deterministic rules decide which proposal may become a real step on a DSM chain. No AI judges anything.

The Ethical Autonomy Console after a run: what the AI knows, the audit, the chain, and every candidate it put forward with the reason each was refused
The console after a run: what the AI knows, the audit, the chain, and every candidate it put forward, each refused one with its reason.

How DSM carries it:

  • Every proposal is committed. Each candidate the AI puts forward is committed with its outcome under one fork root, refused ones included, so the chain holds everything it proposed, not only what it did.
  • A step is a DSM transition. The enforcer, the only program holding the device key, checks a candidate from what the step before it already knew, commits the chosen one, stores it, and only then carries out the act and signs a receipt for it.
  • What the senses report is committed too. A look's report is its own signed link and must answer exactly the look its parent asked for. Anything the AI could reach that it has not seen recently counts as occupied.
  • Anyone can audit it. ethical-audit checks the stored chain link by link, each from its parent alone, replays it through DSM, checks every act's receipt, and checks that the world holds exactly what committed acts wrote. It needs public keys only.

The rules it enforces are set out in its README: it never aims at harm to any animal bigger than a baby mouse as an adult, or to any honeybee; it never knowingly causes harm; what it has not seen counts as present; it drives no faster than it could stop on road it has seen; a conflict ends in a no, with the reason; and if its senses fail their check, every motor act stops.

What it knows: the AI's body beside a wall, cells it has seen, cells it never saw, and a dotted circle behind the wall
What it knows: its body beside a wall, and the cells behind it it never saw, which count as occupied. With show what was really there on, the dotted circle is who the simulated world put behind the wall. It never broke through.
The audit: charter, chain, receipts, considered forks and world, each checked
The audit, from public material alone: the charter, the chain, every receipt, every replaced fork, and the world.
Candidates the AI put forward and the rules refused, each with its purpose, its claims and the reason it was refused
Candidates it put forward that the rules refused, each with what it declared and the reason.

These come from a run of the prototype as its README describes it, on its main branch on 2026-11-11: the recorded run of the real model, replayed on the wall world, then the audit. The replay ended:

sequence 20
committed steps: 12
every committed step verified from its parent

and the audit printed:

10 superseded forks verified from their parents, holding 30 more candidates, 30 of them refused or unmeasured
every step's act has a receipt signed by the device
the world holds exactly the 12 files committed actions wrote, and nothing else
charter in force: version 1

It enforces the rules and the facts it is given, in a simulated world. It does not understand ethics, and an act that passes is not made good by passing. Its report says what is and is not shown; the code is in Irrefutable-Labs/cbfpy-dsm.