openapi: '3.0.0' info: title: Bittrex REST API description: >- Bittrex provides a simple and powerful REST API to allow you to programatically perform nearly all actions you can from our web interface. All requests use the application/json content type and go over https. The base url is https://bittrex.com/api/{version}/. All requests are GET requests and all responses come in a default response object with the result in the result field. Always check the success flag to ensure that your API call succeeded. We are currently restricting orders to 500 open orders and 200,000 orders a day. We reserve the right to change these settings as we tune the system. If you are affected by these limits as an active trader, please email support@bittrex.com. If you have any questions, feedback or recommendation for API support you can post a question in our support center. termsOfService: 'https://bittrex.com/Home/Terms' contact: name: Bittrex LLC url: https://bittrex.zendesk.com/hc/en-us email: support@bittrex.com license: name: '-' version: 1.1.0 servers: - url: https://bittrex.com/api/v1.1 description: Production server paths: /public/getmarkets: get: summary: >- Used to get the open and available trading markets at Bittrex along with other meta data. operationId: getMarkets tags: - public responses: '200': description: An array of markets. content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/Markets' /public/getcurrencies: get: summary: >- Used to get all supported currencies at Bittrex along with other meta data. operationId: getCurrencies tags: - public responses: '200': description: An array of currencies. content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/Currencies' /public/getticker: get: summary: Used to get the current tick values for a market. operationId: getTicker tags: - public responses: '200': description: Ticker data for the given market. content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/Ticker' parameters: - $ref: '#/components/parameters/MarketParameter' /public/getmarketsummaries: get: summary: Used to get the last 24 hour summary of all active exchanges. operationId: getMarketSummaries tags: - public responses: '200': description: Market summary content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/MarketSummaries' /public/getmarketsummary: get: summary: Used to get the last 24 hour summary of one active exchange. operationId: getMarketSummaries tags: - public responses: '200': description: Market summary content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/MarketSummaries' parameters: - $ref: '#/components/parameters/MarketParameter' /public/getorderbook: get: summary: Used to retrieve the orderbook for a given market. operationId: getOrderBook tags: - public responses: '200': description: Order book content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/OrderBook' parameters: - $ref: '#/components/parameters/MarketParameter' - $ref: '#/components/parameters/OrderBookTypeParameter' /public/getmarkethistory: get: summary: >- Used to retrieve the latest trades that have occured for a specific market. operationId: getMarketHistory tags: - public responses: '200': description: Market history content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/MarketHistory' parameters: - $ref: '#/components/parameters/MarketParameter' /market/buylimit: get: summary: >- Used to place a buy order in a specific market. Use buylimit to place limit orders. security: - ApiSign: [] operationId: placeBuyLimitOrder tags: - market responses: '200': description: Buy limit content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/BuyLimit' parameters: - $ref: '#/components/parameters/ApiKeyParameter' - $ref: '#/components/parameters/NonceParameter' - $ref: '#/components/parameters/MarketParameter' - $ref: '#/components/parameters/QuantityParameter' - $ref: '#/components/parameters/RateParameter' /market/selllimit: get: summary: >- Used to place an sell order in a specific market. Use selllimit to place limit orders. security: - ApiSign: [] operationId: placeSellLimitOrder tags: - market responses: '200': description: Sell limit content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/SellLimit' parameters: - $ref: '#/components/parameters/ApiKeyParameter' - $ref: '#/components/parameters/NonceParameter' - $ref: '#/components/parameters/MarketParameter' - $ref: '#/components/parameters/QuantityParameter' - $ref: '#/components/parameters/RateParameter' /market/cancel: get: summary: Used to cancel a buy or sell order. security: - ApiSign: [] operationId: cancelOrder tags: - market responses: '200': description: Cancel order content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/CancelOrder' parameters: - $ref: '#/components/parameters/ApiKeyParameter' - $ref: '#/components/parameters/NonceParameter' - $ref: '#/components/parameters/UuidParameter' /market/getopenorders: get: summary: >- Get all orders that you currently have opened. A specific market can be requested. security: - ApiSign: [] operationId: getOpenOrders tags: - market responses: '200': description: Open orders content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/OpenOrders' parameters: - $ref: '#/components/parameters/ApiKeyParameter' - $ref: '#/components/parameters/NonceParameter' - $ref: '#/components/parameters/MarketParameter' /account/getbalances: get: summary: Used to retrieve all balances from your account. security: - ApiSign: [] operationId: getBalances tags: - account responses: '200': description: Balances content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/Balances' parameters: - $ref: '#/components/parameters/ApiKeyParameter' - $ref: '#/components/parameters/NonceParameter' /account/getbalance: get: summary: >- Used to retrieve the balance from your account for a specific currency. security: - ApiSign: [] operationId: getBalance tags: - account responses: '200': description: Specific balance content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/Balance' parameters: - $ref: '#/components/parameters/ApiKeyParameter' - $ref: '#/components/parameters/NonceParameter' - $ref: '#/components/parameters/CurrencyParameter' /account/getdepositaddress: get: summary: >- Used to retrieve or generate an address for a specific currency. If one does not exist, the call will fail and return ADDRESS_GENERATING until one is available. security: - ApiSign: [] operationId: getDepositAddress tags: - account responses: '200': description: Deposit address content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/DepositAddress' parameters: - $ref: '#/components/parameters/ApiKeyParameter' - $ref: '#/components/parameters/NonceParameter' - $ref: '#/components/parameters/CurrencyParameter' /account/withdraw: get: summary: >- Used to withdraw funds from your account. Note: please account for txfee. security: - ApiSign: [] operationId: withdraw tags: - account responses: '200': description: Withdraw content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/Withdraw' parameters: - $ref: '#/components/parameters/ApiKeyParameter' - $ref: '#/components/parameters/NonceParameter' - $ref: '#/components/parameters/CurrencyParameter' - $ref: '#/components/parameters/QuantityParameter' - $ref: '#/components/parameters/AddressParameter' - $ref: '#/components/parameters/PaymentIdParameter' /account/getorder: get: summary: Used to retrieve a single order by uuid. security: - ApiSign: [] operationId: getOrder tags: - account responses: '200': description: Get specific order content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/Order' parameters: - $ref: '#/components/parameters/ApiKeyParameter' - $ref: '#/components/parameters/NonceParameter' - $ref: '#/components/parameters/UuidParameter' /account/getorderhistory: get: summary: Used to retrieve your order history. security: - ApiSign: [] operationId: getOrderHistory tags: - account responses: '200': description: Get order history content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/OrderHistory' parameters: - $ref: '#/components/parameters/ApiKeyParameter' - $ref: '#/components/parameters/NonceParameter' - $ref: '#/components/parameters/OptionalMarketParameter' /account/getwithdrawalhistory: get: summary: Used to retrieve your withdrawal history. security: - ApiSign: [] operationId: getWithdrawalHistory tags: - account responses: '200': description: Get withdrawal history content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/WithdrawalHistory' parameters: - $ref: '#/components/parameters/ApiKeyParameter' - $ref: '#/components/parameters/NonceParameter' - $ref: '#/components/parameters/OptionalCurrencyParameter' /account/getdeposithistory: get: summary: Used to retrieve your deposit history. security: - ApiSign: [] operationId: getDepositHistory tags: - account responses: '200': description: Get deposit history content: application/json; charset=utf-8: schema: $ref: '#/components/schemas/DepositHistory' parameters: - $ref: '#/components/parameters/ApiKeyParameter' - $ref: '#/components/parameters/NonceParameter' - $ref: '#/components/parameters/OptionalCurrencyParameter' components: schemas: Markets: properties: success: type: boolean message: type: string result: type: array items: $ref: '#/components/schemas/Market' nullable: true Market: properties: MarketCurrency: type: string BaseCurrency: type: string MarketCurrencyLong: type: string BaseCurrencyLong: type: string MinTradeSize: type: number format: double MarketName: type: string IsActive: type: boolean Created: type: string format: date-time Currencies: properties: success: type: boolean message: type: string result: type: array items: $ref: '#/components/schemas/Currency' nullable: true Currency: properties: Currency: type: string CurrencyLong: type: string MinConfirmation: type: integer TxFee: type: number format: double IsActive: type: boolean CoinType: type: string BaseAddress: type: string Ticker: properties: success: type: boolean message: type: string result: properties: Bid: type: number format: double Ask: type: number format: double Last: type: number format: double nullable: true MarketSummaries: properties: success: type: boolean message: type: string result: type: array items: $ref: '#/components/schemas/MarketSummary' nullable: true MarketSummary: properties: MarketName: type: string High: type: number format: double Low: type: number format: double Volume: type: number format: double Last: type: number format: double BaseVolume: type: number format: double TimeStamp: type: string format: date-time Bid: type: number format: double Ask: type: number format: double OpenBuyOrders: type: integer OpenSellOrders: type: integer PrevDay: type: number format: double Created: type: string format: date-time DisplayMarketName: type: string nullable: true OrderBook: oneOf: - $ref: '#/components/schemas/OrderBookBoth' - $ref: '#/components/schemas/OrderBookBuy' - $ref: '#/components/schemas/OrderBookSell' required: - type properties: success: type: boolean message: type: string discriminator: propertyName: type mapping: both: OrderBookBoth buy: OrderBookBuy sell: OrderBookSell OrderBookBoth: allOf: - $ref: '#/components/schemas/OrderBook' - type: object properties: result: properties: buy: type: array items: $ref: '#/components/schemas/OrderBookEntry' nullable: true sell: type: array items: $ref: '#/components/schemas/OrderBookEntry' nullable: true nullable: true OrderBookBuy: allOf: - $ref: '#/components/schemas/OrderBook' - type: object properties: result: type: array items: $ref: '#/components/schemas/OrderBookEntry' nullable: true OrderBookSell: allOf: - $ref: '#/components/schemas/OrderBook' - type: object properties: result: type: array items: $ref: '#/components/schemas/OrderBookEntry' nullable: true OrderBookEntry: properties: Quantity: type: number format: double Rate: type: number format: double MarketHistory: properties: success: type: boolean message: type: string result: type: array items: $ref: '#/components/schemas/MarketHistoryEntry' nullable: true MarketHistoryEntry: properties: Id: type: integer TimeStamp: type: string format: date-time Quantity: type: number format: double Price: type: number format: double Total: type: number format: double FillType: type: string OrderType: type: string BuyLimit: properties: success: type: boolean message: type: string result: properties: uuid: type: string format: uuid nullable: true SellLimit: properties: success: type: boolean message: type: string result: properties: uuid: type: string format: uuid nullable: true CancelOrder: properties: success: type: boolean message: type: string result: nullable: true OpenOrders: properties: success: type: boolean message: type: string result: type: array items: $ref: '#/components/schemas/OpenOrder' nullable: true OpenOrder: properties: Uuid: type: string format: uuid nullable: true OrderUuid: type: string format: uuid Exchange: type: string OrderType: type: string Quantity: type: number format: double QuantityRemaining: type: number format: double Limit: type: number format: double CommissionPaid: type: number format: double Price: type: number format: double PricePerUnit: nullable: true # TODO: nullable without type Opened: type: string format: date-time Closed: nullable: true # TODO: nullable without type CancelInitiated: type: boolean ImmediateOrCancel: type: boolean IsConditional: type: boolean Condition: nullable: true # TODO: nullable without type ConditionTarget: nullable: true # TODO: nullable without type Balances: properties: success: type: boolean message: type: string result: type: array items: $ref: '#/components/schemas/BalanceItem' nullable: true Balance: properties: success: type: boolean message: type: string result: $ref: '#/components/schemas/BalanceItem' nullable: true BalanceItem: properties: Currency: type: string Balance: type: number format: double Available: type: number format: double Pending: type: number format: double CryptoAddress: type: string Requested: type: boolean Uuid: type: string format: uuid nullable: true DepositAddress: properties: success: type: boolean message: type: string result: properties: Currency: type: string Address: type: string nullable: true Withdraw: properties: success: type: boolean message: type: string result: properties: uuid: type: string format: uuid nullable: true Order: properties: success: type: boolean message: type: string result: properties: AccountId: nullable: true # TODO: nullable without type OrderUuid: type: string format: uuid Exchange: type: string Type: type: string Quantity: type: number format: double QuantityRemaining: type: number format: double Limit: type: number format: double Reserved: type: number format: double ReserveRemaining: type: number format: double CommissionReserved: type: number format: double CommissionReserveRemaining: type: number format: double CommissionPaid: type: number format: double Price: type: number format: double PricePerUnit: nullable: true # TODO: nullable without type Opened: type: string format: date-time Closed: nullable: true # TODO: nullable without type IsOpen: type: boolean Sentinel: type: string format: uuid CancelInitiated: type: boolean ImmediateOrCancel: type: boolean IsConditional: type: boolean Condition: type: string ConditionTarget: nullable: true # TODO: nullable without type nullable: true OrderHistory: properties: success: type: boolean message: type: string result: type: array items: $ref: '#/components/schemas/OrderHistoryItem' nullable: true OrderHistoryItem: properties: OrderUuid: type: string format: uuid Exchange: type: string TimeStamp: type: string format: date-time OrderType: type: string Limit: type: number format: double Quantity: type: number format: double QuantityRemaining: type: number format: double Commission: type: number format: double Price: type: number format: double PricePerUnit: nullable: true # TODO: nullable without type IsConditional: type: boolean Condition: nullable: true # TODO: nullable without type ConditionTarget: nullable: true # TODO: nullable without type ImmediateOrCancel: type: boolean WithdrawalHistory: properties: success: type: boolean message: type: string result: type: array items: $ref: '#/components/schemas/WithdrawalHistoryItem' nullable: true WithdrawalHistoryItem: properties: PaymentUuid: type: string format: uuid Currency: type: string Amount: type: number format: double Address: type: string Opened: type: string format: date-time Authorized: type: boolean PendingPayment: type: boolean TxCost: type: number format: double TxId: nullable: true # TODO: nullable without type Canceled: type: boolean InvalidAddress: type: boolean DepositHistory: properties: success: type: boolean message: type: string result: type: array items: $ref: '#/components/schemas/DepositHistoryItem' nullable: true DepositHistoryItem: properties: PaymentUuid: type: string format: uuid Currency: type: string Amount: type: number format: double Address: type: string Opened: type: string format: date-time Authorized: type: boolean PendingPayment: type: boolean TxCost: type: number format: double TxId: type: string Canceled: type: boolean InvalidAddress: type: boolean parameters: MarketParameter: name: market in: query description: A string literal for the market. example: BTC-LTC required: true schema: type: string OptionalMarketParameter: name: market in: query description: A string literal for the market. example: BTC-LTC required: false schema: type: string OrderBookTypeParameter: name: type in: query description: >- Buy, sell or both to identify the type of orderbook to return. required: true schema: type: string QuantityParameter: name: quantity in: query description: A quantity of coins. example: 1.2 required: true schema: type: number format: double RateParameter: name: rate in: query description: The rate at which to place the order. example: 1.3 required: true schema: type: number format: double ApiKeyParameter: name: apikey in: query description: The personal api key. example: 3c6e0b8a9c15224a8228b9a98ca1531d required: true schema: type: string NonceParameter: name: nonce in: query description: The timestamp of the request. example: 1504216800 required: true schema: type: integer UuidParameter: name: uuid in: query description: The uuid of buy or sell order. example: 614c34e4-8d71-11e3-94b5-425861b86ab6 required: true schema: type: string format: uuid CurrencyParameter: name: currency in: query description: A string literal for the currency. example: LTC required: true schema: type: string OptionalCurrencyParameter: name: currency in: query description: A string literal for the currency. example: LTC required: false schema: type: string AddressParameter: name: address in: query description: The address where to send the funds. example: 1MCwBbhNGp5hRm5rC1Aims2YFRe2SXPYKt required: true schema: type: string PaymentIdParameter: name: paymentid in: query description: Used for CryptoNotes/BitShareX/Nxt (memo/paymentid). example: 666c75666679706f6e7920697320746865206265737420706f6e792065766572 required: false schema: type: string securitySchemes: ApiSign: type: apiKey in: header name: apisign externalDocs: description: Bittrex API developer's guide. url: 'https://bittrex.com/home/api'