Awesome Open Source
Awesome Open Source


Build Status codecov License: MIT PRs Welcome Go Report Card



my-token (or mt for short) is a CLI tool for those who are both Crypto investors and Engineers, allowing you to track token prices and changes in your favorite exchanges on the terminal.


  • Auto refresh on a specified interval, watch prices in live update mode
  • Proxy aware HTTP request, for easy access to blocked exchanges
  • Real-time prices from 12+ exchanges

Supported Exchanges




curl | bash style downloads to /usr/local/bin

$ curl -sfL | bash -s -- -d -b /usr/local/bin

Using Go (1.12+)

$ go get -u


Download from release page and extract the tarbal into /usr/bin or your PATH directory.


$ mt --help

Usage: mt [Options] [Exchange1.Token1 Exchange2.Token2.<api_key> ...]

Track token prices of your favorite exchanges in the terminal

  -v, --Version                            Show Version number
  -d, --debug                              Enable debug mode
  -l, --list-exchanges                     List supported exchanges
  -r, --refresh int                        Auto refresh on every specified seconds, note every exchange has a rate limit,
                                           too frequent refresh may cause your IP banned by their servers
  -c, --config-file string                 Config file path, use "--example-config-file <path>" to generate an example config file,
                                           by default my-token uses "my_token.yml" in current directory or $HOME as config file
      --example-config-file string[="-"]   Generate example config file to the specified file path, by default it outputs to stdout
  -s, --show strings                       Only show comma-separated columns (default [Symbol,Price,%Change(1h),%Change(24h),Source,Updated])
  -p, --proxy string                       Proxy used when sending HTTP request
                                           (eg. "http://localhost:7777", "https://localhost:7777", "socks5://localhost:1080")
  -t, --timeout int                        HTTP request timeout in seconds (default 20)

Space-separated exchange.token pairs:
  Specify which exchange and token pair to query, different exchanges use different forms to express tokens/trading pairs, refer to their URLs to find the format (eg. "Bitfinex.BTCUSDT"). Optionally you can set api_key in the third place.

Find help/updates from here -
  • Display latest market prices for for BNBUSDT, BTCUSDT from Binance and HTUSDT from Huobi

$ mt binance.BNBUSDT binance.BTCUSDT Huobi.HTUSDT

Here Binance and Huobi can be replaced by any supported exchanges, and different exchanges use different forms to express tokens/symbols/markets, refer to their URLs to find the format.

  • Auto-refresh on every 10 seconds

$ mt -r 10 binance.BNBUSDT binance.BTCUSDT Huobi.HTUSDT

NOTE: some exchanges has a strict rate limit, too frequent refresh may cause your IP banned by their servers.

  • Show specified columns only

$ mt --show Symbol,Price binance.BTCUSDT

See issue #3 for a discussion on this feature.

  • Run with options from a configuration file

$ mt -c my_token.example.yaml

my-token can also read options from configuration file, see the attached my_token.example.yaml for its format. By default my-token searches configuration file my_token.yml in current directory and $HOME, so you can compose a my_token.yml, place it in your $HOME and just type mt to get all pre-defined prices.

$ # Generate an example config file to my $HOME directory
$ mt --example-config-file=$HOME/my_token.yml
$ # my-token will search for configuration file "my_token.yml" in current directory and "$HOME" by default
$ mt       # <--- This is also the way I used most freqently 



The MIT License (MIT) - see for more details

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
go (15,165
golang (3,885
cli (1,806
blockchain (841
ethereum (747
bitcoin (574
cryptocurrency (508
exchange (106
binance (79
btc (64
kraken (30
poloniex (26
bittrex (25
bitfinex (23
huobi (23
okex (16