Bitmex ist eine Kryptowährungsbörse und eine Plattform für den Derivatehandel.
Die folgenden APIs werden unterstützt:
Die Bitmex-API hat zwei Arten von Methoden: öffentliche und private. Auf öffentliche Methoden kann ohne Authentifizierung zugegriffen werden, zum Beispiel: Ticker-Preise abrufen. Einige sind privat und beziehen sich auf Benutzerdaten; diese Methoden erfordern die Verwendung von Bitmex-API-Schlüsseln.
REST API
Subscribe / Unsubscribe
BitMEX ermöglicht das Abonnieren von Echtzeitdaten. Dieser Zugriff ist nach dem Verbinden nicht rate-limited und ist der beste Weg, die aktuellsten Daten an Ihre Programme zu erhalten. Bei einigen Topics können Sie ein Symbol übergeben, um Ereignisse nach Symbol zu filtern, Beispiel: trades, quotes...
Die folgenden Abonnement-Topics sind ohne Authentifizierung verfügbar:
btmAnnouncement: Website-Ankündigungen
btmChat: Trollbox-Chat
btmConnected: Statistiken über verbundene Benutzer/Bots
btmFunding: Aktualisierungen der Swap-Funding-Raten. Wird in jedem Funding-Intervall gesendet (normalerweise 8 Stunden)
btmInstrument: Instrument-Aktualisierungen einschließlich Turnover und Bid/Ask
btmInsurance: Tägliche Insurance-Fund-Updates
btmLiquidation: Liquidationsorders, sobald sie ins Buch eingetragen werden
btmOrderBookL2_25: Top-25-Ebenen des Level-2-Orderbuchs
btmOrderBookL2: Vollständiges Level-2-Orderbuch
btmOrderBook10: Top-10-Ebenen unter Verwendung des traditionellen vollständigen Buch-Pushs
btmPublicNotifications: Systemweite Benachrichtigungen (für kurzlebige Nachrichten verwendet)
btmQuote: Oberste Ebene des Buchs
btmQuoteBin1m: 1-Minuten-Quote-Bins
btmQuoteBin5m: 5-Minuten-Quote-Bins
btmQuoteBin1h: 1-Stunden-Quote-Bins
btmQuoteBin1d: 1-Tages-Quote-Bins
btmSettlement: Abrechnungen
btmTrade: Live-Trades
btmTradeBin1m: 1-Minuten-Trade-Bins
btmTradeBin5m: 5-Minuten-Trade-Bins
btmTradeBin1h:1-Stunden-Handels-Bins
btmTradeBin1d: 1-Tages-Trade-Bins
Die folgenden Subjects erfordern eine Authentifizierung:
btmAffiliate: Affiliate-Status, etwa insgesamt geworbene Benutzer & Auszahlungs-%
btmExecution: Einzelne Ausführungen; können mehrere pro Order sein
btmOrder: Live-Aktualisierungen Ihrer Orders
btmMargin: Updates zu Ihrem aktuellen Kontostand und den Margin-Anforderungen
btmPosition: Aktualisierungen Ihrer Positionen
btmPrivateNotifications: Individuelle Benachrichtigungen - derzeit nicht verwendet
btmTransact: Einzahlungs-/Auszahlungsaktualisierungen
btmWallet: Bitcoin-Adress-Saldo-Daten, einschließlich Gesamteinzahlungen & -abhebungen
Beispiel für empfangene Nachrichten:
{
"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},
]
}
Authentifizierung
Wenn Sie benutzergesperrte Streams abonnieren möchten, müssen Sie sich zuerst authentifizieren. Beachten Sie, dass eine ungültige Authentifizierung die Verbindung schließt.
Die Nutzung der BitMEX-API erfordert einen API-Schlüssel.
Permanente API-Schlüssel können auf IP-Adressbereiche beschränkt und nach Belieben widerrufen werden, ohne Ihre Hauptanmeldedaten zu kompromittieren. Sie erfordern außerdem keine Erneuerung.
Um die API-Key-Authentifizierung zu verwenden, müssen Sie in Ihrem Konto einen API Key generieren.
Rufen Sie die Methode Authenticate auf, bevor Sie ein authentifiziertes Topic abonnieren.
CancelAllAfter (Dead Man's Switch)
Die Methode CancelAllAfter implementiert die Dead-Man's-Switch-Funktion. Wenn sie mit einem Timeout-Wert (in Millisekunden) aufgerufen wird, weist sie den Server an, alle offenen Orders zu stornieren, wenn innerhalb des Timeout-Zeitraums kein nachfolgender CancelAllAfter-Aufruf empfangen wird. Dies ist nützlich, um sicherzustellen, dass Orders im Falle einer Netzwerktrennung storniert werden.
| Method | Beschreibung |
| GetExecutions | Dies gibt alle Raw-Transaktionen zurück, was das Eröffnen und Stornieren von Orders sowie Order-Statusänderungen einschließt. |
| GetExecutionsTradeHistory | Dies gibt fokussiertere Transaktionen zurück. |
| GetInstruments | Dies gibt alle Instrumente und Indizes zurück, einschließlich derer, die abgerechnet oder nicht gelistet sind. Verwenden Sie diesen Endpunkt, wenn Sie einzelne Instrumente abfragen oder einen komplexen Filter verwenden möchten. |
| GetOrders | Um nur offene Orders abzurufen |
| PlaceOrder | Platziert eine rohe Order mithilfe des TsgcHTTPBitmexOrder-Objekts. |
| PlaceMarketOrder | Gibt eine neue MARKET-Order auf. |
| PlaceLimitOrder | Platziert eine neue LIMIT-Order. |
| PlaceStopOrder | Platziert eine neue STOP-Order. |
| PlaceStopLimitOrder | Platzieren Sie eine neue STOPLIMIT-Order. |
| AmendOrder | Ändert eine bestehende Order. |
| CancelOrder | Storniert einen aktiven Auftrag. |
| CancelAllOrders | Alle aktiven Orders stornieren. |
| CancelAllOrdersAfter | Alle Orders nach einer bestimmten Zeit abbrechen. |
| ClosePosition | Schließt eine offene Position. |
| GetOrderBook | Get Current OrderBook in vertical format |
| GetPosition | Rufen Sie Ihre Positionen ab. |
| SetPositionIsolate | Aktiviert Isolated-Margin oder Cross-Margin pro Position. |
| SetPositionLeverage | Wählen Sie den Hebel pro Position. |
| SetPositionRiskLimit | Aktualisieren Sie Ihr Risikolimit. |
| SetPositionTransferMargin | Equity in eine Position übertragen oder daraus entnehmen. |
| GetQuotes | Quotes abrufen |
| GetTrades | Get Trades |
| GetFunding | Ruft Funding-Daten ab. |
| GetInsurance | Insurance-Fund-Daten abrufen. |
| GetTradeBucketed | Ruft gruppierte Handelsdaten (OHLCV) mit konfigurierbaren Bin-Größen ab. |
| GetQuoteBucketed | Ruft gebucketete Quote-Daten mit konfigurierbaren Bin-Größen ab. |
| GetSettlement | Ruft Settlement-Daten ab. |
| GetLiquidation | Ruft Liquidationsorders ab. |
| GetInstrumentIndices | Instrument-Indizes abrufen. |
| GetInstrumentCompositeIndex | Ruft zusammengesetzte Indexdaten für Instrumente ab. |
| GetStats | Ruft börsenweite Statistiken ab. |
| GetStatsHistory | Rufen Sie historische Exchange-Statistiken ab. |
| GetStatsHistoryUSD | Ruft historische USD-Wechselkursstatistiken ab. |
| GetUserMargin | Rufen Sie die Margin-Daten Ihres Kontos ab. |
| GetUserWallet | Rufen Sie Ihre Wallet-Informationen ab. |
| GetUserWalletHistory | Rufen Sie den Transaktionsverlauf Ihres Wallets ab. |
| GetUserWalletSummary | Eine Zusammenfassung Ihrer Wallet abrufen. |