API Deribit

Deribit

Deribit è una piattaforma di scambio di derivati in criptovaluta che offre il trading di futures e opzioni su Bitcoin ed Ethereum.

API supportate

Proprietà

È possibile configurare le seguenti proprietà nella proprietà Deribit.

Connessione

Quando il client si connette correttamente ai server Deribit, viene generato l'evento OnConnect . Dopo che l'evento OnConnect è stato generato, è possibile iniziare a inviare e ricevere messaggi da/verso i server Deribit. Se si connette al canale websocket privato, deve attendere finché non viene generato l'evento OnDeribitAuthentication e verificare se il parametro success è true, prima di sottoscrivere qualsiasi canale privato.


oClient := TsgcWebSocketClient.Create(nil);
oDeribit := TsgcWS_API_Deribit.Create(nil);
oDeribit.Client := oClient;
oDeribit.Deribit.ApiKey := 'your_api_key';
oDeribit.Deribit.ApiSecret := 'your_api_secret';
oDeribit.Deribit.TestNet := False;
oClient.Active := True;
procedure OnConnect(Connection: TsgcWSConnection);
begin
  DoLog('#Deribit Connected');
end;

Eventi

Il client Deribit implementa i seguenti eventi per controllare il flusso di connessione e ottenere i dati inviati dal server WebSocket:

WebSocket API

Il feed websocket fornisce aggiornamenti in tempo reale sui dati di mercato per ordini e transazioni.

È possibile sottoscriversi ai seguenti canali pubblici:

Method Description
SubscribeTicker Iscrizione al flusso ticker per uno strumento. Fornisce dati in tempo reale su prezzi e volumi.
SubscribeTrades Si iscrive allo stream dei trade recenti per uno strumento.
SubscribeOrderBook Iscrizione allo stream order book. Supporta raggruppamento configurabile, livelli di profondità e intervalli di aggiornamento.
SubscribeCandle Sottoscrivi allo stream candlestick. Supporta più risoluzioni (ad es. 1, 3, 5, 10, 15, 30, 60, 120, 180, 360, 720, 1D).
SubscribePerpetual Iscriviti ai dati del contratto perpetuo per uno strumento. Fornisce il tasso di finanziamento e altre informazioni specifiche dei contratti perpetui.
SubscribeBookChange Sottoscrivi alle notifiche di variazione del book ordini per uno strumento.

È possibile sottoscrivere i seguenti canali privati (richiedono autenticazione):

Method Description
SubscribeOrders Sottoscrizione agli aggiornamenti degli ordini per uno strumento.
SubscribePositions Sottoscrive gli aggiornamenti delle posizioni. Supporta il filtraggio per valuta e tipo di strumento.
SubscribeAccountChanges Sottoscrivi alle variazioni del saldo del conto per una valuta.
SubscribeUserTrades Abbonati agli aggiornamenti sulle operazioni dell'utente per uno strumento.

Di seguito un esempio di sottoscrizione ai canali websocket.


procedure OnDeribitAuthentication(Sender: TObject; aSuccess: Boolean; const aError, aRawMessage: string);
begin
  if aSuccess then
  begin
    oDeribit.SubscribeOrders('BTC-PERPETUAL');
    oDeribit.SubscribePositions('BTC');
  end;
end;

REST API

La REST API fornisce metodi pubblici e privati per richiedere dati da mercati, trading, account e portafoglio. Accedere alla REST API tramite la proprietà REST_API del componente.

Dati di mercato (Pubblici)

Method Description
GetInstruments Ottieni gli strumenti disponibili per una valuta.
GetTicker Ottiene le informazioni sul ticker per uno strumento.
GetOrderBook Ottiene l'order book per uno strumento.
GetTrades Recupera le operazioni più recenti per uno strumento.
GetCurrencies Ottieni l'elenco delle valute supportate.
GetIndexPrice Ottiene il prezzo dell'indice corrente per un nome di indice.
GetFundingRateHistory Recupera la cronologia del tasso di finanziamento per uno strumento.
GetFundingRateValue Ottenere il valore del tasso di finanziamento corrente per uno strumento.
GetBookSummaryByCurrency Ottieni il riepilogo del book per tutti gli strumenti di una valuta.
GetBookSummaryByInstrument Recupera il riepilogo del libro degli ordini per uno strumento specifico.

Trading (Privato)

Method Description
Acquisto Effettua un ordine di acquisto. Supporta i tipi di ordine a mercato e a limite.
Vendita Inserisce un ordine di vendita. Supporta i tipi di ordine market e limit.
CancelOrder Annulla un ordine esistente tramite l'ID ordine.
CancelAllOrders Annulla tutti gli ordini aperti.
CancelAllByInstrument Annulla tutti gli ordini aperti per uno strumento specifico.
EditOrder Modifica un ordine esistente (cambia importo o prezzo).
GetOpenOrders Ottieni l'elenco degli ordini aperti per una valuta.
GetOrderState Ottieni lo stato di un ordine specifico.
GetOrderHistory Ottenere la cronologia degli ordini per una valuta.

Account (Privato)

Method Description
GetPositions Ottieni le posizioni per una valuta.
GetAccountSummary Recupera il riepilogo del conto per una valuta.
GetSubAccounts Ottiene l'elenco dei sotto-account.
GetTransactionLog Recupera il registro delle transazioni per una valuta.

Wallet (Private)

Method Description
GetDeposits Ottieni la cronologia dei depositi per una valuta.
GetWithdrawals Ottiene lo storico dei prelievi per una valuta.
GetTransfers Ottiene la cronologia dei trasferimenti per una valuta.

Di seguito è riportato un esempio di utilizzo della REST API.


oDeribit := TsgcWS_API_Deribit.Create(nil);
oDeribit.Deribit.ApiKey := 'your_api_key';
oDeribit.Deribit.ApiSecret := 'your_api_secret';
// Get ticker
oDeribit.REST_API.GetTicker('BTC-PERPETUAL');
// Place a buy order
oDeribit.REST_API.Buy('BTC-PERPETUAL', 10, 'market');
// Get account summary
oDeribit.REST_API.GetAccountSummary('BTC');