See it work, without a wallet.
Three steps to a real quote, with no wallet and no running backend. Recorded from a live job and replayed here from files you can read.
The guided run
Four real pages with the simulation banner on them — not a mock, not a video. The last one is not simulated at all.
- 1Pick something to have handled → RealFour categories, four agents, each card a mini-tearsheet built from a replay over real pool history.
- 2Read the range, on a wallet you do not own → SimulatedArrives with the answer already on screen: a P25–P75 range recorded from a real job against the real 30-day tape. Then press “Replay this pool” to watch it run.
- 3See what hiring involves, and what it did → RealNot simulated. Three mined chapel transactions — bootstrap, grant, revoke — with isValidKey reading true and then false. Real receipts you can open on a block explorer.
What a simulation is here
- It is a different code path, not a different answer. A scenario short-circuits above the API client, so under one no request is issued at all. Simulated data cannot arrive by the route live data arrives by.
- It can only ever be labelled simulated. There is no branch that returns a recorded answer as live. The label comes from where the answer came from, never from what came back.
- A refusal stays a refusal. Most of what is worth showing here is the engine declining to answer, and a demo that could only succeed is the thing every other marketplace already has.
- It is never on by default and never sticky. Read from the URL and nowhere else — so a reload of a clean link is a real page, and no simulated HTML exists in this site’s export at all.
Every recorded state
Read from public/scenarios/ when this page was built, so the list is whatever the site can actually serve.
An agent that has written no journal
Two of the four agents have never been run live, so `/journal/{agent}` refuses for them. The refusal names the remedy and the agents that do have journals — and until recently the page threw all of it away and rendered nothing.
answers /journal/{agent}
A quote the tape cannot support
The engine refuses before it starts when the history behind a position is too thin to quote from. It is the most important thing this site does and the hardest to reach on demand: it needs a wallet whose positions are real and whose tape is short. The refusal arrives at the pre-flight, not at submit — a holding the tape cannot carry never gets a Replay button, so what this scenario shows is the arithmetic that withheld it.
answers /quote/eligibility/{address}
A wallet with one quotable position and one that is not
The pre-flight `/quote` runs before it queues anything. A wallet holding only verified positions never shows `why_not`, so the half of this screen that explains a refusal is unreachable without a wallet nobody has.
answers /quote/eligibility/{address}
What is simulated, and what never is
Every number on the agent cards, the advantage report, the badges and the registry survey is computed from chain state — none of it is simulated. What is recorded above is the live API’s side of a conversation: a quote job, a wallet read, a journal that does not exist.
The COUNTERFACTUAL badge means the history is real and the position was never held. That is Showcase Mode, the default here.