# `CCXT.Market`
[🔗](https://github.com/ZenHive/ccxt_client/blob/main/lib/ccxt/market.ex#L1)

Unified market/instrument metadata.

Describes a trading pair and its properties — spot, derivatives,
precision, limits, and fee structure.

## Fields

  * `id` - Exchange-native market ID (e.g., "BTCUSDT")
  * `symbol` - Unified symbol (e.g., "BTC/USDT")
  * `base`, `quote` - Base and quote currency codes
  * `base_id`, `quote_id` - Exchange-native currency IDs
  * `type` - Market type: "spot", "swap", "future", "option"
  * `sub_type` - "linear" or "inverse" for derivatives
  * `spot`, `margin`, `swap`, `future`, `option`, `contract` - Type flags
  * `active` - Whether the market is currently trading
  * `settle`, `settle_id` - Settlement currency
  * `contract_size` - Contract size for derivatives
  * `linear`, `inverse` - Settlement direction flags
  * `expiry`, `expiry_datetime` - Futures/options expiration
  * `strike` - Options strike price
  * `option_type` - "call" or "put"
  * `taker`, `maker` - Fee rates as decimals
  * `precision` - Price/amount/cost precision rules
  * `limits` - Min/max for price, amount, cost, leverage
  * `info` - Raw exchange response

# `t`

```elixir
@type t() :: %CCXT.Market{
  active: boolean() | nil,
  base: String.t() | nil,
  base_id: String.t() | nil,
  contract: boolean() | nil,
  contract_size: number() | nil,
  expiry: integer() | nil,
  expiry_datetime: String.t() | nil,
  future: boolean() | nil,
  id: String.t() | nil,
  info: map() | nil,
  inverse: boolean() | nil,
  limits: map() | nil,
  linear: boolean() | nil,
  maker: number() | nil,
  margin: boolean() | nil,
  option: boolean() | nil,
  option_type: String.t() | nil,
  precision: map() | nil,
  quote: String.t() | nil,
  quote_id: String.t() | nil,
  settle: String.t() | nil,
  settle_id: String.t() | nil,
  spot: boolean() | nil,
  strike: number() | nil,
  sub_type: String.t() | nil,
  swap: boolean() | nil,
  symbol: String.t() | nil,
  taker: number() | nil,
  type: String.t() | nil
}
```

# `schema`

```elixir
@spec schema() :: map()
```

JSON Schema for the Market unified type.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
