#rest #ftx #crypto #api-bindings #api

rusftx

Rust 对 FTX REST 和 WebSocket API 的绑定

4 个版本 (破坏性更新)

0.4.0 2022 年 11 月 3 日
0.3.0 2022 年 11 月 3 日
0.2.0 2022 年 11 月 2 日
0.1.0 2022 年 11 月 2 日

#178WebSocket

自定义许可证

155KB
4.5K SLoC

RusFTX

Rust 对 FTX REST 和 WebSocket API 的绑定

Crates.io Docs.rs License

FTX API 文档

并非所有 API 都已实现。如果您需要特定的 API,请提交问题,或考虑通过创建拉取请求来贡献。

RusFTX 从 Fabian Boesiger 的现有 ftx crate 中获得了灵感。

  • 尽可能遵循 FTX API 文档的命名约定,以便于找到相应的函数。
  • 需要身份验证的 REST API 调用在编译时进行检查

身份验证

RusFTX 支持API密钥和子账户身份验证,以及提供自定义端点的能力(例如,可以用于代理)。RusFTX 实现了 FTX (.com) 和 FTX-US (.us) 的端点,可以使用 EndpointComEndpointUs 进行配置。

let api_key = "YOUR_FTX_API_KEY";
let secret = "YOUR_FTX_SECRET";

let rest_api = RestApiWithAuthenticationBuilder::new()
    .endpoint(EndpointCom)
    .authentication(api_key, secret)
    .build();

您还可以在不进行身份验证的情况下使用 Rustftx,前提是端点支持。

let rest_api = RestApi::new(EndpointCom);

分页

可以通过提供 chrono 的 DateTime<Utc> 来在支持它的所有端点上使用 start_timeend_time 参数执行分页。

已实现的 REST API 绑定

  • 身份验证
  • 速率限制
  • 分页
  • 子账户
    • 获取所有子账户
    • 创建子账户
    • 更改子账户名称
    • 删除子账户
    • 获取子账户余额
    • 子账户间转账
  • 市场
    • 获取市场
    • 获取单个市场
    • 获取订单簿
    • 获取交易
    • 获取历史价格
  • 期货
    • 列出所有期货
    • 获取期货
    • 获取期货统计信息
    • 获取资金费率
    • 获取指数权重
    • 获取已过期期货
    • 获取历史指数
    • 获取指数成分
  • 账户
    • 获取账户信息
    • 请求历史余额和头寸快照
    • 获取历史余额和头寸快照
    • 获取所有历史余额和头寸快照
    • 获取头寸
    • 更改账户杠杆
  • 钱包
    • 获取货币
    • 获取余额
    • 获取所有账户的余额
    • 获取存款地址
    • 获取存款地址列表
    • 获取存款历史
    • 获取提款历史
    • 请求提款
    • 获取空投
    • 获取提款费用
    • 获取保存的地址
    • 创建保存的地址
    • 删除保存的地址
    • 注册SEN存款
    • 请求SEN提款
    • 注册Signet存款
    • 请求Signet提款
  • 订单
    • 获取未平仓订单
    • 获取订单历史
    • 获取未平仓触发订单
    • 获取触发订单触发器
    • 获取触发订单历史
    • 获取TWAP订单
    • 获取TWAP订单执行
    • 下单
    • 下单触发订单
    • 下单TWAP订单
    • 修改订单
    • 按客户端ID修改订单
    • 修改触发订单
    • 获取订单状态
    • 按客户端ID获取订单状态
    • 取消订单
    • 取消TWAP订单
    • 按客户端ID取消订单
    • 取消未平仓触发订单
    • 取消所有订单
    • 批量取消订单
    • 按客户端ID批量取消订单
    • 获取成交
  • 资金支付
  • 杠杆代币
    • 列出杠杆代币
    • 获取代币信息
    • 获取杠杆代币余额
    • 列出杠杆代币创建请求
    • 请求创建杠杆代币
    • 列出杠杆代币赎回请求
    • 请求赎回杠杆代币
    • 请求ETF再平衡信息
  • 期权
    • 列出报价请求
    • 您的报价请求
    • 创建报价请求
    • 取消报价请求
    • 获取您的报价请求的报价
    • 创建报价
    • 获取我的报价
    • 取消报价
    • 接受期权报价
    • 获取账户期权信息
    • 获取期权仓位
    • 获取公开期权交易
    • 获取期权成交
    • 获取24小时期权交易量
    • 获取期权历史交易量
    • 获取期权未平仓合约
    • 获取历史期权未平仓合约
  • 质押
    • 获取质押
    • 质押请求
    • 获取质押余额
    • 取消质押请求
    • 获取质押奖励
    • 质押请求
  • 转换
    • 请求报价
    • 获取报价状态
    • 接受报价
  • 现货保证金
    • 获取贷款历史
    • 获取借款利率
    • 获取贷款利率
    • 获取每日借款金额
    • 获取市场信息
    • 获取我的借款历史
    • 获取我的贷款历史
    • 获取贷款报价
    • 获取贷款信息
    • 提交贷款报价
  • NFT
    • 列出NFT
    • 获取NFT信息
    • 获取NFT交易
    • 获取所有NFT交易
    • 获取NFT账户信息
    • 获取所有NFT收藏
    • 获取NFT余额
    • 制作NFT报价
    • 购买NFT
    • 创建拍卖
    • 编辑拍卖
    • 取消拍卖
    • 获取出价
    • 出价
    • 获取NFT存款
    • 获取NFT提款
    • 获取NFT成交
    • 赎回NFT
    • 获取NFT画廊
    • 获取画廊设置
    • 编辑画廊设置
  • 延迟统计
  • 优化访问
    • 添加IP
    • 获取IP
    • 启用IP
    • 禁用IP
    • 删除IP
  • 支持票据
    • 获取所有支持票据
    • 获取支持票据消息
    • 发送支持票据消息
    • 发送支持消息
    • 更新您的支持票据状态
    • 计算未读支持消息总数
    • 标记支持消息为已读

实现了Websocket API绑定

  • 公共频道
    • 价格频道
    • 市场频道
    • 交易频道
    • 订单簿频道
    • 全球订单簿频道
  • 私人频道
    • 身份验证
    • 成交频道
    • 订单频道

依赖项

~11-26MB
~418K SLoC