# About Butter

**Butter is a conditionals exchange.**

Conditionals let you trade the forecasted price of an asset conditional on the outcome of an event. Each outcome has its own branch with a branch price reflecting what the market expects the asset to be worth if that outcome occurs. Positions in unrealized branches expire worthless; the realized branch settles to the observed price.

See [What are conditionals?](/welcome/what-are-conditionals-1) to learn more, or jump to [Getting started](/user-guide/getting-started) to begin trading.


# What are conditionals?

{% hint style="info" %}
**Definition.** Conditionals are **event futures** whose payout is the value of a datapoint (**asset price, index, KPI**) *conditional on the outcome* of an event.&#x20;
{% endhint %}

<figure><img src="https://images.unsplash.com/photo-1658487476847-a180f98870d0?crop=entropy&#x26;cs=srgb&#x26;fm=jpg&#x26;ixid=M3wxOTcwMjR8MHwxfHNlYXJjaHw0fHxtdWx0aXZlcnNlfGVufDB8fHx8MTc2MjIyMDI2Mnww&#x26;ixlib=rb-4.1.0&#x26;q=85" alt=""><figcaption></figcaption></figure>

Each conditional market has one branch per mutually exclusive outcome. The branch price reflects the market's forecast of the asset's value if that outcome occurs.

### Examples

One example is a BTC *conditional* on a Fed cut, hold, or hike outcome.

One example is an S\&P 500 *conditional* on a candidate A win, candidate B win, or candidate C win outcome.

One example is an AAPL *conditional* on an earnings beat, inline, or miss outcome.

### How it works

* **Shared collateral:** One deposit supports all branches simultaneously.
* **Deterministic resolution:** Non-realized branches are cancelled; the realized branch settles to the observed asset price.
* **No liquidations:** Positions are fully collateralized by conditional USDC within each branch.

### Trading conditionals

Your goal is to form your own forecast of the asset's price in each outcome branch, compare it with the branch's current price, and decide whether to go long or short.

See [How to trade](/user-guide/how-to-trade) for a step-by-step walkthrough.


# How it works

{% hint style="info" %}
Conditionals split one collateral deposit across branches, let you trade within a branch, and then settle only the realized branch to the oracle-reported settlement price.
{% endhint %}

1. Select an upcoming event or decision.
2. Choose a market, such as ETH-USD.
3. Deposit collateral. For each 1 USDC of collateral in a conditional, you can trade 1 conditional USDC in each branch.
4. Take long or short positions in one or more branches, such as long if the Fed cuts, short if the Fed hikes, and neutral if the Fed holds.
5. After the event resolves, positions in unrealized branches are set to zero, and only positions in the realized branch can be redeemed according to the payout rule.


# Getting started

This page walks you through the basic steps from funding your wallet to placing and settling your first conditionals trade.

{% hint style="info" %}
This page covers logging in, depositing USDC, choosing a branch to trade, opening a long or short position, and redeeming after settlement.
{% endhint %}

***

You can access the Butter app at [app.butter.markets](https://app.butter.markets/).

***

## Log in

Click **Join Waitlist**, press **Connect wallet**, enter your email address, and click **Sign & Submit**. After you receive an email confirming you have been whitelisted, press **Connect Wallet** in the top-right of the app and connect the same address as before.

When you connect an Ethereum Virtual Machine (EVM) wallet, Butter creates a Butter wallet that is derived from your connected wallet. This Butter wallet is what holds your conditional USDC balances and positions on Unichain.

***

## Deposit collateral

Click **Deposit** in the top-right of the app to bridge USDC from any other chain into your Butter wallet on Unichain.

<figure><img src="/files/yi4U3e3rnKcRflRc8TN6" alt="Bridge to Unichain modal showing how to move funds into your Butter wallet"><figcaption><p>The Bridge to Unichain panel lets you move funds from a source chain into your Butter wallet on Unichain.</p></figcaption></figure>

Once you have deposited, your available balance updates in the **Portfolio overview** panel on the bottom right of the trading screen.

***

## Choose where to trade

Butter lets you trade and hedge the future price of assets such as BTCUSD or ETHUSD conditional on event outcomes like a Fed rate decision or an earnings release. You can use these markets to express a directional view on how the event will move the asset’s price, to offset existing exposure by taking the opposite side in a given branch, or to gain exposure only in branches where you are comfortable holding the asset.

Use the **market selector** in the top-left of the trading screen to choose what to trade:

* First select an **event**, such as **Fed rate decision (December)**.
* Then select an **asset**, such as **BTC/USD**.
* Finally, choose the **branch** you want to trade, for example **Hike ≥25 bps**, **No change (<25 bps)**, or **Cut ≥25 bps**.

<figure><img src="/files/ERE9jvzZD9kc3lppzpx4" alt="Market selector showing the list of events and assets on the left side of the trading screen"><figcaption><p>The market selector in the top-left groups events and assets so you can pick which conditional market to trade.</p></figcaption></figure>

<figure><img src="/files/VJQmG13zatdUy5xvto6P" alt="Branch selector dropdown showing the available outcome branches for the selected event and asset"><figcaption><p>The branch selector lets you switch between outcome branches for the same event and asset.</p></figcaption></figure>

The chart and branch price reflect the market’s forecast for the asset's price conditional on that outcome occurring, so you can see how the market prices the asset under each branch relative to your hedging or trading goals.

***

## Choose a trading mode

{% hint style="info" %}
Multi-Branch mode keeps collateral across branches, while Single-Branch mode exchanges it into one branch before opening a position there.
{% endhint %}

Butter supports two trading modes for event conditionals: Multi-Branch mode (Multi Mode in the app) and Single-Branch mode (Single Mode in the app).

This section describes Multi-Branch and Single-Branch modes for event conditionals.

### Definitions

Multi-Branch mode lets you split collateral across branches. This supports hedging and lets you take independent views in different branches.

Single-Branch mode lets you concentrate collateral into a single branch. This supports speculation and lets you take larger positions in the branch you select.

In Single-Branch mode, the position you open has exposure only in the selected branch and has no exposure in other branches for that position.

### How Multi-Branch mode works

In Multi-Branch mode, you open positions while keeping conditional USDC spread across all branches for the event.

You trade within branches. You do not trade conditional USDC between branches.

### How Single-Branch mode works

In Single-Branch mode, you concentrate all of your collateral into a selected branch before opening or increasing a position in that branch.

Conceptually, this flow has two stages:

1. Mint conditional USDC across all branches for the event–asset pair, as part of opening or adjusting exposure.
2. Exchange the conditional USDC in all other branches into conditional USDC in the selected branch, so that most of the collateral ends up in that branch, then use it to open the position there.

This concentrates your collateral into one branch and eliminates your conditional USDC in the other branches.

### Single-Branch leverage example

Single-Branch mode can increase effective leverage because it exchanges conditional USDC from non-selected branches into outcome tokens for the selected outcome, which increases the amount of collateral available in the selected branch for the position.

For example, if the selected outcome token trades at $0.05, then exchanging $1,000 of conditional USDC from other branches buys 20,000 outcome tokens. If the selected branch is realized, those 20,000 outcome tokens redeem for $20,000, so the position has $20,000 of selected-branch collateral and 20× selected-branch exposure for the same $1,000 committed.

$0.05 corresponds to a 5% market-implied probability.

This leverage has no liquidations or funding rates. It only pays out if the selected branch is realized, and outcome tokens for outcomes that are not realized redeem for $0.

### Settlement outcomes

At settlement, only one branch is realized.

Only conditional USDC held in the realized branch redeems for USDC.

Positions in unrealized branches expire worthless.

Your refund depends on how much conditional USDC you still hold in the realized branch after concentrating into one branch.

In Single-Branch mode, any conditional USDC exchanged into a branch that is not realized redeems for $0.

***

## Evaluate the forecast

On the trading screen you can see:

* The current **branch price**, which reflects the market’s view of the asset’s future price if that branch’s outcome occurs.
* The **spot price** of the asset today.
* The **spread**, which shows how different the branch price is from spot for that branch.

Compare these to your own view of how the event will affect the asset’s price and how that lines up with your portfolio. For example, if BTCUSD|Hike ≥25 bps trades at $60,000 and BTCUSD|Cut ≥25 bps trades at $70,000, ask whether those levels align with your expectations for BTC under each outcome.

If you already hold BTC and want to reduce downside risk under a hike, you can short BTCUSD|Hike ≥25 bps to offset part of your spot exposure in that branch. If you want exposure to BTC only if the Fed cuts, you can go long in BTCUSD|Cut ≥25 bps and avoid taking positions in branches where you see too much downside or uncertainty.

***

## Go long or short in a branch

Use the trade panel on the right side of the screen to open a position in a branch.

Before you place an order, choose Multi-Branch mode (Multi Mode) or Single-Branch mode (Single Mode) in the trade panel. See [Choose a trading mode](#choose-a-trading-mode) for how the modes differ and what they change at settlement.

<figure><img src="/files/GzXog67laNq14HgWmhKE" alt="Trade panel showing long and short tabs, size input, and order details"><figcaption><p>The trade panel shows whether you are going long or short in the selected branch, the size of your order, and the execution details before you submit.</p></figcaption></figure>

Select whether you want to be **LONG** or **SHORT** in the selected branch, then enter the amount of USDC or qty of the asset you want to trade.

The trade panel shows your estimated execution price, fees, and balance change before you submit the order. These fields update as you change direction and size.

### What the trade panel fields mean

**Position.** Position shows your current position in the selected branch and the position you will have after the trade.

**Balance change.** Balance change shows how your conditional USDC balance in the selected branch changes if the trade executes, including fees. A negative number means the trade will decrease your balance of conditional USDC. A positive number means the trade returns conditional USDC to you.

**Est. execution price.** Est. execution price is the estimated average price your trade would get from the AMM at the current pool state for the selected size. It changes with size because larger trades move the AMM price.

**Fees.** Fees shows the fee rate for the trade. It is included in Balance change.

**Post trade price.** Post trade price is the branch price after the trade executes.

**Max slippage.** Max slippage sets a limit on how far execution can move from the current price. If the required slippage exceeds this limit, the trade fails instead of executing.

Click **Place long order** or **Place short order** to confirm the trade in your wallet and open the position.

Once the trade is confirmed, your new position appears in the **Positions** section at the bottom of the trading screen, showing your size, position value, and your position's collateral in that branch.

In Multi-Branch mode, you will also have been credited with conditional USDC in the other branches for the same event.

In Single-Branch mode, Butter exchanges conditional USDC from the other branches into the selected branch as part of opening or increasing the position.

***

## Manage your positions

You can view and manage all of your open positions in the **Positions** table at the bottom of the trading screen.

<figure><img src="/files/6VVdX79dkP11ZiXtL4Cz" alt="Positions table showing event market, branch, size, position value, and margin columns"><figcaption><p>The positions table lists each open position by event market and branch together with its size, position value, and margin.</p></figcaption></figure>

From here you can:

* Track your **size**, **position value**, and **collateral** in each branch.
* See which event and branch each position belongs to, such as **Fed rate decision (December) – Hike ≥25 bps**.

If you want to adjust your exposure, either use the position's "edit" button, or make a new trade in the same branch or in other branches for the same event.

***

## Exit and settle

Conditional markets stay open for trading until the underlying event occurs or the market reaches its expiry date.

After the event happens, Butter settles the conditional:

* The oracle reports which outcome occurred and the **settlement price**, defined as the median price over a two-hour window that starts 12 hours after the event timestamp or market expiry, whichever occurs first, for the realized branch.
* Positions in the realized branch can be redeemed for USDC at the settlement price.
* Positions in unrealized branches expire worthless. Conditional USDC in the realized branch redeems for USDC, and conditional USDC in unrealized branches redeems for $0.

In Multi-Branch mode, opening a position leaves you holding conditional USDC in every branch, so the realized branch’s conditional USDC redeems for USDC even if you traded a different branch.

In Single-Branch mode, Butter exchanges conditional USDC into one selected branch, so conditional USDC exchanged into a branch that is not realized redeems for $0.

Once settlement has completed, you can redeem your positions in the realized branch for USDC and withdraw USDC from your Butter wallet back to your connected wallet whenever you are ready.


# How to trade

This page explains how to think about trading in conditional markets, and how branch prices relate to the asset’s spot price, the event's probability, and the size of its impact on the asset price.

{% hint style="info" %}
Branch prices are forecasts, and the realized branch settles to the oracle-reported settlement price, not the last traded branch price.
{% endhint %}

## What you are forecasting

Each conditional market relates to an **asset** e.g. BTCUSD, conditional on an **event**, e.g. a Fed rate decision.

Trading in a conditional market requires you to select which outcome of the event you would like to trade in. You can trade in one or many of event outcome branches. E.g.

* BTCUSD if the Fed hikes rates by at least 25 bps.
* BTCUSD if the Fed keeps rates unchanged.
* BTCUSD if the Fed cuts by at least 25 bps.

An outcome branch represents the price of the asset, in the event that the specified outcome occurs. Hence, each branch's price is the market’s forecast of the asset’s price if that branch’s outcome occurs.

<figure><img src="/files/T13RJ4mbOfDSx25F4zDD" alt="Trading screen showing selected branch, branch price, spot price, spread, and open positions"><figcaption><p>The trading screen displays the selected branch together with its branch price, spot price, spread, and your open positions.</p></figcaption></figure>

Settlement occurs after the event occurs or when the market’s expiry date is reached, whichever happens first.

After settlement starts, the oracle reports a settlement price computed from spot price data, and positions in the realized branch redeem against that price. The pre-settlement branch price does not determine redemption.

Your goal as a trader is to form your own forecast of the asset's price in each outcome branch, compare it with the branch's current price, and then decide whether to open a long (if you believe the branch price is too low) or short position (if you believe the branch price is too high).

Outcome probabilities can remain stable while branch prices move because forecasted impact changes as new information arrives. This is why you do not need to wait until right before the event to trade.

## Simple way to form a view

You do not need any formulas to trade conditionals effectively. A practical workflow is:

1. Look at the current spot price of the asset.
2. For a given branch, ask what you think the asset’s price will be if that outcome actually happens.
3. Compare your forecast for that branch with its current branch price.

If your forecast for BTCUSD if the Fed hikes is higher than the BTCUSD|Hike branch price, going long in that branch expresses the view that the market underestimates how high BTCUSD will be if the hike occurs. If your forecast is lower than the branch price, going short in that branch expresses the view that the market overestimates BTCUSD under that outcome.

You can also check how different the branch prices are from each other. If BTCUSD|Fed Rate Cut trades at only 5% above BTCUSD|Fed Rate Hike, but you expect BTCUSD will be 20% higher in a cut scenario than in a hike scenario, you can profit by either going long in BTCUSD|Cut or short in BTCUSD|Hike, depending on which of these two branches you believe is currently mispriced. This way you can correct its price and increase the spread between to bring it closer to your expectation of 20%.

Finally, you can also consider the probability of each branch's outcome. The higher an outcome’s probability, the closer its branch price should be to the spot price, since spot reflects a probability-weighted mix of outcomes. Hence if an outcome has high probability but its branch price is far from spot, you can profit by going long if its price is below spot, or going short if its price is above spot, to bring its price closer to spot.

For example, if a hike is already seen as highly probable, the BTCUSD|Hike branch price should sit only slightly below the BTCUSD spot price.

## How branch prices, spot, and probabilities relate

This section describes how branch prices relate to the asset’s spot price, the size of the event’s impact, and the probability that the event occurs. You do not need to use these equations to trade, but they help you understand how conditional prices behave.

Consider an event with two outcomes:

* Outcome A: the event happens (for example, the Fed hikes rates).
* Outcome B: the event does not happen (for example, the Fed does not hike rates).

Define:

* $$\text{spotPrice}$$: current spot price of the asset.
* $$\text{eventProbability}$$: probability that the event happens (Outcome A).
* $$\text{noEventProbability} = 1 - \text{eventProbability}$$: probability that the event does not happen (Outcome B).
* $$\text{impactSize}$$: the “impact size”, defined as the price if the event happens minus the price if it does not happen.

Let:

* $$\text{eventPrice}$$: your forecast of the asset price if the event happens.
* $$\text{noEventPrice}$$: your forecast of the asset price if the event does not happen.

By definition of impact size:

* $$\text{eventPrice} = \text{noEventPrice} + \text{impactSize}$$.

The current spot price can be thought of as the probability‑weighted average of these two conditional prices:

* $$\text{spotPrice} = \text{eventProbability} \cdot \text{eventPrice} + \text{noEventProbability} \cdot \text{noEventPrice}$$.

In words:

* The conditional price in the “event happens” branch equals the spot price plus the event’s impact, scaled by how unlikely the event is (i.e. how "un-priced-in" its impact is in the spot price).
* The conditional price in the “event does not happen” branch equals the spot price minus the same impact, scaled by the probability that the event happens.

This explains why you cannot arrive at branch price forecasts by naively adding or subtracting your impact forecast from spot. If a hike is already seen as very probable, most of its effect is already baked into spot, so the BTCUSD|Hike price will be only slightly above spot, while BTCUSD|No change will sit at a much further distance from spot, but in the opposite direction.

### Example

Assume BTCUSD trades at a spot price $$\text{spotPrice} = $100$$. You expect that if the Fed hikes, BTCUSD will end up 30 points higher than if it does not, so the impact size is $$\text{impactSize} = +30$$. You think the probability of a hike is $$\text{eventProbability} = 10%$$.

Using the equations above:

* Price if the hike happens (Outcome A):
  * $$\text{eventPrice} = $100 + (1 - 0.10) \cdot 30 = $100 + 27 = $127$$.
* Price if the hike does not happen (Outcome B):
  * $$\text{noEventPrice} = $100 - 0.10 \cdot 30 = $100 - 3 = $97$$.

In this case the market would be consistent with your beliefs if:

* BTCUSD|Hike trades around $127.
* BTCUSD|No change trades around $97.
* Spot trades around $100.

The probability-weighted contributions to spot are:

* Contribution from the hike outcome:
  * $$\text{eventContribution} = 0.10 \cdot $127 = $12.70$$.
* Contribution from the no change outcome:
  * $$\text{noEventContribution} = 0.90 \cdot $97 = $87.30$$.
* $$\text{eventContribution} + \text{noEventContribution} = $12.70 + $87.30 = $100$$.

If instead you observe BTCUSD|Hike at $115 and BTCUSD|No change at $90, then the market’s implied combination of impact and probability differs from your view. You can then trade against those prices by opening a long position in both the Hike and No change branches, to bring them more inline with your forecasts.

### Using the framework in practice

There are several ways to apply this framework without doing algebra on every trade.

You can:

* Start from spot, form an intuition for how much higher or lower the asset should be in each outcome, and check whether the current branch prices match that intuition.
* Look at the gap between branch prices and spot to understand how much of the event’s impact the market believes is already priced in.
* Compare the price difference between branches to your own sense of how far apart the asset should trade under each outcome.

When the observed branch prices imply a pattern that does not match your expectations of impact and probability, you have a potential trading opportunity.


# Trading event markets

{% hint style="info" %}
Event markets let you trade the probability of each outcome by buying and selling YES and NO tokens for that outcome.
{% endhint %}

Event markets are separate from event conditionals. Event markets express a view on which outcome happens. Event conditionals express a view on where an asset's price settles if an outcome happens.

## What you buy when you trade

An event market has a fixed set of mutually exclusive outcomes, and exactly one outcome is realized at resolution.

For a given outcome:

* A YES token pays 1 USDC if that outcome is realized, and 0 USDC otherwise.
* A NO token pays 0 USDC if that outcome is realized, and 1 USDC otherwise.

“NO for an outcome” means “any outcome resolves true except this one”.

## How to read the price

Butter quotes prices in $ per share, which is USDC per share.

Since a YES token pays 1 USDC if it wins, the USDC price per share is also the market-implied probability, up to fees and market microstructure.

Example: If the pool shows $0.25 per YES share, then the implied probability is 25%.

## Arbitrage across venues

Event markets trade outcome probabilities.

For two-outcome events, the asset’s spot price together with the conditional branch prices implies an outcome probability.

If $$\text{spotPrice}$$ is the spot price, $$\text{conditionalPriceYes}$$ is the conditional price in the “Yes” branch, and $$\text{conditionalPriceNo}$$ is the conditional price in the “No” branch, then the spot-implied “Yes” probability is:

$$\text{eventProbability} = \frac{\text{spotPrice} - \text{conditionalPriceNo}}{\text{conditionalPriceYes} - \text{conditionalPriceNo}}$$

You can compare this spot-implied probability to the event market’s implied probability for the same outcome. When they disagree, you can trade the cheaper probability exposure and hedge using the richer one across the event market, the conditional branches, and spot, subject to fees, slippage, and liquidity.

You can also compare Butter’s event market probability to Polymarket when Polymarket lists a market for the same event.

Before comparing venues, confirm that:

* The event question matches.
* The resolution date is the same or similar.
* The resolution criteria matches.

## Placing trades

Event markets support four trade intents:

* `BUY_YES`
* `SELL_YES`
* `BUY_NO`
* `SELL_NO`

Buying and selling YES trades a single YES/USDC market for the selected outcome.

Buying and selling NO is a single user action, but it is implemented under the hood by trading the complement outcomes' YES tokens and wrapping or unwrapping them. You do not manage the wrapping steps manually.

Butter also applies mandatory netting between YES and NO for the same outcome. If you buy YES while holding NO for that outcome, Butter sells NO first instead of increasing your gross exposure, and the same applies in the opposite direction.

## What happens at resolution

At resolution, one outcome is realized:

* YES for the realized outcome pays 1 USDC per share, and all other YES tokens pay 0.
* NO for the realized outcome pays 0, and all other NO tokens pay 1 USDC per share.

## How this relates to event conditionals

Event markets answer “which outcome happens”.

Event conditionals answer “where does an asset settle if this outcome happens”.

If you want to trade an asset’s price conditional on an outcome, start with:

* [Getting started](/user-guide/getting-started)
* [How to trade](/user-guide/how-to-trade)


# Your Butter account

{% hint style="info" %}
Your Butter wallet is the on-chain account that holds your USDC collateral, conditional USDC balances, and positions on Unichain.
{% endhint %}

Your Butter wallet is the on-chain account that holds your collateral and positions on Unichain. When you connect an Ethereum Virtual Machine (EVM) wallet to Butter, the app creates a Butter wallet that is controlled by your connected wallet, and all trading activity flows through it.

## How the Butter wallet works

Your connected wallet remains the key you use to approve actions such as deposits, withdrawals, and trades. The Butter wallet sits on Unichain as a dedicated account for your conditional markets activity, which keeps your trading balances and positions organised in one place.

When you trade on Butter, you:

* Hold USDC collateral in your Butter wallet.
* Use that collateral to open long and short positions in different branches.
* See your conditional USDC balances, collateral, and open positions in the app, all tied to your Butter wallet.

Butter never takes custody of your assets. Your external wallet signs every action, and the Butter wallet executes those actions on Unichain.

## Managing funds

Deposits allow you to swap your connected wallet on a supported source chain into your Butter wallet on Unichain. The deposit flow in the app handles the cross‑chain transfer for USDC, so you do not need to pre‑bridge USDC to Unichain.

<figure><img src="/files/yi4U3e3rnKcRflRc8TN6" alt="Bridge to Unichain modal used when depositing funds into your Butter wallet"><figcaption><p>The Bridge to Unichain flow sends funds from a source chain into your Butter wallet as part of the deposit process.</p></figcaption></figure>

Withdrawals move USDC from your Butter wallet back to your connected wallet on Unichain.


# Conditional tokens

Conditional tokens represent USDC whose payout depends on which outcome of a conditional market occurs.

In the app, this shows up as conditional USDC balances per branch for a conditional market.

{% hint style="info" %}
Conditional USDC is branch-specific collateral.

When you open a position, Butter mints conditional USDC across all branches for that market.

In Multi-Branch mode (Multi Mode), you keep conditional USDC balances in every branch and open positions inside a chosen branch.

In Single-Branch mode (Single Mode), Butter exchanges conditional USDC from non-selected branches into conditional USDC in one selected branch before opening or increasing the position.
{% endhint %}

As a trader, you start by choosing what you want to trade: a market, a branch, and a position size. One example is a Fed rate decision event, a BTC asset, a rate cut outcome branch, and a 1 BTC long position size.

Given that intent, the system calculates how much collateral is required, locks that amount of USDC, mints the corresponding conditional USDC across all branches for that market, and then turns the conditional USDC in your chosen branch into long or short scalar tokens to match your desired exposure.

Only your holdings in the branch whose outcome is realized can be redeemed for actual USDC at settlement, and tokens in unrealized branches expire worthless.

***

## How conditional USDC works

### Splitting collateral into branches

Each conditional market is defined by an outcome set and a settlement datapoint, and has one branch per mutually exclusive outcome.

Each outcome is a mutually exclusive event outcome (e.g., Cut / Hold / Hike for a central-bank decision).

When you open a position, the system takes the USDC needed to support that position and splits it into conditional USDC across all branches for that market:

```
                                   USDC collateral
                      (to open long position in Fed rate cut branch)
                                          │
                                          ▼
                             Conditional USDC is created
                               in every outcome branch
                                          │
            ┌─────────────────────────────┼───────────────────────────────┐
            ▼                             ▼                               ▼
┌──────────────────────────┐  ┌──────────────────────────┐   ┌──────────────────────────┐
│ Branch A                 │  │ Branch B                 │   │ Branch C                 │
│ (Fed rate cut)           │  │ (Fed rate unchanged)     │   │ (Fed rate hike)          │
│                          │  │ conditional USDC         │   │ conditional USDC         │
└───────────┬──────────────┘  └──────────────────────────┘   └──────────────────────────┘
            │
            ▼
Long tokens in Fed rate cut branch
  (conditional exposure to BTC)
```

Your portfolio shows these as conditional USDC balances per branch, plus long or short tokens in any branch where you have opened a position.

In the branch you actually trade in, the conditional USDC is immediately split into long or short scalar tokens that give you exposure to the asset in that branch.

In Multi-Branch mode, conditional USDC in branches you do not trade in remains as branch balances that you can later use to open new positions or redeem at settlement if one of those branches is realized.

In Single-Branch mode, Butter exchanges conditional USDC from non-selected branches into one selected branch before opening or increasing the position, so you do not keep conditional USDC balances in the non-selected branches for that position.

### Example: opening a 1 BTC long in a branch

Suppose you want to go long 1 BTC in the “Fed rate cut” branch for a BTCUSD conditional.

In the trading interface you specify:

* Event: Fed rate decision.
* Asset: BTCUSD.
* Branch: Fed rate cut.
* Position size: long 1 BTC in that branch.

The system then:

1. Determines how many long tokens correspond to 1 BTC of conditional exposure in that branch, using the scalar-to-asset ratio defined by the scalar bounds (see: [Scalar tokens](/core-concepts/scalar-tokens)).
2. Calculates how much USDC collateral is needed to purchase that many long tokens at the current branch price, which determines how many conditional USDC must be minted.
3. Locks that amount of USDC from your Butter wallet and mints the corresponding conditional USDC across all branches for that event–asset pair.
4. Uses the conditional USDC in the “Fed rate cut” branch to mint matched long and short tokens, then sells the short tokens for more longs so that you end up net long 1 BTC in that branch.

After this trade:

* In the “Fed rate cut” branch you hold only long tokens representing 1 BTC of conditional long exposure.
* In Multi-Branch mode, in the “Fed rate unchanged” and “Fed rate hike” branches you hold conditional USDC balances equal to the initial USDC cost of opening your position.

### What happens at settlement

After the event occurs, an oracle reports which outcome happened and what the asset’s settlement price is in the realized branch.

Once this happens:

* Conditional USDC in the realized branch becomes redeemable for real USDC, while conditional USDC in all other branches for that event becomes worthless. For example, if there are three outcomes, 1 unit of conditional USDC in the realized branch redeems for 1 USDC, and conditional USDC in the other two branches redeems for $0.
* Long and short tokens in the realized branch settle for conditional USDC according to the scalar payoff rule, based on the branch’s lower and upper bounds and the reported settlement price. Long and short tokens in unrealized branches expire worthless.

In Multi-Branch mode, if the branch you traded in is not realized, the conditional USDC you hold in the realized branch redeems for the USDC you originally committed to the position, while your position in the unrealized branch expires worthless.

In Single-Branch mode, the amount of USDC you can redeem depends on how much conditional USDC remains in the realized branch after you exchange other-branch balances into the selected branch. Any conditional USDC held in branches that are not realized redeems for $0.

***

## How this connects to trading

Conditional USDC balances are the layer of collateral that backs all long and short exposure in a branch.

Every time you open or adjust a position, the system internally moves between:

* USDC in your Butter wallet.
* Conditional USDC in each branch for the event–asset pair.
* Long and short scalar tokens in the specific branch you trade.

You do not need to manage these conversions manually; you only choose the branch and the size of your long or short position, and Butter handles the conditional token accounting under the hood.

For a deeper explanation of how scalar long and short tokens behave, how bounds work, and how leverage is calculated, see:

* [Scalar tokens](/core-concepts/scalar-tokens)
* [Leverage and exposure](/core-concepts/leverage-and-exposure)


# Scalar tokens

Scalar tokens give linear long or short exposure to an asset’s price inside a single branch of a conditional market.

{% hint style="info" %}
Scalar long and short tokens are branch-specific claims that settle against the realized branch’s settlement price and split 1 USDC of payout per matched long-short pair.
{% endhint %}

They are created from conditional USDC balances in that branch and pay out between $0 and $1 of conditional USDC per long/short token at resolution depending on the asset's price.

## Long and short tokens in a branch

Within each branch, you can turn conditional USDC into two types of scalar tokens:

* Long tokens, which gain value when the asset’s settlement price in that branch is higher.
* Short tokens, which gain value when the asset’s settlement price in that branch is lower.

These tokens always come in matched pairs when they are minted.

From 1 unit of conditional USDC in a branch you can mint 1 long token and 1 short token in that branch.

At any settlement price, the combined payoff of that long–short pair is always 1 USDC.

This ensures the position is fully collateralized across all possible settlement prices within the market's upper and lower price bounds.

## Scalar bounds and payoffs

Each branch has a scalar lower bound $$\text{lowerBoundPrice}$$ and upper bound $$\text{upperBoundPrice}$$ defined in the asset’s price units, for example $60,000 and $110,000 for BTCUSD.

The width of the bounds is:

$$\text{boundsWidth} = \text{upperBoundPrice} - \text{lowerBoundPrice}$$

At settlement, the oracle reports the settlement price $$\text{settlementPrice}$$ of the asset in the realized branch and the payoffs per token are:

* Long payoff:
  * $$\text{Long payoff} = \max\left(0, \min\left(1, \frac{\text{settlementPrice} - \text{lowerBoundPrice}}{\text{boundsWidth}}\right)\right) \text{ USDC}$$
* Short payoff:
  * $$\text{Short payoff} = \max\left(0, \min\left(1, \frac{\text{upperBoundPrice} - \text{settlementPrice}}{\text{boundsWidth}}\right)\right) \text{ USDC}$$

The payoffs are clamped at the bounds.

If settlement lands at or below the lower bound, long tokens in that branch pay $0 and short tokens pay 1 USDC.

If settlement lands at or above the upper bound, long tokens pay 1 USDC and short tokens pay $0.

For traders (using $$\text{tokenPurchasePrice}$$ to represent the price between $0 and $1 at which the trader purchased the short/long token) this means:

* The maximum gain from holding a long/short token is $$1 - \text{tokenPurchasePrice}$$ USDC and the worst case loss is $$\text{tokenPurchasePrice}$$ USDC.

The risk is limited and fully covered by the conditional USDC that was used to mint the long–short pair.

## How bounds are chosen

Bounds are the same across all branches for a given event–asset pair and are fixed when the market is created.

They are chosen by analysing the asset’s historical price movements over similar time frame to the market’s duration.

The goal is to pick bounds such that the probability that the asset’s price will move outside them during the market’s lifetime is low, on the order of only a few percent.

The expected impact of the event itself is also taken into account, so that the bounds comfortably cover the range of plausible prices across all branches while still remaining tight enough to be useful.

The width of the bounds directly affects how much leverage scalar tokens provide.

Wider bounds give more room for the price to move, so each long or short token’s payoff moves more slowly with the price, which degrades capital efficiency and hence reduces leverage.

Narrower bounds compress the price range, which increases the sensitivity of long and short token payoffs to price changes and raises leverage, but if bounds are too narrow the asset price would often end up outside them, leading to the market settling at the clamped endpoints, degrading the trading experience.

In practice, bounds are chosen to balance these two forces:

* Wide enough that most markets settle inside the range.
* Narrow enough that scalar tokens offer sufficient leverage.

## Scalar tokens and asset exposure

Scalar tokens determine exposure to the underlying asset in a branch. The wider the bounds, the smaller the exposure per scalar (long or short) token.

If the lower bound BTCUSD price is $$\text{lowerBoundPrice}$$ and the upper bound BTCUSD price is $$\text{upperBoundPrice}$$ USD, then 1 long token moves by:

$$\frac{1}{\text{boundsWidth}} \text{ USDC}$$

for every 1 USD change in the asset’s price inside the bounds.

To obtain 1 unit of asset exposure in a branch (for example, 1 BTC of conditional exposure), you need to hold:

$$\text{boundsWidth}$$

long tokens or short tokens in that branch.

For example, if a BTCUSD conditional has bounds at $60,000 and $110,000, then:

* The bounds are $50,000 wide.
* A change of $1 in the BTCUSD conditional price changes each long token’s value by $$\frac{1}{50{,}000}$$ USDC.
* Holding 50,000 long tokens in that branch gives 1 BTC of conditional long exposure.
* Holding 50,000 short tokens in that branch gives 1 BTC of conditional short exposure.

This scalar‑to‑asset ratio is constant throughout the life of the market because the bounds never change. Hence, holding 50,000 long tokens will give you a consistent 1 BTC exposure in that branch, until the market resolves.

It tells you how many long or short tokens you need to hold per unit of asset exposure in that branch.

## From conditional USDC to long or short exposure

When you open a position in a branch, your conditional USDC in that branch is transformed into long and short tokens and then into net long or net short exposure:

1. Mint: Your conditional USDC mints matched long and short scalar tokens in the branch.
2. Trade: To go long, you sell the short tokens you just minted to buy more long tokens, so you end up holding only long tokens. To go short, you do the opposite: you sell the long tokens you just minted to buy more short tokens, so you end up holding only short tokens.
3. Position: Your net holdings of long or short tokens define how many units of the asset you are long or short in that branch, based on the scalar-to-asset ratio.

Because every long or short token comes from conditional USDC and every long–short pair always pays 1 USDC in total, your exposure remains fully collateralized without requiring liquidations.


# Leverage and exposure

Leverage in Butter comes from how scalar long and short tokens translate conditional USDC into exposure to the asset’s price inside a branch.

{% hint style="info" %}
Butter has no liquidations, since long and short tokens are fully backed by conditional USDC and leverage comes from fixed bounds, not borrowing.
{% endhint %}

This page explains how exposure is measured, how leverage is defined, why it differs for long and short positions, and how it behaves as prices move without requiring liquidations.

## Exposure, notional, and collateral

Every position in a branch has three key quantities:

* Size, measured in units of the asset (for example, 2 BTC). I.e. how many units of the asset you have exposure to. 2 BTC of long exposure means you profit $2 for every $1 increase in BTC price, and you lose $2 for every $1 decrease in BTC price.
* Notional value, which is size multiplied by the branch price (for example, 2 BTC times $65,000 is $130,000 notional).
* Collateral, which is how much conditional USDC backs the long or short tokens in that branch.

The leverage of a position is:

$$\text{Leverage} = \frac{\text{Notional}}{\text{Collateral}}$$

Collateral is determined by the value of the long or short tokens that make up the position at the current AMM price in that branch.

When you increase position size in a branch, your size and notional grow, and so does the amount of conditional USDC used to back your position.

## How leverage arises from scalar bounds

Scalar bounds define how quickly a long or short token’s value responds to changes in the asset’s price.

For a branch with lower bound $$\text{lowerBoundPrice}$$ and upper bound $$\text{upperBoundPrice}$$:

* A change of $1 in the asset price inside the bounds changes each long token’s value by $$\frac{1}{\text{upperBoundPrice} - \text{lowerBoundPrice}}$$ USDC.
* The same $1 change changes each short token’s value by $$\frac{1}{\text{upperBoundPrice} - \text{lowerBoundPrice}}$$ USDC in the opposite direction.

The wider the bounds, the smaller this per‑token price change is, so you need more tokens to achieve a given amount of exposure.

The narrower the bounds, the larger the per‑token price change is, so you need fewer tokens to achieve the same exposure.

This is why bounds cannot be arbitrarily wide or arbitrarily narrow:

* Very wide bounds make leverage low and the market less capital efficient.
* Very narrow bounds make leverage very high but leave a high chance that the asset’s price jumps outside the bounds, which leads to many markets settling at clamped prices, degrading trader experience.

## How leverage depends on the conditional price

Even though your exposure in asset units is fixed once you have opened a position, the leverage of that position depends on where the branch’s conditional price sits between the bounds.

For a long position with conditional branch price $$\text{branchPrice}$$, lower bound $$\text{lowerBoundPrice}$$, and upper bound $$\text{upperBoundPrice}$$:

* The loss per unit of exposure is capped by the distance from the current conditional price to the lower bound.
* The closer the conditional price is to the lower bound, the smaller the worst‑case loss per unit of exposure and the higher the leverage you can obtain for a given amount of collateral.
* The further the conditional price is from the lower bound, the larger the worst‑case loss per unit of exposure and the lower the leverage.

For a short position with the same conditional branch price $$\text{branchPrice}$$, lower bound $$\text{lowerBoundPrice}$$, and upper bound $$\text{upperBoundPrice}$$:

* The loss per unit of exposure is capped by the distance from the current conditional price to the upper bound.
* The closer the conditional price is to the upper bound, the smaller the worst‑case loss per unit of exposure and the higher the leverage you can obtain for a given amount of collateral.
* The further the conditional price is from the upper bound, the larger the worst‑case loss per unit of exposure and the lower the leverage.

In formula form, with the conditional branch price denoted by $$\text{branchPrice}$$:

* Long leverage is equal to:
  * $$\frac{\text{branchPrice}}{\text{branchPrice} - \text{lowerBoundPrice}}$$
* Short leverage is equal to:
  * $$\frac{\text{branchPrice}}{\text{upperBoundPrice} - \text{branchPrice}}$$

The denominators here are the distances to the bounds, measured in the same price units as $$\text{branchPrice}$$.

When the branch price is close to the lower bound, $$\text{branchPrice} - \text{lowerBoundPrice}$$ is small, so long positions can obtain high leverage while short positions obtain low leverage.

When the branch price is close to the upper bound, $$\text{upperBoundPrice} - \text{branchPrice}$$ is small, so short positions can obtain high leverage while long positions obtain low leverage.

In the extreme, if the lower bound is 0 and the branch price is at the upper bound, the worst‑case loss per unit of long exposure is equal to the current price and the best you can do is approximately 1× leverage as a long.

For shorts, there is no symmetric lower bound on leverage: if the lower bound is 0 and the branch price is very low relative to the upper bound, the distance to the upper bound is very large, so the maximum leverage available to a short position can approach 0.

## Worked examples for long and short

Consider a BTCUSD conditional with:

* Lower bound $$\text{lowerBoundPrice} = 60{,}000$$.
* Upper bound $$\text{upperBoundPrice} = 110{,}000$$.
* Current branch price $$\text{branchPrice} = 80{,}000$$.

The bounds are $50,000 wide, so 50,000 long or short tokens give 1 BTC of conditional exposure in this branch.

### Long position example

Suppose you open a 1 BTC long position in this branch at $80,000 using long tokens:

* Size is 1 BTC.
* Notional is $80,000.
* The worst‑case loss per BTC is $20,000 if the price falls from $80,000 to the $60,000 lower bound.

To make that worst‑case loss equal to your collateral, you would need to post $20,000 USDC of conditional USDC, which corresponds to 4× leverage ($80,000 notional divided by $20,000 USDC of collateral).

If instead the branch price were much closer to the lower bound, the distance to the lower bound would be smaller, so the worst‑case loss per BTC would be smaller and you can obtain higher leverage for the same collateral.

### Short position example

Now consider a 1 BTC short position in the same branch at $80,000:

* Size is −1 BTC.
* Notional magnitude is still $80,000.
* The worst‑case loss per BTC is $30,000 if the price rises from $80,000 to the $110,000 upper bound.

You need $30,000 USDC of collateral to cover this worst‑case loss, so the leverage is around 2.67× ($80,000 notional divided by $30,000 USDC of collateral).

If instead the branch price were very close to the upper bound, the distance to the upper bound would be small and you would be able to achieve higher leverage for shorts and lower leverage for longs.

## No liquidations

Unlike margin trading or perpetual futures, positions in Butter do not have liquidations.

Every long and short token is backed by conditional USDC in the branch, and each matched long–short pair always pays 1 USDC in total at settlement, regardless of where the asset price lands inside or outside the bounds.

This structure means that:

* You never owe more than the collateral already committed to your position in that branch.
* Adverse price moves reduce the value of your tokens and can take your position’s value to zero, but they cannot create a negative balance or a margin call.

In effect, leverage comes from how far the price can move against you within the fixed bounds, and not from borrowing additional capital.

This is similar in spirit to trading fully collateralized options or structured products rather than leveraged perpetual futures, even though the payoff profile is defined by scalar long and short tokens rather than options.

## Implications for traders

Although leverage changes as the branch price moves, your exposure (e.g. in # of BTC) stays constant once your position is opened, until you modify or close it. Leverage only changes due to the value of your long/short tokens changing as the conditional price fluctuates.

Leverage is only relevant to you when opening your position, as it determines how much USDC collateral you need to commit to achieve a target exposure. Once the position is open, you can just focus on whether you still want that level of asset exposure in the branch.

## Leverage in the app (margin required)

In the app, leverage is shown as position value divided by margin required.

In Multi-Branch mode (Multi Mode), margin required corresponds to the USDC you commit to mint conditional USDC for the market.

In Single-Branch mode (Single Mode), Butter can fund the selected-branch collateral by exchanging conditional USDC from non-selected branches into the selected branch at the market price of the selected outcome token. When the selected outcome token trades below $1, this exchange increases the amount of selected-branch collateral that one unit of committed USDC can purchase, which increases the app’s displayed leverage for the same target exposure in that branch.


# Contracts

{% hint style="info" %}
This page summarizes Conditional Funding Markets v1 (CFMs) contracts and their resolution and redemption flow.
{% endhint %}

### Contracts description

Butter's first iteration of Conditional Funding Markets (CFMs) contracts is available at [github.com/butterygg/cfm-v1](https://github.com/butterygg/cfm-v1).

The main contract, `FlatCFM` represents a CFM with a flat outcomes structure: each outcome represents the condition that a proposal gets funded. These outcomes are also called *decision outcomes*.

`InvalidlessConditionalScalarMarket` represents the scalar prediction market which is conditional on the parent outcome being selected. It contains outcomes `Short` (also called DOWN), `Long` (also called UP) and `Invalid`.

The `InvalidlessFlatCFMFactory` contract enables the creation of a `FlatCFM` and its related `InvalidlessConditionalScalarMarkets`. For a given CFM, it helps creating one `FlatCFM` instance per candidate project, one `InvalidlessConditionalScalarMarket` instance per decision outcome (Funded or Not Funded), asks the associated oracle questions and prepares the associated Conditional Scalar Tokens.

`FlatCFMRealityAdapter` implements an adapter pattern to access RealityETH from our contracts, with a normalized interface.

### General flow

The system follows these general steps:

1. The `InvalidlessFlatCFMFactory` creates one `FlatCFM` per candidate project, with specific parameters. This enables the creation of `InvalidlessConditionalScalarMarket`s for each decision outcome. This submits the decision question to the oracle via `FlatCFMRealityAdapter` and prepares the decision condition through `ConditionalTokens`.
2. The `InvalidlessFlatCFMFactory` creates new `InvalidlessConditionalScalarMarket`s for an existing `FlatCFM`. This submits the scalar question to the oracle via `FlatCFMRealityAdapter` and prepares the scalar conditions through `ConditionalTokens`. This relies on a Reality template with a placeholder for the decision outcome name.
3. Users split their collateral into decision conditional tokens, then split again into scalar conditional tokens. These tokens are ERC20s and can be traded on AMMs.
4. When the oracle provides an answer to the decision question, the `FlatCFM` can be resolved and calculates payouts.
5. When the oracle provides an answer to the conditional scalar questions (all together), all `InvalidlessConditionalScalarMarket`s can be resolved and calculate payouts.
6. Users can redeem their positions for payouts.

### Invalid decision question

In case the decision question posted to [Reality.eth](/technical-docs/v1-dependencies) fails to be processed correctly (either due to ambiguity or a technical error), it can return an `Invalid` response. In such a case, the `FlatCFM` decision question and its related condition will be marked invalid.

In this case, the related `ConditionalTokens` condition will be marked invalid, and *both the Funded and Not Funded markets will be voided.* In such a case, the INVALID decision outcome token will be worth 1 unit of collateral (1 USDC), and **traders will return their original deposits.**

**CFM Reality.eth questions have been carefully reviewed by a panel of experts, including Kleros and Reality.eth. Previous CFM questions have never resulted in Invalid outcomes.**

### Invalid metric question

In case the metric question fails to be processed correctly, it can return an `Invalid` response. In such a case, the processing is different than the one reserved to decision questions:

A set of parameters `defaultPayouts` has been passed by the factory contract to initialize `InvalidlessConditionalScalarMarkets` . This parameter represents the proportion that is allocated to UP and DOWN tokens in case the question returns `Invalid`. By default, a ratio of 50%/50% is used.

In the unlikely case that the metric question returns Invalid, all traders will be rewarded *as if the market closed at 0.5 USDC*.

We expect this outcome to be extremely improbable, based on our deep understanding of how Reality.eth and Kleros courts' cryptoeconomics and their previous rulings. The [CFM Kleros policy](/technical-docs/v1-dependencies) has been carefully crafted to prevent ambiguity even in the most adverse conditions (e.g., if DefiLlama is hacked).

**CFM Reality.eth questions have been carefully reviewed by a panel of experts, including Kleros and Reality.eth. Previous CFM questions have never resulted in Invalid outcomes.**

### Audits

The `cfm-v1` codebase has been audited by leading auditors, including Trust and a $30k Immunefi competition. See [here](https://github.com/butterygg/cfm-v1/tree/main/audits) for audit reports.


# Dependencies

{% hint style="info" %}
This page lists the external contracts and services that v1 contracts depend on.
{% endhint %}

## Conditional tokens

Gnosis' [Conditional Token framework (archived)](https://web.archive.org/web/20241002172829/https://docs.gnosis.io/conditionaltokens/) provides the ability to create and manipulate tokens that are tied to a specific condition happening. `ConditionalTokens` is the core contract that manages among others the creation and redemption of conditional tokens.

The codebase also relies on `Wrapped1155Factory` which enables wrapping 1155 conditional tokens in ERC20s so participants can trade them on any AMM.

Both these contracts are re-deployed in their original and audited versions. We updated the build pipeline with modern tooling: see [here](https://github.com/butterygg/conditional-tokens-contracts) and [here](https://github.com/butterygg/1155-to-20).

## Reality.eth

[Reality.eth](https://reality.eth.limo) is the first oracle for which an adapter has been implemented.


# Contract addresses

{% hint style="info" %}
Use these addresses to verify deployed contracts on Unichain.
{% endhint %}

## Unichain

### CFM v1

<table><thead><tr><th width="206">Name</th><th width="109">Network</th><th>Address</th></tr></thead><tbody><tr><td>InvalidlessFlatCFMFactory</td><td>Unichain</td><td><a href="https://uniscan.xyz/address/0x177a62898d6746a1Fb9311a657240BF3239f3ac0">0x177a62898d6746a1Fb9311a657240BF3239f3ac0</a></td></tr><tr><td>InvalidlessConditionalScalarMarketFactory</td><td>Unichain</td><td><a href="https://uniscan.xyz/address/0x714aa521A3D6159fC1A7B8BB28Fed508e11259c0">0x714aa521A3D6159fC1A7B8BB28Fed508e11259c0</a></td></tr><tr><td>FlatCFMRealityAdapter</td><td>Unichain</td><td><a href="https://uniscan.xyz/address/0xb99517009acd09404066cfeb163deb6e832abf11">0xB99517009AcD09404066CfEB163dEb6e832abf11</a></td></tr></tbody></table>

### Conditional tokens

<table><thead><tr><th width="201">Name</th><th width="112">Network</th><th>Address</th></tr></thead><tbody><tr><td>ConditionalTokens</td><td>Unichain</td><td><a href="https://uniscan.xyz/address/0xc8E244eB32200e6274E7737238AFa60eC6cf2511">0xc8E244eB32200e6274E7737238AFa60eC6cf2511</a></td></tr><tr><td>Wrapped1155Tokens</td><td>Unichain</td><td><a href="https://uniscan.xyz/address/0x87bc2f26df5d72b3e45b298127e702ba7ed459ea">0x87bc2f26DF5D72B3e45b298127e702ba7ED459ea</a></td></tr></tbody></table>

### RealityETH

<table><thead><tr><th width="202">Name</th><th width="109">Network</th><th>Address</th></tr></thead><tbody><tr><td>RealityETH_v3_0</td><td>Unichain</td><td><a href="https://uniscan.xyz/address/0xB920dBedE88B42aA77eE55ebcE3671132ee856fC">0xB920dBedE88B42aA77eE55ebcE3671132ee856fC</a></td></tr><tr><td>CFM Arbitrator</td><td>Unichain</td><td><a href="https://uniscan.xyz/address/0xd04f24364687dBD6db67D2101faE59e91a6e605B">0xd04f24364687dBD6db67D2101faE59e91a6e605B</a></td></tr></tbody></table>


# Glossary

{% hint style="info" %}
Use this glossary to keep terminology consistent across pages.
{% endhint %}

## Conditionals

Conditionals are markets whose payout depends on the value of a datapoint (price, index, KPI) conditional on the outcome of a defined condition.

See [What are conditionals?](/welcome/what-are-conditionals-1) for more background.

## Collateral token

The collateral token is the asset traders deposit to open and maintain positions in conditionals.

On Butter, collateral is USDC.

See [Getting started](/user-guide/getting-started) for how deposits work in the app.

## Conditional market

A conditional market is the set of branches that trade the future value of a datapoint across a mutually exclusive set of outcomes. Each outcome defines a branch with its own branch price.

## Event

An event is a real-world situation or decision with a predefined set of outcomes, such as a central-bank meeting, macroeconomic print, earnings release, governance vote, or regulatory ruling.

Each event defines a set of mutually exclusive outcomes, each linked to its own branch in the conditional market.

See [What are conditionals?](/welcome/what-are-conditionals-1).

## Event market

An event market is a categorical market that trades the probability of each event outcome via YES and NO positions per outcome.

Event markets are paired with, but separate from, event conditionals.

## YES token

A YES token is an outcome-specific claim in an event market that pays 1 USDC if its outcome is realized, and 0 USDC otherwise.

## NO token

A NO token is an outcome-specific claim in an event market that pays 0 USDC if its outcome is realized, and 1 USDC otherwise.

In a categorical market, "NO for outcome $$\text{outcomeIndex}$$" means "any outcome except $$\text{outcomeIndex}$$".

## Branch

A branch is the market on a datapoint conditional on one specific outcome of a conditional market.

Only the realized branch settles to a nonzero value.

## Conditional USDC

Conditional USDC represents how much USDC you have available to trade in a specific branch.

Conditional USDC in the realized branch is redeemable for actual USDC at settlement, while conditional USDC in unrealized branches expires worthless.

In Multi-Branch mode (Multi Mode), opening a position mints conditional USDC across all branches for the same market and leaves you holding conditional USDC balances in branches you did not trade.

In Single-Branch mode (Single Mode), Butter exchanges conditional USDC from non-selected branches into one selected branch before opening or increasing the position.

See [Conditional tokens](/core-concepts/conditional-tokens).

## Branch price

The branch price is the market-implied future price of the asset in a given branch, conditional on that branch's outcome occurring.

It reflects what traders collectively believe the asset's price will be if that outcome happens and is the price used to compute position values in that branch.

See [How to trade](/user-guide/how-to-trade).

## Settlement

Settlement is the process of resolving a conditional market, posting the settlement price for the realized branch, updating token values, and enabling users to redeem positions for collateral.

Branches linked to unrealized outcomes become worthless, while the realized branch settles to its settlement price.

See the "Exit and settle" section in [Getting started](/user-guide/getting-started).

## Expiry date

The expiry date is the latest timestamp by which a conditional stops trading and moves into settlement.

If the event occurs before the expiry date, the market closes and settles shortly after the event once the reference price is observed.

If the event has not occurred by the expiry date, the market still closes and settles based on the rules defined for that event.

See [How to trade](/user-guide/how-to-trade) for how settlement timing affects pricing.

## Settlement price

The settlement price is the asset price for a branch that the oracle reports at settlement and that determines how much collateral long and short positions in the realized branch can be redeemed for.

It is the price level that all positions in that branch settle against.

See [Scalar tokens](/core-concepts/scalar-tokens).

## Oracle

The oracle is the on-chain service that reports which branch is realized and the settlement price, defined as the median price over a two-hour window that starts 12 hours after the event timestamp or market expiry, whichever occurs first, used to settle that branch.

Butter uses Reality.eth to report this settlement data.

## Forecasted impact

Forecasted impact describes how much the market expects an event to move an asset's price.

It looks at price differences between branches for the same event-asset pair and expresses those differences as a percentage of the asset's current spot price.

See [How to trade](/user-guide/how-to-trade).

## Spread

Spread reflects the percentage difference between an asset's price in a given branch, and its spot price.

This reflects how the market expects the asset's price to change, were this branch's outcome to be realized.

See [How to trade](/user-guide/how-to-trade).

## Position

A position is a trader's net long or short exposure in a specific branch of a conditional market.

For example, holding a long position in the "ETHUSD if earnings beat" branch means your P\&L depends on the ETHUSD settlement price if that branch's outcome occurs.

See [Getting started](/user-guide/getting-started).

## Size

Size is the amount of underlying exposure a position represents, expressed in asset units within a branch.

A long position with size of 0.5 BTC in a given branch means the position is long 0.5 BTC conditional on that branch's outcome occurring.

See [Leverage and exposure](/core-concepts/leverage-and-exposure).

## Position value

Position value is the notional value of a position, equal to its size multiplied by the branch price.

A position with size 0.5 BTC in a branch with a branch price of $60,000 has a position value of $30,000.

See [Leverage and exposure](/core-concepts/leverage-and-exposure).

## Collateral

Collateral is the amount of conditional USDC locked to support a given position.

It equals the value of the long or short tokens that constitute the position and represents how much conditional capital the position is using, which is different to the position's notional value.

See [Leverage and exposure](/core-concepts/leverage-and-exposure).

## Bounds

Bounds are the lower and upper price levels that define the scalar payoff range for long and short tokens in a branch.

The lower bound is the minimum asset price the scalar market is designed to cover, and the upper bound is the maximum price.

Inside this interval, long and short token payoffs change linearly with the asset price, while outside it their payoffs are clamped so that one side pays 1 USDC and the other pays 0.

Bounds are the same for all branches of a given event-asset pair and are fixed when the market is created.

See [Scalar tokens](/core-concepts/scalar-tokens).

## Scalar-to-asset ratio

The scalar-to-asset ratio is the number of scalar tokens required to obtain one unit of asset exposure in a branch.

It equals the width of the scalar bounds expressed in price units, so for bounds between $60,000 and $110,000 on BTCUSD, the ratio is 50,000 long and short tokens required per 1 BTC of exposure.

See [Scalar tokens](/core-concepts/scalar-tokens).

## Leverage

Leverage is the ratio of a position's notional value to the conditional USDC required as collateral.

It depends on both the scalar bounds and the current conditional price in the branch and describes how much price exposure you obtain per unit of conditional USDC committed to the position.

See [Leverage and exposure](/core-concepts/leverage-and-exposure).

## Long and short tokens

Long and short tokens are fungible claims on the settlement price within a branch of a conditional market.

They are created in matched pairs from collateral, give linear exposure between predefined lower and upper bounds for the asset's price at settlement, and in unrealized branches both sides expire worthless.

See [Scalar tokens](/core-concepts/scalar-tokens).


