- Customizable and savable grid layouts, selectable themes
- Supports most of the spot(USDT) and linear/inverse perp pairs from Binance & Bybit
- Tick size multipliers for price grouping on
FootprintChart
&HeatmapChart
- Alongside traditional Time-based charts,
CandlestickChart
&FootprintChart
supports "ticks"(based on aggregated trade streams) to be used as intervals to create Tick-based charts
- Orderbook total bid/ask levels: 1000 for Binance Perp/Spot; 500 for Bybit Perps, 200 for Bybit Spot
- Binance perp/spot & Bybit perp pairs streams @100ms; Bybit spot pairs streams @200ms
- As historical data, it can fetch OHLCV, open interest and partially, trades:
Optionally, you can enable trade fetching from settings menu, experimental because of unreliability:
-
Binance connector supports downloading historical trades from data.binance.vision, fast and easy way to get trades, but they dont support intraday data. Intraday trades fetched by pagination using Binance's public REST APIs:
/fapi/v1/aggTrades
&api/v3/aggTrades
, which might be slow because of rate-limits -
Bybit itself doesnt have a similar purpose public REST API
Flowsurface can use those ends with Binance tickers to visualize historical public trades while being independent of a 'middleman' database between exchange and the user
So, when a chart instance signal the exchange connector after a data integrity check, about missing trades in the visible range; it tries via fetching, downloading and/or loading from cache, whichever suitable to get desired historical data
Requirements:
- Rust toolchain
- Git version control system
- System dependencies:
- Linux:
- Debian/Ubuntu:
sudo apt install build-essential pkg-config libasound2-dev
- Arch:
sudo pacman -S base-devel alsa-lib
- Fedora:
sudo dnf install gcc make alsa-lib-devel
- Debian/Ubuntu:
- macOS: Install Xcode Command Line Tools:
xcode-select --install
- Windows: No additional dependencies required
- Linux:
# Clone the repository
git clone https://github.com/akenshaw/flowsurface
cd flowsurface
# Build and run
cargo build --release
cargo run --release