ExBitmex
BitMEX API Client for Elixir
Installation
Add the ex_bitmex package to your list of dependencies in mix.exs:
def deps do
[{:ex_bitmex, "~> 0.6"}]
endUsage
# Public
{:ok, instruments, rate_limit} = ExBitmex.Rest.Instrument.Index.get(start: 0, count: 20)
# Private
credentials = %ExBitmex.Credentials{
api_key: System.get_env("BITMEX_API_KEY"),
api_secret: System.get_env("BITMEX_API_SECRET")
}
{:ok, positions, rate_limit} = ExBitmex.Rest.Position.Index.get(credentials)WebSocket
Create a WebSocket wrapper with a handler
defmodule BitMexWebSocketWrapper do
use ExBitmex.WebSocket
def handle_response(json, _state) do
Logger.warn("Received #{inspect(json)}")
end
endREST Status
Announcement
GET /announcementGET /announcement/urgent
APIKey
GET /apiKey
Chat
GET /chatPOST /chatGET /chat/channelsGET /chat/connected
Execution
GET /executionGET /execution/tradeHistory
Funding
GET /funding
GlobalNotification
GET /globalNotification
Instrument
GET /instrumentGET /instrument/activeGET /instrument/activeAndIndicesGET /instrument/activeIntervalsGET /instrument/compositeIndexGET /instrument/indicies
Insurance
GET /insurance
Leaderboard
GET /leaderboardGET /leaderboard/name
Liquidation
GET /liquidation
Order
GET /orderPUT /orderPOST /orderDELETE /orderDELETE /order/allPUT /order/bulkPOST /order/bulkPOST /order/cancelAllAfterPOST /order/closePosition
OrderBook
GET /orderBook/L2
Position
GET /positionPOST /position/isolatePOST /position/leveragePOST /position/riskLimitPOST /position/transferMargin
Quote
GET /quoteGET /quote/bucketed
Schema
GET /schemaGET /schema/websocketHelp
Settlement
GET /settlement
Stats
GET /statsGET /stats/historyGET /stats/historyUSD
Trade
GET /tradeGET /trade/bucketed
User
GET /userGET /user/affiliateStatusPOST /user/cancelWithdrawalGET /user/checkReferralCodeGET /user/commmissionPOST /user/communicationTokenPOST /user/confirmEmailPOST /user/confirmWithdrawalGET /user/depositAddressGET /user/executionHistoryPOST /user/logoutGET /user/marginGET /user/minWithdrawalFeePOST /user/preferencesGET /user/quoteFillRatioPOST /user/requestWithdrawalGET /user/walletGET /user/walletHistoryGET /user/walletSummary
UserEvent
GET /userEvent