# Market Specifications

Each perpetual market has its own order, fee, margin, price, and risk settings. These settings can change. Use the Trading API as the current source.

## Product Status

The `status` field has one of these values:

| Status     | Meaning                                      |
| ---------- | -------------------------------------------- |
| `PENDING`  | The product is registered but is not active. |
| `ACTIVE`   | The product can accept trading activity.     |
| `DELISTED` | The product has completed its wind-down.     |

Only `ACTIVE` products accept new trading activity.

## Order Increments and Limits

| API field                | Meaning                                 |
| ------------------------ | --------------------------------------- |
| `tickSize`               | Smallest valid price increment.         |
| `lotSize`                | Smallest valid quantity increment.      |
| `minPrice`               | Lowest accepted order price.            |
| `maxPrice`               | Highest accepted order price.           |
| `maxQuantity`            | Largest quantity in one order.          |
| `maxPositionNotionalUsd` | Maximum notional for one position.      |
| `maxOpenInterestUsd`     | Maximum one-sided market open interest. |

An order price must be divisible by `tickSize`. An order quantity must be divisible by `lotSize`. An order can still fail if it would exceed a position, open-interest, or margin limit.

All decimal values use at most nine decimal places.

## Margin and Fees

| API field                  | Meaning                            |
| -------------------------- | ---------------------------------- |
| `marginMode`               | `CROSS` or `ISOLATED`.             |
| `maxLeverage`              | Maximum product leverage.          |
| `makerFee`                 | Decimal maker fee rate.            |
| `takerFee`                 | Decimal taker fee rate.            |
| `fundingRate1h`            | Last computed hourly funding rate. |
| `cumulativeFundingUsd`     | Cumulative funding per unit.       |
| `cumulativePositionFeeUsd` | Cumulative position fee per unit.  |

A decimal fee rate of `0.0003` is `3` basis points or `0.03%`.

## Prices and Market Data

`GET /v1/product/market-price` returns the oracle price, best bid, best ask, and the price from 24 hours earlier. WebSocket `Ticker` and `L2Book` streams provide live updates.

The last trade, the order-book midpoint, and the oracle mark are different values. Margin and liquidation use the oracle mark.

## Trading Hours and Mark Schedules

Crypto reference markets normally provide continuous oracle prices. An mPerp reference market can have scheduled closures.

Meridian can keep an active mPerp available during a reference-market closure. During the closure, the mark is frozen and position fees can apply. Use `GET /v1/product/mark-price-gap` for the scheduled gaps. See [Mutualized Perps](/trading/perpetual-futures/rwa-perpetuals).

## Product Wind-Down

Meridian can delist a product by setting a final settlement price and settling its remaining positions. The product moves to `DELISTED` after open interest reaches zero. Integrations should treat any status other than `ACTIVE` as unavailable for new orders.

## Retrieve Current Specifications

```bash
curl 'https://api.meridiantest.net/v1/product?orderBy=createdAt&limit=100'
```

The current environment hosts are listed on [API Hosts](/protocol-reference/api-hosts).
