API Bitmex

Bitmex

 

Bitmex é uma exchange de criptomoedas e plataforma de negociação de derivativos.

 

As seguintes APIs são suportadas:

 

  1. WebSocket streams: permite que você faça subscribe a alguns métodos e obtenha dados em tempo real. Os eventos são enviados aos clientes pelo servidor para os assinantes. Usa o WebSocket como protocolo.
  2. REST API: os clientes podem solicitar dados de mercado e de conta ao servidor. Requer uma API Key e Secret para autenticar e usa HTTPs como protocolo.

 

Properties

A API da Bitmex tem 2 tipos de métodos: públicos e privados. Os métodos públicos podem ser acessados sem autenticação, por exemplo: obter preços de tickers. Alguns são privados e relacionados a dados do usuário; esses métodos exigem o uso das chaves de API da Bitmex.

 

 

 

Most common uses

 

WebSocket API

 

Subscribe / Unsubscribe

    

A BitMEX permite assinar dados em tempo real. Esse acesso não tem limite de taxa uma vez conectado e é a melhor maneira de obter os dados mais atualizados para os seus programas. Em alguns tópicos, você pode passar um Symbol para filtrar eventos por símbolo, por exemplo: trades, quotes...

 

Os seguintes tópicos de assinatura estão disponíveis sem autenticação:

 

 

Os seguintes assuntos requerem autenticação:

 

 

 

Exemplo de mensagens recebidas:

 


{
      "table":"orderBookL2_25",
      "keys":["symbol","id","side"],
      "types":{"id":"long","price":"float","side":"symbol","size":"long","symbol":"symbol"}
      "foreignKeys":{"side":"side","symbol":"instrument"},
      "attributes":{"id":"sorted","symbol":"grouped"},
      "action":"partial",
      "data":[
        {"symbol":"XBTUSD","id":17999992000,"side":"Sell","size":100,"price":80},
        {"symbol":"XBTUSD","id":17999993000,"side":"Sell","size":20,"price":70},
        {"symbol":"XBTUSD","id":17999994000,"side":"Sell","size":10,"price":60},
        {"symbol":"XBTUSD","id":17999995000,"side":"Buy","size":10,"price":50},
        {"symbol":"XBTUSD","id":17999996000,"side":"Buy","size":20,"price":40},
        {"symbol":"XBTUSD","id":17999997000,"side":"Buy","size":100,"price":30}
      ]
}
 
{
      "table":"orderBookL2_25",
      "action":"update",
      "data":[
        {"symbol":"XBTUSD","id":17999995000,"side":"Buy","size":5}
      ]
    }
{
      "table":"orderBookL2_25",
      "action":"delete",
      "data":[
        {"symbol":"XBTUSD","id":17999995000,"side":"Buy"}
      ]
}
{
      "table":"orderBookL2_25",
      "action":"insert",
      "data":[
        {"symbol":"XBTUSD","id":17999995500,"side":"Buy","size":10,"price":45},
      ]
}

Autenticação

    

Se você deseja assinar streams bloqueados por usuário, você deve autenticar-se primeiro. Observe que uma autenticação inválida fechará a conexão.

 

O uso da API da BitMEX requer uma API Key.

 

Permanent API Keys podem ser bloqueadas a intervalos de endereço IP e revogadas à vontade sem comprometer suas credenciais principais. Elas também não exigem renovação.

 

Para usar a autenticação por API Key, você deve gerar uma API Key na sua conta.

 

Chame o método Authenticate antes de assinar qualquer tópico autenticado.

CancelAllAfter (Dead Man's Switch)

O método CancelAllAfter implementa o recurso Dead Man's Switch. Quando chamado com um valor de timeout (em milissegundos), instrui o servidor a cancelar todas as ordens abertas se nenhuma chamada subsequente a CancelAllAfter for recebida dentro do período de timeout. Isso é útil para garantir que as ordens sejam canceladas em caso de desconexão de rede.

REST API

 

Method Descrição
GetExecutions Isto retorna todas as transações brutas, o que inclui abertura e cancelamento de ordens, e mudanças de status de ordens.
GetExecutionsTradeHistory Isto retorna Transactions mais focadas.
GetInstruments Isto retorna todos os instrumentos e índices, incluindo aqueles que foram liquidados ou não estão listados. Utilize este endpoint se você deseja consultar instrumentos individuais ou usar um filtro complexo.
GetOrders Para obter apenas as ordens abertas
PlaceOrder Coloque uma ordem bruta utilizando o objeto TsgcHTTPBitmexOrder.
PlaceMarketOrder Coloca uma nova ordem MARKET.
PlaceLimitOrder Coloca uma nova ordem LIMIT.
PlaceStopOrder Coloca uma nova ordem STOP.
PlaceStopLimitOrder Coloca uma nova ordem STOPLIMIT.
AmendOrder Modifica uma ordem existente.
CancelOrder Cancela uma Ordem ativa.
CancelAllOrders Cancela Todas as Ordens Ativas.
CancelAllOrdersAfter Cancelar Todas as Ordens após algum tempo.
ClosePosition Fecha uma posição aberta.
GetOrderBook Obter o OrderBook Atual em formato vertical
GetPosition Obter suas posições.
SetPositionIsolate Habilita margem isolada ou margem cruzada por posição.
SetPositionLeverage Escolha a alavancagem por posição.
SetPositionRiskLimit Atualize seu risk limit.
SetPositionTransferMargin Transfere patrimônio para dentro ou para fora de uma posição.
GetQuotes Get Quotes
GetTrades Get Trades
GetFunding Obter dados de funding.
GetInsurance Obtém dados do fundo de seguro.
GetTradeBucketed Obtém dados de negociação agrupados em buckets (OHLCV) com tamanhos de bin configuráveis.
GetQuoteBucketed Obtém dados de cotação agrupados (bucketed) com tamanhos de bin configuráveis.
GetSettlement Obter dados de liquidação.
GetLiquidation Obtém ordens de liquidação.
GetInstrumentIndices Obtém índices de instrumentos.
GetInstrumentCompositeIndex Obter dados de índice composto para instrumentos.
GetStats Obtém estatísticas de toda a exchange.
GetStatsHistory Obtém estatísticas históricas do exchange.
GetStatsHistoryUSD Obter estatísticas históricas de câmbio em USD.
GetUserMargin Obtém os dados de margem da sua conta.
GetUserWallet Obtenha as informações da sua carteira.
GetUserWalletHistory Obtém o histórico de transações da sua carteira.
GetUserWalletSummary Obter um resumo da sua carteira.