Skip to main content
You are wiring the client in a React tree. Wrap the app once. After that, screens ask the client for a catalog of questions, for one market, for one answer, or for one wallet. Install the SDK, viem, and react first. Reads need a chain id and a public client. Writes need a wallet, or a batched sender if you use account abstraction. Leave addresses unset unless you deployed your own. Then you can list existing questions, or create “Will ETH be above $5,000 at year end?” with Yes and No.

Wrap the app

If you use account abstraction, prefer sendCalls so seed, swap, and add liquidity can batch into one UserOp. A plain walletClient sends each inner call as its own transaction.

List markets, then ask one for pictures

That read is the catalog. Names and answers come back; pictures do not. People can trade only after you create and seed, or after you pass the first liquidity in the same create call. useVoiz() throws outside the provider.

Next