Bitmex é uma exchange de criptomoedas e plataforma de negociação de derivativos.
As seguintes APIs são suportadas:
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.
REST 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:
btmAnnouncement: Anúncios do Site
btmChat: chat Trollbox
btmConnected: Estatísticas de usuários/bots conectados
btmFunding: Atualizações das taxas de funding de swap. Enviado a cada intervalo de funding (normalmente 8 h)
btmInstrument: Atualizações de instrumento incluindo turnover e bid/ask
btmInsurance: Atualizações diárias do Insurance Fund
btmLiquidation: Ordens de liquidação à medida que são inseridas no book
btmOrderBookL2_25: Os 25 níveis principais do order book de nível 2
btmOrderBookL2: Livro de ordens completo de nível 2
btmOrderBook10: Top 10 níveis usando o push tradicional de book completo
btmPublicNotifications: Notificações em todo o sistema (utilizadas para mensagens de curta duração)
btmQuote: Topo do book
btmQuoteBin1m: bins de cotação de 1 minuto
btmQuoteBin5m: bins de cotação de 5 minutos
btmQuoteBin1h: bins de cotação de 1 hora
btmQuoteBin1d: bins de cotação de 1 dia
btmSettlement: Liquidações
btmTrade: Negociações ao vivo
btmTradeBin1m: bins de negociação de 1 minuto
btmTradeBin5m: bins de trade de 5 minutos
btmTradeBin1h:bins de trade de 1 hora
btmTradeBin1d: bins de negociação de 1 dia
Os seguintes assuntos requerem autenticação:
btmAffiliate: Status de afiliado, como o total de usuários indicados e % de payout
btmExecution: Execuções individuais; pode haver várias por ordem
btmOrder: Atualizações ao vivo sobre suas ordens
btmMargin: Atualizações do saldo atual da sua conta e dos requisitos de margem
btmPosition: Atualizações sobre suas posições
btmPrivateNotifications: Notificações individuais - atualmente não utilizado
btmTransact: Atualizações de depósito/saque
btmWallet: Dados de saldo de endereço Bitcoin, incluindo o total de depósitos & saques
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.
| 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. |