How Mitoshi fits together
The contracts decide and pay; the keepers keep the clock and the prints moving; the app shows you evidence. What each part can and cannot do.
Your passkey or a capped key signs; ops keeps the clock and the prints moving; the engine decides and pays.
Choose a stage to read what it does and what it cannot do.01 · Your account
02 · Venue operation
03 · Read and prove
Passkey account
Sign-up creates a passkey; your Tempo account comes from it, and Tempo checks its WebAuthn signatures natively. Mitoshi keeps only the public key and the credential id.
Only your passkey withdraws, revokes keys or changes the account.
Tempo testnet (Moderato) with testnet pathUSD. Live checks are dated in Evidence. The relay and the keepers are Mitoshi's servers: they can stall, but they cannot move your money or change a result.
Download diagram Full sizeThe parts
| Part | Where | What it does |
|---|---|---|
| Contracts | Tempo testnet (Moderato, chain 42431) | The market engine and its print verifiers; the Trading Balance; the maker vault and three house reserves; the private desk; the duel arena; strategies; the stock mirrors, guard and pools; themes; launchpads. They hold the money and the rules. |
| Ops | One process on Mitoshi's Coolify server | Actors that open Windows, post prints, settle and pay, quote the house's books, run exits, strategies and theme rebalances, crank duels, place calls from X, follow the bridge, index the chain and watch halts. They can stall; they cannot move your money or change a result. |
| Web | Next.js at mitoshi.xyz | The app, its read APIs, the passkey, X sign-in and faucet routes, the relay, the stream ticket, the games' servers and the Memory Market's paid reads. |
| Postgres | Beside ops and web | The index, the print archive, relay budgets, exit triggers, social posts, arcade runs, draws and duels, X links and receipts. A view of the chain, never its source of truth. |
contracts/ Foundry: deployments/<chainId>/<area>.json are the addresses everything reads
packages/ core (pure rules) · markets (all chain I/O) · clients (generated ABIs) · db · brain · tokens
services/ ops — every actor on one runtime, one HTTP server
web/ Next.js 16 app
mobile/ the Expo shell around the testnet siteOnly packages/markets reads or writes the chain; packages/core stays pure, so every money rule is a function you can test without a network.
Trust, plainly
Loading diagram…
Read diagram source
flowchart LR
You[Your passkey] -->|owns| Account[Your Tempo account]
Account -->|capped key or grant| Engine[EventsEngine]
Relay[Mitoshi relay] -.->|pays network fees| Engine
Ops[Ops keepers] -->|open Windows, post prints, settle| Engine
Verifier[RedStone print verifier] -->|admits signed prints| Engine
Engine -->|pays the position's owner| Account
Account -->|deposit| Vault[Trading Balance]
Keeper[Exit keeper] -->|sell-only, above the floor| Vault- Your money moves only by your signature, or by a key or grant you made, inside caps the contract enforces. No contract takes a payout address: a payout goes to the caller, or — when a keeper settles for you — to the position's owner.
- Results come from signed prints the verifier admits and the engine's rule. There is no admin void.
- Mitoshi's servers — the relay, the keepers, the indexer — can stop working. Then no new Windows open, payouts wait and the app's reads go stale. On the Windows that exist, anyone can still post RedStone's signed prints, settle or void, redeem and withdraw on chain.
Read on: contracts, prices, ops and the indexer, the relay and keys, deployments, and what each platform under it does: built on Tempo.