Skip to main content
A Bankroll app is a web app that Bankroll hosts and opens inside its mobile app. You make one with the CLI, build it in its repo, and push. Every push builds a test version, paid in test cash; a second push publishes it to everyone. Nothing to register, no keys to hold.
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

The app opens in Bankroll Desktop, which runs it on your Mac the way the Bankroll app runs it on a phone: as a test user, with test cash, with every call your app makes listed beside it. No real money moves. The first run installs Bankroll Desktop if your Mac has none. A new app carries .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

Bankroll reads the code, decides where the app may take real money from what it does (the restriction policy), signs its manifest, and builds 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

That publishes the commit you tested as the live version: listed for every Bankroll user, at the app’s own address, and real players pay real money. Nothing else publishes; the branch is the switch. 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.
Questions, or a deal to discuss: the team is in the Built for Bankroll Discord.

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.