> ## 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.

# How VOIZ works

> A living market: one complete-set OutcomeAmm per question.

VOIZ is a prediction market your community can feel. Under the hood it is two pieces:

1. **A complete set** — one unit of collateral is always named outcomes + Invalid.
2. **One OutcomeAmm per market** — LPs *are* the book. Named prices satisfy `p_i ∝ 1/x_i`.

You launch a question. People trade. Settlement stays on-chain.

## The peg

```
1 collateral  ⇄  Yes + No + … + Invalid
```

Split and merge anytime you hold the full set. After resolve, the winner is 1 and the rest are 0. Until then, that identity is true on Conditional Tokens even as AMM mids move.

## The book

Each market clones **one** OutcomeAmm. Named outcomes trade against that AMM. Invalid is held for split/merge. On-chain `OutcomeAmm.prices()[numOutcomes]` is always 0; `market.prices().rows` does not include that slot. Buy/sell of Invalid reverts.

Spot prices (1e18) over named outcomes:

```
p_i  =  (1 / x_i)  /  Σ_j (1 / x_j)
```

`x_i` is the AMM's reserve of outcome `i`. Named prices sum to 1. Invalid is not in that sum.

A buy of Yes is not minting a set into the trader's wallet. The AMM splits collateral, pays out Yes, and keeps the rest of the set as inventory. Yes reserve falls; other named reserves rise. Yes's price goes up; the others go down. No separate rebalancer is required.

[How LPs work](/guides/liquidity).

## Who gets paid

`totalFeeBips = 100` protocol + `lpBips` + `creatorBips` + `referrerBips`. Variable cuts (`lp + creator + referrer`) cap at **150 bps**. SDK defaults: LP 80, creator 50, referrer 20. Same schedule on buy, sell, and redeem.

| Cut      | Default | Who                                      |
| -------- | ------- | ---------------------------------------- |
| Protocol | 1.0%    | Treasury (cash)                          |
| LP       | 0.8%    | Stays in the pool as extra complete sets |
| Creator  | 0.5%    | Market creator (cash)                    |
| Referrer | 0.2%    | Referrer, or treasury if `address(0)`    |

LPs do **not** get a USDC stream. Their cut is inventory. Mark-to-market vs cost is [the LP book](/guides/liquidity). Worked numbers: [LP calculator](/guides/lp-calculator).

## From spark to settled

1. **Create** — `createMarket`. Pass `seedWei` + `oddsBps` for create-and-seed in one factory tx (approve the factory). Omit `seedWei` for an empty book.
2. **Seed** — if you did not seed on create: `market.seed` (`addFunding` with opening odds, Invalid = 0).
3. **Trade** — people `buy` / `sell` one named outcome at a time.
4. **Resolve** — payouts are published. Named shares are now 0 or 1.

**Trading stops at resolve on purpose.** `buy` / `sell` revert `Resolved` once Conditional Tokens has a payout denominator. A live curve quoting 0.62 while redemption is 1 or 0 is free arb on LP inventory.

After resolve, `/chart` pins the winner at 100 and losers at 0. Periodic price snapshots skip resolved markets. Creators can one-way `pauseTrading` (OpenZeppelin `Pausable`) before resolve; buy/sell/addFunding stop, `removeFunding` and redeem stay open.

Outcome shares: `market.redeem`. LP shares after resolve: `market.redeemLp` (burns pool shares, redeems the basket to collateral). Open-market LP exit is still `removeFunding` (token basket, not cash).

## What this is not

Not one Uniswap pool per outcome. Not PositionManager NFTs. Not a rebalancer that trades complete sets through independent books. Not an order book.

Next: [liquidity](/guides/liquidity) · [trade](/guides/trade)
