# Event Contract Trading

Event contracts are binary outcome contracts that let you trade on the outcome of real-world events — from economic indicators and politics to sports and weather.

## Key Concepts

| Term | Description |
|------|-------------|
| **Category** | Broad classification grouping related series (e.g., Economics, Sports) |
| **Series** | A collection of related events within a category |
| **Event** | A collection of markets — the basic unit you interact with |
| **Market** | A specific binary outcome within an event, with yes/no positions, prices, and settlement rules |

## Supported Categories

Economics, Financials, Politics, Entertainment, Science & Technology, Climate and Weather, Transportation, Crypto, and Sports.

## Prerequisites

1. Open an Event trading account via the Webull App.
2. Sign the required trading agreements or disclosures. These can be signed in the app or through a signing URL returned by the API.
3. Sign any additional agreement required for a specific category, such as Sports.

## Supported Order Modes

Event contracts use `LIMIT` as the `order_type`. The execution behavior and required quantity fields depend on the selected mode.

| Mode | Required fields | Rules |
|------|-----------------|-------|
| Limit order by contracts | `entrust_type: QTY`, `quantity`, `limit_price` | Places an order at the specified limit price |
| Limit order by amount | `entrust_type: AMOUNT`, `total_cash_amount`, `side: BUY`, `time_in_force: FOK` | Supported only for buy orders; the order must fill completely or be cancelled |
| Best-available-price by amount | `event_trade_mode: TRADE_IN_AMOUNT`, amount field | Executes at the best available market price; `limit_price` is ignored |
| Best-available-price by contracts | `event_trade_mode: TRADE_IN_CONTRACT`, `quantity` | Executes the requested contract quantity at the best available market price; `limit_price` is ignored |

Supported `time_in_force` values are `DAY`, `GTC`, `IOC`, `GTD`, and `FOK`. Valid combinations depend on the selected order mode. When using `GTD`, provide the required expiration date.

Event contract quantities may contain up to two decimal places when the instrument supports fractional contracts.

## Trading Hours

Trading hours vary by contract type:

| Contract Type | Hours |
|---------------|-------|
| Crypto Event Contracts | Monday – Friday, 8:00 AM – 6:00 PM ET |
| Index Event Contracts | Monday – Friday, 8:00 AM – 4:00 PM ET |
| Economic Event Contracts | Monday – Friday, 8:00 AM – 11:00 PM ET |
| Sports Event Contracts (Cleared Swaps) | 24/7, excluding maintenance windows |

:::tip
Trading hours are contract-specific and may change as new contracts are introduced. Check the instrument details before submitting an order.
:::

## Trading Rules

- Event contracts are not leveraged — buying "Yes" at $0.50 costs $0.50 per contract, plus applicable fees.
- Event contracts are not subject to Pattern Day Trader rules.
- Supported position actions and maximum order size can depend on the account, agreement, and individual instrument.
- Buying the "No" outcome provides exposure to the opposite result of the event.

## Limit Order Example

Buy 5 "Yes" contracts at $0.10 per contract:

```json
{
  "account_id": "<your_account_id>",
  "new_orders": [
    {
      "combo_type": "NORMAL",
      "client_order_id": "<unique_id>",
      "symbol": "KXRATECUTCOUNT-26DEC31-T3",
      "instrument_type": "EVENT",
      "market": "US",
      "order_type": "LIMIT",
      "limit_price": "0.10",
      "quantity": "5",
      "side": "BUY",
      "time_in_force": "DAY",
      "entrust_type": "QTY",
      "event_outcome": "yes"
    }
  ]
}
```

| Field | Description |
|-------|-------------|
| `symbol` | Event market symbol. Use [Event Contract Instruments](../reference/event-market-list.api.mdx) to look up tradable symbols. |
| `instrument_type` | Must be `EVENT` |
| `event_outcome` | `yes` or `no` |
| `order_type` | Must be `LIMIT`; best-available-price execution is selected through `event_trade_mode` |
| `time_in_force` | `DAY`, `GTC`, `IOC`, `GTD`, or `FOK`, subject to the selected order mode |
| `entrust_type` | `QTY` or `AMOUNT`; amount-based event orders require `side: BUY` and `time_in_force: FOK` |
| `limit_price` | Required for limit-price execution; ignored when `event_trade_mode` is set |
| `quantity` | Required for contract-based orders and may support up to two decimal places |
| `event_trade_mode` | Optional best-available-price mode: `TRADE_IN_AMOUNT` or `TRADE_IN_CONTRACT` |

:::tip Finding Event Contract Symbols
Use the discovery endpoints to find tradable event contracts:
1. [Get Event Contract Categories](../reference/event-categories-list.api.mdx)
2. [Get Event Contract Series](../reference/event-series-list.api.mdx)
3. [Get Event Contract Instruments](../reference/event-market-list.api.mdx)
:::

## Settlement and Expiry

When a market is resolved:

- Winning contracts settle according to the contract terms.
- Losing contracts expire without value.
- Trading is no longer available after the market closes or settles.

Monitor order and position changes through [Trade Event Subscription](../reference/custom/subscribe-trade-events.md).

## Event Market Data

Use [Event Contract Series](../reference/event-series-list.api.mdx) and [Event Contract Instruments](../reference/event-market-list.api.mdx) to discover markets. See the Market Data API reference for snapshots, depth, bars, and tick data.

## Fees

For the current fee schedule, see [Webull Pricing](https://www.webull.com/pricing#top).

## What's Next

- [Orders](stock.md) — Stock and ETF order management
- [Futures](futures.md) — Futures contract trading
- [Crypto](crypto.md) — Crypto spot trading
