Coinlive is an interactive command line tool that displays live cryptocurrency prices.

Overview

coinlive

Latest Version | Changelog

Coinlive is an interactive command line tool that displays live cryptocurrency prices. It can also display simple historical price charts.

The data is provided by the Binance Spot API. The CLI is written in Rust and relies heavily on the superb tui library.

Installation

Coinlive is published to crates.io, so the installation is very easy:

  1. Install Rust. If you don't already have Rust installed, follow the instructions on rustup.rs.
  2. Issue cargo install coinlive. This will install the executable in $HOME/.cargo/bin/.

If you get errors about Decimal32 and Decimal64 you probably have an older Rust version (<1.51, also see lib.rs for the likely minimum supported rust version "MSRV"). In this case please update the Rust compiler (rustup update).

Usage

Prices List

The price list page is the default page, it shows cryptocurrency prices updated in 1s intervals.

list

The cryptocurrency symbols are sorted by trading volume. When the quote currency is missing USDT is implied, for example BTC stands for BTCUSDT and ETH stands for ETHUSDT.

This is the default page. It can also be reached at any time by pressing l.

Compact notation for small prices

Some currency pairs have very small prices, for example SHIBUSDT at 0.000000734. These small numbers are difficult to read (how many zeros are there?) and take a lot of screen real estate. Therefore, a compact notation was adopted. For example, 0.000000734 is shown as 6\734, meaning there are 6 zeros after the decimal point before the first non-zero digit. Here are some examples:

  • 2\61226 is 0.0061226
  • 3\31772 is 0.00031772
  • 4\871 is 0.0000871
  • 5\1557 is 0.000001557

Prices Table

Prices are displayed in a grid. Vertically the base currency is shown, and horizontally the quote currency. For example, BTCUSDT has base currency BTC and quote currency USDT, and a price of 37000 means that 1 BTC is worth 37000 USDT Only the active markets are shown.

table

The price table can be reached by pressing t. By default the quote currencies shown are USDT, BTC, EUR, GBP, BNB, ETH, this is called the extended view. There is also a reduced view that only shows USDT, BTC, BNB, ETH. Toggle between extended and reduced view by pressing x ("extended").

table-reduced

Percentages

Prices list and prices table can also show the 24h percentage change. Press % to toggle between price and percentage view.

Historical Price Chart

The historical price chart is shown when pressing g or a number 0...9. 0 shows the last 1000 one-minute bars 1 shows the last 1000 5-minute bars, and so on. See the table below. g shows the graph of the currently selected symbol and time interval. On start the default is BTCUSDT 1-min bars.

graph

The time scales can be selected with the keys 0...9 as follows:

Key Interval Approx. time period
0 1 min 17 hours
1 5 min 3.5 days
2 15 min 10 days
3 30 min 3 weeks
4 1 h 6 weeks
5 2 h 12 weeks
6 4 h 5.5 months
7 8 h 11 months
8 12 h 16 months
9 1 d 2 years 9 months
g currently selected

By default the most liquid currency pair (usually BTCUSDT) is shown.

Note that the chart is static. You have to press g to refresh it.

Symbol selection

To select another currency pair, press s. Highlight the desired pair by moving the cursor. After pressing return the price chart for the selected pair is shown.

Help

Press h to see the help page.

Command Summary

Key Command Remarks
h Display help
l Show prices Iist
t Show prices table
g Show graph of current symbol and time-scale Default symbol BTCUSDT, time-scale 1min
0..9 Show graph at time-scale 1min...1day See table above
s Select symbol
Home Set cursor to top left symbol For select symbol page only
% Toggle percent/price display For list and table and views only
x Toggle extended/reduced view For table view only
a Show about page
Esc Go back to previous view
q, Ctrl-c Quit

Todo/Ideas

  • Use Decimal64 in Graph page instead of f64
  • Live update price chart, or at least show price update in the message bar?
  • Some currency information, such as market cap, would be nice. Coincap has an open API.
You might also like...
Tokei is a program that displays statistics about your code.

Tokei is a program that displays statistics about your code. Tokei will show the number of files, total lines within those files and code, comments, and blanks grouped by language.

A cargo subcommand that displays ghidra function output through the use of the rizin rz-ghidra project.

cargo-rz-ghidra A cargo subcommand that displays ghidra function output through the use of the rizin rz-ghidra project. Install cargo install --git ht

Play videos on IT8951-controlled e-paper displays

it8951-video Play videos on IT8951-controlled e-paper displays via USB. This has been tested with a Waveshare 7.8inch e-Paper HAT display. Design This

Terminal based, feature rich, interactive SQL tool

datafusion-tui (dft) DataFusion-tui provides a feature rich terminal application, built with tui-rs, for using DataFusion (and eventually Ballista). I

A command line tool written in Rust and designed to be a modern build tool + package manager for C/C++ projects.

CCake CCake is a command line tool written in Rust and designed to be a modern build tool + package manager for C/C++ projects. Goals To be easily und

Rust-advent - Learning Rust by solving advent of code challenges (Streaming live on Twitch every Monday)
Rust-advent - Learning Rust by solving advent of code challenges (Streaming live on Twitch every Monday)

Rust advent 🦀 🐚 Learning Rust by implementing solutions for Advent of Code problems. 🎥 HEY, we are live-streaming our attempts to solve the exercis

Open-source Rust framework for building event-driven live-trading & backtesting systems

Barter Barter is an open-source Rust framework for building event-driven live-trading & backtesting systems. Algorithmic trade with the peace of mind

glicol cli: cross-platform music live coding in terminal

glicol-cli What's this? It's a command line interface that you can use for music live coding with Glicol. It watches a file changes and then update th

zkPoEX enables white hat hackers to report live vulnerabilities in smart contracts while maintaining the confidentiality of the exploit
zkPoEX enables white hat hackers to report live vulnerabilities in smart contracts while maintaining the confidentiality of the exploit

zkPoEX enables white hat hackers to report live vulnerabilities in smart contracts while maintaining the confidentiality of the exploit, facilitating efficient communication and collaboration between hackers and project owners for a more secure DeFi ecosystem.

Releases(v0.2.2)
Owner
Mayer Analytics
Mayer Analytics
An interactive cheatsheet tool for the command-line

navi An interactive cheatsheet tool for the command-line. navi allows you to browse through cheatsheets (that you may write yourself or download from

Denis Isidoro 12.2k Dec 30, 2022
ruborute is an interactive command-line tool to get asphyxia@sdvx gaming data.

ruborute Are you 暴龍天 ?. The ruborute is an interactive command-line tool to get asphyxia@sdvx gaming data. asphyxia-core/plugins: https://github.com/a

RinChanNOW! 9 Sep 28, 2022
Non-interactive nREPL client for shell scripts and command-line

nreplops-tool (nr) nreplops-tool (nr) is a non-interactive nREPL client designed to be used in shell scripts and on the command-line. Early α warning:

Matti Hänninen 3 Jul 1, 2022
A toolkit for building your own interactive command-line tools in Rust

promkit A toolkit for building your own interactive command-line tools in Rust, utilizing crossterm. Getting Started Put the package in your Cargo.tom

null 70 Dec 18, 2022
Small command-line tool to switch monitor inputs from command line

swmon Small command-line tool to switch monitor inputs from command line Installation git clone https://github.com/cr1901/swmon cargo install --path .

William D. Jones 5 Aug 20, 2022
CLI tools to process cryptocurrency data

crypto-cli-tools A collection of CLI tools to process cryptocurrency data. Install: RUSTFLAGS="-C target-cpu=native" cargo install crypto-cli-tools cr

soulmachine 2 Mar 23, 2022
Kusa is a simple CLI tool that works on any platform and displays GitHub contribution graphs.

Kusa is a simple CLI tool that works on any platform and displays GitHub contribution graphs. Installation Homebrew (only macOS) $ brew tap Ryu0118/Ku

Ryu 103 Jun 18, 2023
Configurable, extensible, interactive line reader

linefeed linefeed is a configurable, concurrent, extensible, interactive input reader for Unix terminals and Windows console. API Documentation linefe

Murarth 176 Jan 3, 2023
A small, interactive command runner

Dotree is a small interactive command runner. It wants to be a better home for your aliases and bash functions, especially those that you don't use th

Felix G. Knorr 113 Nov 14, 2023
Pink is a command-line tool inspired by the Unix man command.

Pink is a command-line tool inspired by the Unix man command. It displays custom-formatted text pages in the terminal using a subset of HTML-like tags.

null 3 Nov 2, 2023