1
Install the CLI and log in
login opens the browser. Log in to Bankroll with your phone number and
approve the code the terminal shows. The session stays in your machine’s
credential store; bankroll logout removes it.2
Create the app
create makes the app on Bankroll: a private repo from the
starter, a wallet
Bankroll runs for it, and a hosted address. It then clones the repo here,
with one git remote, named bankroll, and prints the directory. Pass
--no-clone to skip that; bankroll apps clone <id> fetches an app you
already have, and bankroll apps lists them.The name goes into bankroll-app.json at the root of the repo. It is the
name Bankroll signs into your app’s manifest on the
next push, and the name a player sees. Leave the name out of create to
write that file yourself.3
Run it
.env.development, written by Bankroll
when it made the app: STORE=fs keeps the app’s documents in local
files, and BANKROLL_MOCK=1 lets the server accept a stand-in host, so
sessions and charges work with no money moving. An older app has no such
file; give it the two settings in .env.local. npm run check -- /app
opens the app in a headless phone-sized browser with that host and fails
on any error; its screenshots land in checks/. To open the app on your
own phone, npm run dev -- --phone prints a QR: see
Local development.4
Build your app
The repo’s
AGENTS.md is the guide: where the screens live, how the
session, payments, and payouts work,
and the money rules. src/app/app/home.tsx is the surface you replace.
Building with a coding agent? Build with an agent gives
it the same knowledge as a skill.5
Push: the test version
wait test watches the build,
a minute or two, then prints the test address and a QR that opens it in
Bankroll on your phone. A failed build prints its reason, and your phone
gets a push notification.The test version has its own address and takes test cash only: a
token worth nothing that Bankroll mints on request. Get some from the
version’s menu in the app, or with bankroll faucet. Anyone you share
the test address with gets the same.6
Publish: the live version
git log bankroll/live..bankroll/main is what is tested and not yet live.
bankroll apps archive <id> takes the app off the air. Bankroll is not a
gaming regulator and takes no responsibility for your licensing or
compliance; operating lawfully in the regions you serve is your
responsibility.Next
Build with an agent
The skill that teaches Claude Code, Codex, or Cursor this workflow.
Local development
Bankroll Desktop on your Mac, your phone through a tunnel, the dev signing key.
Payments
charge() input, idempotency, server-side verification, error codes.Paying a user
Payouts and refunds as HSUSD transfers to the user’s wallet.