MVT API

In order to promote transparency and accountability at crypto trading venues, we are publishing a set of API specifications called Market Venue Transparency API (MVT API). Its goal is to facilitate the collection and analysis of the order-level data enriched with Anonymized Trader IDs.

Order-level data enriched with Anonymized Trader ID

Schema

{
  "fields": [
    {
      "description": "Data provider anonymized ID",
      "name": "source",
      "type": "string"
    },
    {
      "description": "Market unique identifier - combination of a market venue name and a pair identifier",
      "name": "marketId",
      "type": "string"
    },
    {
      "description": "Timestamp in milliseconds reported by exchange",
      "name": "timestamp",
      "type": "long"
    },
    {
      "description": "Timestamp in milliseconds when event received from exchange",
      "name": "receiveTimestamp",
      "type": "long"
    },
    {
      "description": "Ask orders",
      "name": "asks",
      "type": [
        {
          "items": {
            "description": "Order-level information about the changes in the orderbook",
            "fields": [
              {
                "description": "Order price in the quote currency",
                "name": "price",
                "type": "numeric"
              },
              {
                "description": "Order size in the base currency; absolute value",
                "name": "size",
                "type": "numeric"
              },
              {
                "description": "Anonymized ID of the account initiating the order",
                "name": "accountId",
                "type": "string"
              },
              {

                "description": "Anonymized ID of the subaccount initiating the order",
                "name": "subaccountId",
                "type": "string"
            },
              {
                "description": "Order type",
                "name": "orderType",
                "type": "string"
              },
              {
                "description": "Unique order ID",
                "name": "orderId",
                "type": "string"
              }
            ],
            "name": "OrderDelta",
            "type": "record"
          },
          "type": "array"
        }
      ]
    },
    {
      "description": "Bid orders",
      "name": "bids",
      "type": [
        {
          "items": "OrderDelta",
          "type": "array"
        }
      ]
    }
  ],
  "name": "OrderBookApiStandard",
  "type": "record"
}

Table

fielddescription
sourceData provider anonymized ID
marketIdMarket unique identifier - combination of a market venue name and a pair identifier
timestampTimestamp in milliseconds reported by exchange
receiveTimestampTimestamp in milliseconds when event received from exchange
asksAsk orderspriceOrder price in the quote currency
sizeOrder size in the base currency; absolute value
accountIdAnonymized ID of the account initiating the order
subaccountIdAnonymized ID of the subaccount initiating the order
orderTypeOrder type
orderIdUnique order ID
bidsBid orderspriceOrder price in the quote currency
sizeOrder size in the base currency; absolute value
accountIdAnonymized ID of the account initiating the order
subaccountIdAnonymized ID of the subaccount initiating the order
orderTypeOrder type
orderIdUnique order ID

Trade-level data enriched with Anonymized Trader ID

Schema

{
  "fields": [
    {
      "description": "Data provider anonymized ID",
      "name": "source",
      "type": "string"
    },
    {
      "description": "Market unique identifier - combination of a market venue name and a pair identifier",
      "name": "marketId",
      "type": "string"
    },
    {
      "description": "Timestamp in milliseconds reported by exchange",
      "name": "timestamp",
      "type": "long"
    },
    {
      "description": "Timestamp in milliseconds when event received from exchange",
      "name": "receiveTimestamp",
      "type": "long"
    },
    {
      "description": "Execution price in the quote currency",
      "name": "price",
      "type": "numeric"
    },
    {
      "description": "Order size in the base currency; absolute value",
      "name": "size",
      "type": "numeric"
    },
    {
      "description": "",
      "name": "side",
      "type": "string"
    },
    {
      "description": "",
      "name": "accountId",
      "type": "string"
    },
    {
      "description": "",
      "name": "takerAccountId",
      "type": "string"
    },
    {
      "description": "",
      "name": "orderId",
      "type": "string"
    },
    {
      "description": "",
      "name": "takerOrderId",
      "type": "string"
    }
  ],
  "name": "TradeApiStandard",
  "type": "record"
}

Table

fielddescription
sourceData provider anonymized ID
marketIdMarket unique identifier - combination of a market venue name and a pair identifier
timestampTimestamp in milliseconds reported by exchange
receiveTimestampTimestamp in milliseconds when event received from exchange
priceExecution price in the quote currency
sizeOrder size in the base currency; absolute value
sideThe side of the market taker (aggressor side)
accountIdA unique identifier of the market maker’s account associated with the trade execution
takerAccountIdA unique identifier of the market taker’s account associated with the trade execution
orderIdA unique identifier of the market maker’s order associated with the trade execution
takerOrderIdA unique identifier of the market taker’s order associated with the trade execution