⚠️ Alpha · testnets only. ChainRender is in active alpha and deployed on testnets only — Ethereum Sepolia, the Robinhood Chain Testnet, and the Circle Arc Testnet — not on any mainnet. Contracts, addresses, and APIs may change. Do not use with real funds or production assets.
Guides

Guide: Build a Multi-View App

Goal: an app with tabs (or wizard/master-detail/modal navigation).

Compose multiple views into a shell; the shell provides navigation, each view renders its own on-chain floor:

// multi-view apps are composed with the multiview builders (buildTabs / buildWizard / buildMasterDetail / buildModal),
// then compiled like any component:
import { format } from "@chainrender/client";
const app = buildMultiView({
  shell: header,
  views: [quoteView, venuesView, routeView],
  template: "tabs", // or "wizard" | "master-detail" | "modal"
});

A reachability invariant (enforced on-chain) ensures no view is stranded. The app's capability envelope is the union across all views + shell. See Concepts → Composition.