API Deribit

Deribit

Deribit é uma exchange de derivativos de criptomoedas que oferece negociação de futuros e opções em Bitcoin e Ethereum.

APIs suportadas

Properties

Você pode configurar as seguintes propriedades na propriedade Deribit.

Conexão

Quando o cliente se conecta com sucesso aos servidores da Deribit, o evento OnConnect é disparado. Depois que o evento OnConnect é disparado, você pode começar a enviar e receber mensagens de/para os servidores da Deribit. Se você estiver se conectando ao canal websocket privado, deve aguardar até que o evento OnDeribitAuthentication seja disparado e verificar se o parâmetro success é true, antes de assinar qualquer canal privado.


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;

Eventos

O cliente Deribit implementa os seguintes eventos para controlar o fluxo de conexão e obter os dados enviados pelo servidor WebSocket:

WebSocket API

O feed websocket fornece atualizações de market data em tempo real para ordens e negociações.

Você pode assinar os seguintes canais públicos:

Method Descrição
SubscribeTicker Assina o stream de ticker de um instrumento. Fornece dados de preço e volume em tempo real.
SubscribeTrades Inscreve-se no stream de negociações recentes de um instrumento.
SubscribeOrderBook Inscreve-se no stream do order book. Suporta agrupamento configurável, níveis de profundidade e intervalos de atualização.
SubscribeCandle Assina o stream de candlestick. Suporta múltiplas resoluções (por exemplo 1, 3, 5, 10, 15, 30, 60, 120, 180, 360, 720, 1D).
SubscribePerpetual Assina os dados de contrato perpétuo de um instrumento. Fornece funding rate e outras informações específicas de perpétuos.
SubscribeBookChange Assine as notificações de alteração do order book de um instrumento.

Você pode assinar os seguintes canais privados (requerem autenticação):

Method Descrição
SubscribeOrders Assina atualizações de ordens para um instrumento.
SubscribePositions Inscreve-se em atualizações de posição. Suporta filtragem por moeda e tipo de instrumento.
SubscribeAccountChanges Assine as alterações de saldo da conta para uma moeda.
SubscribeUserTrades Assina atualizações de negociações do usuário para um instrumento.

Encontre abaixo um exemplo de inscrição em canais 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

A REST API fornece métodos Públicos e Privados para solicitar dados de mercados, negociação, conta e carteira. Acesse a REST API por meio da propriedade REST_API do componente.

Market Data (Public)

Method Descrição
GetInstruments Obtém os instrumentos disponíveis para uma moeda.
GetTicker Obtém informações do ticker para um instrumento.
GetOrderBook Obter o order book de um instrumento.
GetTrades Obtém as negociações mais recentes de um instrumento.
GetCurrencies Obtém a lista de moedas suportadas.
GetIndexPrice Obtém o preço de índice atual para um nome de índice.
GetFundingRateHistory Obtém o histórico da taxa de funding de um instrumento.
GetFundingRateValue Obtém o valor atual da funding rate para um instrumento.
GetBookSummaryByCurrency Obtém o resumo do book para todos os instrumentos de uma moeda.
GetBookSummaryByInstrument Obtém o resumo do book para um instrumento específico.

Trading (Private)

Method Descrição
Buy Coloca uma ordem de compra. Suporta os tipos de ordem market e limit.
Sell Coloca uma ordem de venda. Suporta tipos de ordem a mercado e limitada.
CancelOrder Cancela uma ordem existente pelo ID da ordem.
CancelAllOrders Cancela todas as ordens abertas.
CancelAllByInstrument Cancela todas as ordens abertas de um instrumento específico.
EditOrder Edita uma ordem existente (altera o valor ou o preço).
GetOpenOrders Obtém a lista de ordens abertas para uma moeda.
GetOrderState Obtém o estado de uma ordem específica.
GetOrderHistory Obter o histórico de ordens de uma moeda.

Account (Private)

Method Descrição
GetPositions Obtém as posições de uma moeda.
GetAccountSummary Obtém o resumo da conta para uma moeda.
GetSubAccounts Obter a lista de subcontas.
GetTransactionLog Obtém o log de transações de uma moeda.

Wallet (Privada)

Method Descrição
GetDeposits Obtém o histórico de depósitos de uma moeda.
GetWithdrawals Obtém o histórico de saques de uma moeda.
GetTransfers Obter o histórico de transferências de uma moeda.

Encontre abaixo um exemplo de uso da 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');