botvana
Botvana is high-performance and event-driven trading system built using Rust (in early development).
시스템 구조
저장소별 전략/실행 조건 확인 필요
거래소 API 기반 자동 주문 실행
에디터 요약저장소 설명과 공개 메타데이터 기준으로 암호화폐 거래 봇, 거래소 API/프레임워크, 차익거래, 마켓메이킹 성격의 프로젝트로 파악했습니다. 확인 근거는 README, 저장소 토픽, 저장소 설명, GitHub 지표, 파이프라인 필드이며, 주요 데이터는 Binance, FTX(역사 데이터), 가격/거래량 데이터입니다. 전략/실행 조건은 저장소별 문서와 코드 확인이 필요하며, 실행 방식은 "거래소 API 기반 자동 주문 실행"라고 보수적으로 기록했습니다. GitHub 지표는 별 250개, 포크 47개입니다.
| 저장소 | featherenvy/botvana |
|---|---|
| 제작자 | featherenvy |
| 스타 / 포크 | ★ 250 / 47 |
| 라이선스 | AGPL-3.0 |
| 최근 업데이트 | 2022-05-12 |
| 스냅샷 시점 | 2026-07-08 (아래 README는 이 시점의 사본입니다) |
아래는 제3자가 작성·공개한 오픈소스 코드입니다. QuantField는 해당 코드의 동작과 안전성을 보증하지 않으며, 설치·실행 전 코드를 직접 검토하시기 바랍니다.
README
Botvana: high-performance trading platform
Botvana is an open-source, event-driven, and distributed trading platform targeting crypto markets. It aims to be high-performance, low-latency, reliable, and fault-tolerant. Built in Rust, it allows you to develop and operate market-making and arbitrage strategies.
⚠️ The project is still in very early development ⚠️
Principles:
- High-performance: Designed and architected to be high-performance from the ground up. It utilizes staged event-driven architecture combined with thread-per-core architecture.
- Low-latency: Currently utilizing
io_uringfor network connectivity, with goals to useAF_XDPor kernel by-pass in the future. - Reliable: Being built in Rust provides Botvana with memory safety guarantees compared to other systems programming languages.
- Fault-tolerant: Crypto exchanges are known for unreliability, so Botvana provides explicit fault-tolerant features.
Overview
Botvana is split into these components:
botnode: high-performance trading botbotvana-server: coordination serverbotvana: shared platform definitionsstation-egui: control application
Supported Exchanges
Currently, in the early phase of the project, the supported exchanges are FTX and Binance.
Deployment architecture

botnode architecture

Botnode uses thread-per-core architecture where each thread is pinned to exactly one logical CPU core. Each CPU core runs a different engine with a custom event loop. Data is sent between engines using SPSC channels, and no global state is shared between the threads.
Botnode has these engines:
- Control engine: Connects to
botvana-serverand spawns all other engines based on configuration. - Market data engine: Connects to the exchange and transforms market data to Botvana's internal types.
- Indicator engine: Provides indicators built from market data.
- Trading engine: Makes trading decisions.
- Exchange engine: Acts as order router and gateway to the exchange.
- Audit engine: Audits trading activity.
botvana-server
Each botnode needs to connect to a central botvana-server which provides
configuration and acts as the central coordinator.
Botvana server expects configuration in cfg/default.toml.
station-egui
Control station application written using egui framework.
Development Prerequisites
In order to work with Botvana you need to have:
- Linux kernel version >5.13
- Rust 1.58 or higher
- Terraform
Getting started
- Clone the repo
git clone https://github.com/featherenvy/botvana.git - Install dependencies required to compile
eguisudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev - Build all components
cargo build - Run dependencies using
docker-compose:docker-compose up -d - Run
botvana-servercargo r --bin botvana-server - Run
botnodeSERVER_ADDR=127.0.0.1:7978 BOT_ID=0 cargo r --bin botnode - Run
station-eguicargo r --bin station-egui