Bitfinex exchange plugin for bt_api — Unified REST API for Bitfinex Spot trading.
bt_api_bitfinex is a runtime plugin for bt_api that connects to Bitfinex exchange. It depends on bt_api_base for core infrastructure.
| Resource | Link |
|---|---|
| English Docs | https://bt-api-bitfinex.readthedocs.io/ |
| Chinese Docs | https://bt-api-bitfinex.readthedocs.io/zh/latest/ |
| GitHub | https://github.com/cloudQuant/bt_api_bitfinex |
| PyPI | https://pypi.org/project/bt_api_bitfinex/ |
| Issues | https://github.com/cloudQuant/bt_api_bitfinex/issues |
| bt_api_base | https://bt-api-base.readthedocs.io/ |
| Main Project | https://github.com/cloudQuant/bt_api_py |
| Asset Type | Code | REST | Description |
|---|---|---|---|
| Spot | BITFINEX___SPOT | ✅ | Spot trading |
- Synchronous REST — Polling for order management, balance queries, historical data
- Asynchronous REST — High-throughput batch queries and concurrent requests
Auto-registers at import time via ExchangeRegistry. Works seamlessly with BtApi:
frombt_api_pyimportBtApiapi=BtApi(exchange_kwargs={
"BITFINEX___SPOT": {
"api_key": "your_key",
"secret": "your_secret",
}
})
ticker=api.get_tick("BITFINEX___SPOT", "BTCUSD")
balance=api.get_balance("BITFINEX___SPOT")
order=api.make_order(exchange_name="BITFINEX___SPOT", symbol="BTCUSD", volume=0.01, price=60000, order_type="limit")All exchange responses normalized to bt_api_base container types:
TickContainer— 24hr rolling tickerOrderBookContainer— Order book depthBarContainer— K-line/candlestickTradeContainer— Individual tradesOrderContainer— Order status and fillsAccountBalanceContainer— Asset balances
pip install bt_api_bitfinexgit clone https://github.com/cloudQuant/bt_api_bitfinex
cd bt_api_bitfinex
pip install -e .- Python
3.9–3.14 bt_api_base >= 0.15requestsfor HTTP clientaiohttpfor async HTTP client
pip install bt_api_bitfinexfrombt_api_bitfineximportBitfinexApiclient=BitfinexApi()
ticker=client.get_ticker("BTCUSD")
print(f"BTCUSD price: {ticker.price}")frombt_api_bitfineximportBitfinexApiclient=BitfinexApi(
api_key="your_api_key",
secret_key="your_secret",
)
client.connect()
order=client.make_order(
symbol="BTCUSD",
side="buy",
order_type="limit",
price=60000,
qty=0.01,
)
print(f"Order placed: {order.order_id}")frombt_api_pyimportBtApiapi=BtApi(exchange_kwargs={
"BITFINEX___SPOT": {"api_key": "key", "secret": "secret"}
})
# REST callsticker=api.get_tick("BITFINEX___SPOT", "BTCUSD")
balance=api.get_balance("BITFINEX___SPOT")bt_api_bitfinex/
├── plugin.py # register_plugin() — bt_api plugin entry point
├── registry_registration.py # register_bitfinex() — feeds / exchange_data / balance_handler registration
├── exchange_data/
│ └── bitfinex_exchange_data.py # BitfinexExchangeDataSpot + endpoint definitions
├── feeds/
│ └── live_bitfinex/
│ ├── spot.py # BitfinexRequestDataSpot — REST API implementation
│ └── request_base.py # BitfinexRequestData base class
├── containers/ # Normalized data container types
│ ├── orders/
│ ├── balances/
│ ├── bars/
│ ├── tickers/
│ ├── orderbooks/
│ ├── trades/
│ └── accounts/
├── gateway/
│ └── adapter.py # BitfinexGatewayAdapter(PluginGatewayAdapter)
├── errors/
│ └── bitfinex_translator.py # BitfinexErrorTranslator → bt_api_base.ApiError
└── configs/
└── bitfinex.yaml # YAML config (REST paths, rate limits)
| Category | Operation | Notes |
|---|---|---|
| Market Data | get_ticker / get_tick | 24hr rolling ticker |
get_depth / get_orderbook | Order book depth | |
get_kline | K-line/candlestick | |
get_trade_history | Recent trade history | |
| Account | get_balance | All asset balances |
get_account | Full account info | |
| Trading | make_order | LIMIT/MARKET orders |
cancel_order | Cancel order | |
query_order | Query order by ID | |
get_open_orders | All open orders |
All Bitfinex trading pairs are supported, including:
BTCUSD,ETHUSD,LTCUSD,XRPUSD...BTCUSD,ETHUSD,LTCUSD(with margin)
All Bitfinex API errors are translated to bt_api_base ApiError subclasses with descriptive messages.
| Endpoint Type | Limit |
|---|---|
| Public endpoints | 60 requests/min |
| Authenticated endpoints | 90 requests/min |
| Doc | Link |
|---|---|
| English | https://bt-api-bitfinex.readthedocs.io/ |
| 中文 | https://bt-api-bitfinex.readthedocs.io/zh/latest/ |
| API Reference | https://bt-api-bitfinex.readthedocs.io/api/ |
| bt_api_base | https://bt-api-base.readthedocs.io/ |
| Main Project | https://cloudquant.github.io/bt_api_py/ |
MIT — see LICENSE.
- GitHub Issues — bug reports, feature requests
- Email: yunjinqi@gmail.com
bt_api 的 Bitfinex 交易所插件 — 为 Bitfinex 现货交易提供统一的 REST API。
bt_api_bitfinex 是 bt_api 的运行时插件,连接 Bitfinex 交易所。依赖 bt_api_base 提供核心基础设施。
| 资产类型 | 代码 | REST | 说明 |
|---|---|---|---|
| 现货 | BITFINEX___SPOT | ✅ | 现货交易 |
- 同步 REST — 轮询:订单管理、余额查询、历史数据
- 异步 REST — 高吞吐批量查询和并发请求
通过 ExchangeRegistry 在导入时自动注册,与 BtApi 无缝协作:
frombt_api_pyimportBtApiapi=BtApi(exchange_kwargs={
"BITFINEX___SPOT": {
"api_key": "your_key",
"secret": "your_secret",
}
})
ticker=api.get_tick("BITFINEX___SPOT", "BTCUSD")
balance=api.get_balance("BITFINEX___SPOT")
order=api.make_order(exchange_name="BITFINEX___SPOT", symbol="BTCUSD", volume=0.01, price=60000, order_type="limit")所有交易所响应规范化为 bt_api_base 容器类型:
TickContainer— 24小时滚动行情OrderBookContainer— 订单簿深度BarContainer— K线/蜡烛图TradeContainer— 逐笔成交OrderContainer— 订单状态和成交AccountBalanceContainer— 资产余额
pip install bt_api_bitfinexgit clone https://github.com/cloudQuant/bt_api_bitfinex
cd bt_api_bitfinex
pip install -e .- Python
3.9–3.14 bt_api_base >= 0.15requestsHTTP 客户端aiohttp异步 HTTP 客户端
pip install bt_api_bitfinexfrombt_api_bitfineximportBitfinexApiclient=BitfinexApi()
ticker=client.get_ticker("BTCUSD")
print(f"BTCUSD 价格: {ticker.price}")frombt_api_bitfineximportBitfinexApiclient=BitfinexApi(
api_key="your_api_key",
secret_key="your_secret",
)
client.connect()
order=client.make_order(
symbol="BTCUSD",
side="buy",
order_type="limit",
price=60000,
qty=0.01,
)
print(f"订单已下单: {order.order_id}")frombt_api_pyimportBtApiapi=BtApi(exchange_kwargs={
"BITFINEX___SPOT": {"api_key": "key", "secret": "secret"}
})
# REST 调用ticker=api.get_tick("BITFINEX___SPOT", "BTCUSD")
balance=api.get_balance("BITFINEX___SPOT")bt_api_bitfinex/
├── plugin.py # register_plugin() — bt_api 插件入口
├── registry_registration.py # register_bitfinex() — feeds / exchange_data / balance_handler 注册
├── exchange_data/
│ └── bitfinex_exchange_data.py # BitfinexExchangeDataSpot + 端点定义
├── feeds/
│ └── live_bitfinex/
│ ├── spot.py # BitfinexRequestDataSpot — REST API 实现
│ └── request_base.py # BitfinexRequestData 基类
├── containers/ # 规范化数据容器类型
│ ├── orders/
│ ├── balances/
│ ├── bars/
│ ├── tickers/
│ ├── orderbooks/
│ ├── trades/
│ └── accounts/
├── gateway/
│ └── adapter.py # BitfinexGatewayAdapter(PluginGatewayAdapter)
├── errors/
│ └── bitfinex_translator.py # BitfinexErrorTranslator → bt_api_base.ApiError
└── configs/
└── bitfinex.yaml # YAML 配置(REST 路径、限流)
| 类别 | 操作 | 说明 |
|---|---|---|
| 行情数据 | get_ticker / get_tick | 24小时滚动行情 |
get_depth / get_orderbook | 订单簿深度 | |
get_kline | K线/蜡烛图 | |
get_trade_history | 近期成交历史 | |
| 账户 | get_balance | 所有资产余额 |
get_account | 完整账户信息 | |
| 交易 | make_order | 限价/市价订单 |
cancel_order | 撤销订单 | |
query_order | 按ID查询订单 | |
get_open_orders | 所有挂单 |
全部 Bitfinex 交易对均支持,包括:
BTCUSD,ETHUSD,LTCUSD,XRPUSD...BTCUSD,ETHUSD,LTCUSD(保证金交易)
所有 Bitfinex API 错误均翻译为 bt_api_base ApiError 子类,并提供描述性错误信息。
| 端点类型 | 限制 |
|---|---|
| 公开端点 | 60 次/分钟 |
| 认证端点 | 90 次/分钟 |
MIT — 详见 LICENSE。
- GitHub Issues — bug 报告、功能请求
- 邮箱: yunjinqi@gmail.com