BotanaryBotanary
Api client

Quickstart

Get the frontend running against mocks in three commands, then point it at a real backend when you need to.

The fastest way to start building against Botanary's API is to not run a backend at all. The frontend ships with a complete MSW mock layer, and mock mode is the default.

Install and configure

pnpm install
cp .env.example .env.local   # MSW-only mode is the default

Run it

pnpm dev   # http://localhost:3000 - runs against mocks, no backend

Everything you touch - balances, delegations, activity, notifications - is served from fixtures typed against the same generated schema the real API uses, so a contract change that isn't reflected in the fixtures fails the build rather than silently drifting. See Local development for how the mock layer actually boots.

Making a call

Once the app is running, every API interaction goes through the generated client covered in API client - a typed query or mutation keyed by method and path:

const rules = $api.useQuery('get', '/account/rules');

Point a component at any path in the OpenAPI contract this way and get full request/response typing for free, whether you're running against mocks or a real backend.

When you need the real thing

If your contract changed, or you need to develop against something MSW mocks don't cover, regenerate the client and stand up the backend:

pnpm api:generate   # regenerate src/api/schema.d.ts from the OpenAPI contract

The backend's own local stack runs as a docker-compose profile - a local L2 (anvil), the backend itself, and its datastores - with an optional profile that also runs the frontend against it with mocking turned off. See Local development for the full walkthrough, including ports and what each container actually does.

You don't need a running backend, a database, or any real vendor credentials to start building against Botanary's API surface - the mock layer is a complete, typed substitute until you actually need real chain state.

On this page