> ## Documentation Index
> Fetch the complete documentation index at: https://docs.voiz.digital/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> TypeScript SDK for Voiz markets on EVM

`@voiz/markets-sdk` is the TypeScript SDK for Voiz markets on EVM. List markets, seed pools, trade, add liquidity, and read positions — with viem under the hood.

## Install

<CodeGroup>
  ```bash npm theme={null}
  npm install @voiz/markets-sdk viem
  ```

  ```bash pnpm theme={null}
  pnpm add @voiz/markets-sdk viem
  ```

  ```bash yarn theme={null}
  yarn add @voiz/markets-sdk viem
  ```
</CodeGroup>

React apps also need the React peer (optional for vanilla viem):

```bash theme={null}
npm install react
```

Import paths:

* `@voiz/markets-sdk` — `VoizMarketsClient`, helpers (`quoteSeed`, `normalizeOddsBps`, `getAddresses`), types, `erc20Abi`
* `@voiz/markets-sdk/react` — `VoizProvider`, `useVoiz`

## Mental model

Access everything through a client, then drill down:

```ts theme={null}
client.market(address)  // status, seed, resolve, LP across outcomes
client.pool(token)      // quoteTrade, swap
client.user(address)    // trades, sharePositions, LP
```

Writes use an injected `sendCalls` (or a `walletClient` fallback). Call `market.seed`, `pool.swap`, and similar — the client submits for you.

## Next steps

<CardGroup cols={2}>
  <Card title="Key concepts" href="/concepts">
    Client → Market → Pool → User, quotes vs writes, indexer vs RPC.
  </Card>

  <Card title="Quickstart: React / Next.js" href="/quickstart-react">
    Wrap your app with `VoizProvider`, then use `useVoiz().client`.
  </Card>

  <Card title="Quickstart: vanilla viem" href="/quickstart-viem">
    Construct `VoizMarketsClient` without React.
  </Card>

  <Card title="Create a market" href="/guides/create-market">
    Step-by-step flows after you are set up.
  </Card>
</CardGroup>
