API Deribit

Deribit

Deribit 是一家加密货币衍生品交易所,提供比特币和以太坊的期货和期权交易。

支持的 API

属性

您可以在 Deribit 属性中配置以下属性。

连接

当客户端成功连接到 Deribit 服务器时,将触发事件 OnConnect。触发 OnConnect 事件后,您可以开始向 Deribit 服务器发送接收消息。如果您正在连接私有 WebSocket 通道,则必须等待 OnDeribitAuthentication 事件触发,并确认 success 参数为 true,然后再订阅任何私有通道。


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;

事件

Deribit 客户端实现了以下事件,用于控制连接流程并获取 WebSocket 服务器发送的数据:

WebSocket API

WebSocket 数据流提供订单和交易的实时市场数据更新。

您可以订阅以下公共频道

方法 描述
SubscribeTicker 订阅某个合约的行情流。提供实时价格和交易量数据。
SubscribeTrades 订阅某一品种的最新成交流。
SubscribeOrderBook 订阅订单薄数据流。支持可配置的分组、深度级别和更新间隔。
SubscribeCandle 订阅 K 线流。支持多种时间分辨率(例如 1、3、5、10、15、30、60、120、180、360、720、1D)。
SubscribePerpetual 订阅某个合约的永续合约数据,提供资金费率和其他永续合约特定信息。
SubscribeBookChange 订阅某合约的订单簿变动通知。

您可以订阅以下私有频道(需要认证):

方法 描述
SubscribeOrders 订阅某一标的的订单更新。
SubscribePositions 订阅持仓更新。支持按货币和合约种类过滤。
SubscribeAccountChanges 订阅某种货币的账户余额变动。
SubscribeUserTrades 订阅某个合约的用户成交更新。

以下是订阅 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

REST API 提供公共和私有方法,用于从市场、交易、账户和钱包请求数据。通过组件的 REST_API 属性访问 REST API。

市场数据(公开)

方法 描述
GetInstruments 获取某种货币的可用工具。
GetTicker 获取某一金融工具的行情信息。
GetOrderBook 获取某个金融工具的订单簿。
GetTrades 获取某个合约的最新成交记录。
GetCurrencies 获取支持的货币列表。
GetIndexPrice 获取指定索引名称的当前指数价格。
GetFundingRateHistory 获取某合约的资金费率历史。
GetFundingRateValue 获取某一合约的当前资金费率值。
GetBookSummaryByCurrency 获取某种货币所有合约的账面摘要。
GetBookSummaryByInstrument 获取特定合约的账本摘要。

交易(私有)

方法 描述
Buy 下买入单。支持市价和限价订单类型。
卖出 下卖单。支持市价单和限价单类型。
CancelOrder 通过订单 ID 取消现有订单。
CancelAllOrders 取消所有未成交订单。
CancelAllByInstrument 取消特定合约的所有未结挂单。
EditOrder 编辑现有订单(修改数量或价格)。
GetOpenOrders 获取某个货币的未结订单列表。
GetOrderState 获取特定订单的状态。
GetOrderHistory 获取某货币的订单历史记录。

账户(私有)

方法 描述
GetPositions 获取某一货币的持仓信息。
GetAccountSummary 获取某货币的账户摘要。
GetSubAccounts 获取子账户列表。
GetTransactionLog 获取某种货币的交易日志。

钱包(私有)

方法 描述
GetDeposits 获取某一货币的充值历史。
GetWithdrawals 获取某种货币的提币历史记录。
GetTransfers 获取某种货币的转账历史记录。

以下是使用 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');