Derivatives Contract Specifications
/catalog/markets and /catalog-all/markets
Derivatives contracts can be described by their contract specifications which define the standardized legal agreement that market participants enter into.
Futures and options contracts are standardized contracts that allow counterparties to enter into an agreement to buy or sell a standardized asset under contract specifications that are defined by the exchange. Each specific futures contract offered by a specific exchange will have identical contract specifications regardless of the who is counterparty.
The contract specifications include information such as the underlying base and quote asset, the margin asset, the contract size, the listing time, expiration time, and other terms.
Coin Metrics offers contract specifications for both futures and options. Here we define futures to include both non-perpetual futures that expire and perpetual futures (sometimes called perpetual swaps).
market: Unique name of the market.
min_time: Minimal available time for data from this market in ISO 8601 date-time format.
max_time: Maximal available time for data from this market in ISO 8601 date-time format.
exchange: Name of the exchange.
base: The contract’s underlying base asset.
quote: The contract's underlying quote asset.
symbol: The unique name of the derivative market symbol.
type: The type of the market. Can take values
size_asset: The asset that the contract’s size is denominated in.
margin_asset: The name of the asset that the contract’s margin is denominated in.
strike: Strike price for option contract.
option_contract_type: The type of option. Can take values
is_european: Shows if the options contract is european or not.
contract_size: The number of units of
size_assetthat one contract represents.
tick_size: The minimum price increment of the contract’s price.
listing: The timestamp that the contract first became available for trading
expiration: The timestamp that the contract expires; equals null if the contract is a perpetual future that never expires.
margin_assetis the asset of settlement. A trader must post this asset as the initial margin when opening a position. Unrealized gains and losses are calculated in this asset, and a trader receives gains or losses denominated in this asset when the trader closes the position or the contract expires.
We are working on adding filtering parameters for the various futures contract types. In the meantime, perp contracts can be identified by null
expirationtime. Coin margined contracts can be identified where the
baseis identical to
margin_asset. Tether margined contracts can be identified where the
Harmonization of derivatives contracts in the cryptoasset domain is difficult because there is wide disparity in contract design and exchange conventions. Some of the sources of difficulty include:
- The margin asset can be in the form of the underlying base asset, a stablecoin such as Tether, or a fiat currency.
- The contract size (the amount of notional exposure that a single contract is worth) can be in the form of varying units such as the underlying base asset or a fiat currency. Some exchanges use exotic futures design (such as BitMEX's quanto contracts) where the contract size is not fixed but rather a function of the current price.
- Some exchanges offer exotic futures contracts where the underlying is not a cryptoasset. Instead, it could be a custom index, an equity, or something else like Bitcoin's hash rate.
- Some exchanges hide the complexity involved with contract sizes and do not use contract sizes. Instead, they allow users to define the amount of units of the underlying base asset when trading and allow users to purchase fractional contracts (representing fractional units of the underlying) to simulate spot trading. Other exchanges explicitly define contract sizes and do not allow users to purchase fractional contracts.
- Some exchanges separate perpetual swap contracts that have no expiration date and traditional futures contracts with a specified expiration date. These exchanges serve contract information via two different endpoints with different response schema.
- Some exchanges do not provide all contract specification data via their API but instead define it in documentation.
We harmonize the data in the following way:
- For exchanges that do not explicitly define the contract size and implicitly use a contract size of 1 unit of the underlying base asset, we set the contract size to 1.
- In instances where the exchange's API does not contain all fields that we wish to capture, we consult the exchange's documentation and manually populate the data.
Contract specification data is available through our community API. Community data is available via HTTP API only and is limited to 1,000 API requests per 10 minutes per IP address. All of our contract specification data is available through our professional API with higher rate limits.