cointop is a fast and lightweight interactive terminal based UI application for tracking and monitoring cryptocurrency coin stats in real-time.

The interface is inspired by htop and shortcut keys are inspired by vim.

cointop screenshot help menu currency convert menu



In action



  • Quick sort shortcuts
  • Custom key bindings configuration
  • Vim inspired shortcut keys
  • Fast pagination
  • Charts for coins and global market graphs
  • Quick chart date range change
  • Fuzzy searching for finding coins
  • Currency conversion
  • Save and view favorite coins
  • Portfolio tracking of holdings
  • 256-color support
  • Custom colorschemes
  • Help menu
  • Offline cache
  • Supports multiple coin stat APIs
  • Auto-refresh
  • Works on macOS, Linux, and Windows
  • It's very lightweight; can be left running indefinitely


There are multiple ways you can install cointop depending on the platform you're on.

From source (always latest and recommeded)

Make sure to have go (1.12+) installed, then do:

go get

Make sure $GOPATH/bin is added to the $PATH variable.

Now you can run cointop:


Binary (all platforms)

You can download the binary from the releases page.

curl -o- | bash
wget -qO- | bash

Homebrew (macOS)

cointop is available via Homebrew for macOS:

brew install cointop



Snap (Ubuntu)

cointop is available as a snap for Linux users.

sudo snap install cointop --stable

Running snap:

sudo snap run cointop

Note: snaps don't work in Windows WSL. See this issue thread.

Copr (Fedora)

cointop is available as a copr package.

First, enable the respository

sudo dnf copr enable miguelmota/cointop -y

Install cointop

sudo dnf install cointop



AUR (Arch Linux)

cointop is available as an AUR package.

git clone
cd cointop
makepkg -si

Using yay

yay -S cointop

XBPS (Void Linux)

cointop is available as a XBPS package.

sudo xbps-install -S cointop

Flatpak (Linux)

cointop is available as a Flatpak package via the Flathub registry.

Add the flathub repository (if not done so already)

sudo flatpak remote-add --if-not-exists flathub

Install cointop flatpak

sudo flatpak install flathub com.github.miguelmota.Cointop

Run cointop flatpak

flatpak run com.github.miguelmota.Cointop

NixOS (Linux)

cointop is available as a nixpkg.

nix-env -iA nixpkgs.cointop

FreshPorts (FreeBSD / OpenBSD)

cointop is available as a FreshPort package.

sudo pkg install cointop

Windows (PowerShell / WSL)

Install Go and git, then:

go get -u

You'll need additional font support for Windows. Please see the wiki for instructions.


cointop is available on Docker Hub.

docker run -it cointop/cointop


You can find pre-built binaries on the releases page.


To update make sure to use the -u flag if installed via Go.

go get -u

Homebrew (macOS)

brew uninstall cointop && brew install cointop

Snap (Ubuntu)

Use the refresh command to update snap.

sudo snap refresh cointop

Copr (Fedora)

sudo dnf update cointop

AUR (Arch Linux)

yay -S cointop

XBPS (Void Linux)

sudo xbps-install -Su cointop

Flatpak (Linux)

sudo flatpak uninstall com.github.miguelmota.Cointop
sudo flatpak install flathub com.github.miguelmota.Cointop

NixOS (Linux)

nix-env -uA nixpkgs.cointop

Getting started

Just run the cointop command to get started:

$ cointop

To see all the available commands and options run help flag:

$ cointop --help
  • Easiest way to navigate up and down is using the arrow keys and , respectively
  • To go the next and previous pages, use and , respectively
  • To go to the top and bottom of the page, use g and G (Shift+g), respectively
  • Check out the rest of shortcut keys for vim-inspired navigation


  • To toggle a coin as a favorite, press Space on the highlighted coin
  • To view all your favorite coins, press F (Shift+f)
  • To exit out of the favorites view, press F (Shift+f) again or q


portfolio screenshot
  • To add a coin to your portfolio, press e on the highlighted coin
  • To edit the holdings of coin in your portfolio, press e on the highlighted coin
  • To view your portfolio, press P (Shift+p)
  • To exit out of the portfolio view press, P (Shift+p) again or q
  • To search for coins, press / then enter the search query and hit Enter

Base Currency

  • To change the currency, press c then enter the character next to the desired currency


List of default shortcut keys:

Key Action
Move up
Move down
Go to next page
Go to previous page
Page Up Jump page up
Page Down Jump page down
Home Go to first line of page
End Go to last line of page
Enter Toggle chart for highlighted coin
Esc Quit view
Space Toggle coin as favorite
Tab Move down or next page
Ctrl+c Quit application
Ctrl+d Jump page down (vim inspired)
Ctrl+f Search
Ctrl+n Go to next page
Ctrl+p Go to previous page
Ctrl+r Force refresh data
Ctrl+s Save config
Ctrl+u Jump page up (vim inspired)
Ctrl+j Increase chart height
Ctrl+k Decrease chart height
Alt+ Sort current column in ascending order
Alt+ Sort current column in descending order
Alt+ Sort column to the left
Alt+ Sort column to the right
F1 Show help
F5 Force refresh data
0 Go to first page (vim inspired)
1 Sort table by [1] hour change
2 Sort table by [2]4 hour change
7 Sort table by [7] day change
a Sort table by [a]vailable supply
b Sort table by [b]alance
c Show currency convert menu
C Show currency convert menu
e Show portfolio edit holdings menu
E (Shift+e) Show portfolio edit holdings menu
f Toggle coin as favorite
F (Shift+f) Toggle show favorites
g Go to first line of page (vim inspired)
G (Shift+g) Go to last line of page (vim inspired)
h Go to previous page (vim inspired)
h Sort table by [h]oldings (portfolio view only)
H (Shift+h) Go to top of table window (vim inspired)
j Move down (vim inspired)
k Move up (vim inspired)
l Go to next page (vim inspired)
L (Shift+l) Go to last line of visible table window (vim inspired)
m Sort table by [m]arket cap
M (Shift+m) Go to middle of visible table window (vim inspired)
n Sort table by [n]ame
o [o]pen link to highlighted coin (visits the API's coin page)
p Sort table by [p]rice
P (Shift+p) Toggle show portfolio
r Sort table by [r]ank
s Sort table by [s]ymbol
t Sort table by [t]otal supply
u Sort table by last [u]pdated
v Sort table by 24 hour [v]olume
% Sort table by [%]holdings
q Quit view
$ Go to last page (vim inspired)
? Show help
/ Search (vim inspired)
] Next chart date range
[ Previous chart date range
} Last chart date range
{ First chart date range
> Go to next page
< Go to previous page
\ Toggle table fullscreen


cointop supports custom colorschemes (themes).

cointop colorschemes

To use standard colorschemes, clone the colors repository into the config directory:

$ cd ~/.config/cointop
$ git clone [email protected]:cointop-sh/colors.git

Then edit your config ~/.config/cointop/config.toml and set the colorscheme you want to use:

colorscheme = "<colorscheme>"

The colorscheme name is the name of the colorscheme TOML file.

For example, if you have matrix.toml in ~/.cointop/colors/ then the colorscheme property should be set to:

colorscheme = "matrix"

Alternatively, you can run cointop with the --colorscheme flag to set the colorscheme:

$ cointop --colorscheme matrix

To create your own colorscheme; simply copy an existing colorscheme, rename it, and customize the colors.


The first time you run cointop, it'll create a config file in:


You can then configure the actions you want for each key:

(default ~/.config/cointop/config.toml)

currency = "USD"
default_view = ""
api = "coingecko"
colorscheme = "cointop"
refresh_rate = 60

  "$" = "last_page"
  0 = "first_page"
  1 = "sort_column_1h_change"
  2 = "sort_column_24h_change"
  7 = "sort_column_7d_change"
  "?" = "help"
  "/" = "open_search"
  "[" = "previous_chart_range"
  "\\" = "toggle_table_fullscreen"
  "]" = "next_chart_range"
  "{" = "first_chart_range"
  "}" = "last_chart_range"
  "<" = "scroll_left"
  ">" = "scroll_right"
  C = "show_currency_convert_menu"
  E = "show_portfolio_edit_menu"
  G = "move_to_page_last_row"
  H = "move_to_page_visible_first_row"
  L = "move_to_page_visible_last_row"
  M = "move_to_page_visible_middle_row"
  O = "open_link"
  P = "toggle_portfolio"
  a = "sort_column_available_supply"
  "alt+down" = "sort_column_desc"
  "alt+left" = "sort_left_column"
  "alt+right" = "sort_right_column"
  "alt+up" = "sort_column_asc"
  down = "move_down"
  left = "previous_page"
  right = "next_page"
  up = "move_up"
  c = "show_currency_convert_menu"
  b = "sort_column_balance"
  "ctrl+c" = "quit"
  "ctrl+d" = "page_down"
  "ctrl+f" = "open_search"
  "ctrl+j" = "enlarge_chart"
  "ctrl+k" = "shorten_chart"
  "ctrl+n" = "next_page"
  "ctrl+p" = "previous_page"
  "ctrl+r" = "refresh"
  "ctrl+s" = "save"
  "ctrl+u" = "page_up"
  e = "show_portfolio_edit_menu"
  end = "move_to_page_last_row"
  enter = "toggle_row_chart"
  esc = "quit"
  f = "toggle_favorite"
  F = "toggle_show_favorites"
  F1 = "help"
  g = "move_to_page_first_row"
  h = "previous_page"
  home = "move_to_page_first_row"
  j = "move_down"
  k = "move_up"
  l = "next_page"
  m = "sort_column_market_cap"
  n = "sort_column_name"
  o = "open_link"
  p = "sort_column_price"
  pagedown = "page_down"
  pageup = "page_up"
  q = "quit_view"
	Q = "quit_view"
  r = "sort_column_rank"
  s = "sort_column_symbol"
  space = "toggle_favorite"
  tab = "move_down_or_next_page"
  t = "sort_column_total_supply"
  u = "sort_column_last_updated"
  v = "sort_column_24h_volume"



  pro_api_key = ""

You may specify a different config file to use by using the --config flag:

cointop --config="/path/to/config.toml"

List of actions

This are the action keywords you may use in the config file to change what the shortcut keys do.

Action Description
first_chart_range Select first chart date range (e.g. 24H)
first_page Go to first page
enlarge_chart Increase chart height
help Show help
hide_currency_convert_menu Hide currency convert menu
last_chart_range Select last chart date range (e.g. All Time)
last_page Go to last page
move_to_page_first_row Move to first row on page
move_to_page_last_row Move to last row on page
move_to_page_visible_first_row Move to first visible row on page
move_to_page_visible_last_row Move to last visible row on page
move_to_page_visible_middle_row Move to middle visible row on page
move_up Move one row up
move_down Move one row down
move_down_or_next_page Move one row down or to next page if at last row
move_up_or_previous_page Move one row up or to previous page if at first row
next_chart_range Select next chart date range (e.g. 3D → 7D)
next_page Go to next page
open_link Open row link
open_search Open search field
page_down Move one row down
page_up Scroll one page up
previous_chart_range Select previous chart date range (e.g. 7D → 3D)
previous_page Go to previous page
quit Quit application
quit_view Quit view
refresh Do a manual refresh on the data
save Save config
scroll_left Scroll table to the left
scroll_right Scroll table to the right
shorten_chart Decrease chart height
show_currency_convert_menu Show currency convert menu
show_favorites Show favorites
sort_column_1h_change Sort table by column 1 hour change
sort_column_24h_change Sort table by column 24 hour change
sort_column_24h_volume Sort table by column 24 hour volume
sort_column_7d_change Sort table by column 7 day change
sort_column_asc Sort highlighted column by ascending order
sort_column_available_supply Sort table by column available supply
sort_column_balance Sort table by column balance
sort_column_desc Sort highlighted column by descending order
sort_column_holdings Sort table by column holdings
sort_column_last_updated Sort table by column last updated
sort_column_market_cap Sort table by column market cap
sort_column_name Sort table by column name
sort_column_price Sort table by column price
sort_column_rank Sort table by column rank
sort_column_symbol Sort table by column symbol
sort_column_total_supply Sort table by column total supply
sort_left_column Sort the column to the left of the highlighted column
sort_right_column Sort the column to the right of the highlighted column
toggle_row_chart Toggle the chart for the highlighted row
toggle_favorite Toggle coin as favorite
toggle_show_currency_convert_menu Toggle show currency convert menu
toggle_show_favorites Toggle show favorites
toggle_portfolio Toggle portfolio view
toggle_show_portfolio Toggle show portfolio view
show_portfolio_edit_menu Show portfolio edit holdings menu
toggle_table_fullscreen Toggle table fullscreen

SSH Server

Run SSH server:

cointop server -p 2222

SSH into server to see cointop:

ssh localhost -p 2222

SSH demo:


Passing arguments to SSH server:

ssh -t cointop --colorscheme synthwave

Using docker to run SSH server:

docker run -p 2222:22 -v ~/.ssh:/keys --entrypoint cointop -it cointop/cointop server -k /keys/id_rsa


Frequently asked questions:

  • Q: Where is the data from?

  • Q: What APIs does it support?

  • Q: What coins does this support?

    • A: This supports any coin supported by the API being used to fetch coin information.
  • Q: How do I set the API to use?

    • A: You can use the --api flag, eg. --api coingecko. You can also set the API choice in the config file.

      api = "coingecko"

      Options are: coinmarketcap, coingecko

  • Q: How do I change the colorscheme (theme)?

    • A: You can use the --colorscheme flag, eg. --colorscheme matrix. You can also set the colorscheme choice in the config file.

      colorscheme = "<colorscheme>"

      For more instructions, visit the colors repository.

  • Q: How do I create a custom colorscheme?

    • A: Copy an existing colorscheme to ~/.config/cointop/colors/ and customize the colors. Then run cointop with --colorscheme <colorscheme> to use the colorscheme.
  • Q: Where is the config file located?

    • A: The default configuration file is located under ~/.config/cointop/config.toml

      Note: Previous versions of cointop used ~/.cointop/config or ~/.cointop/config.toml as the default config filepath. Cointop will use those config filepaths respectively if they exist.

  • Q: What format is the configuration file in?

    • A: The configuration file is in TOML format.
  • Q: Will you be supporting more coin API's in the future?

    • A: Yes supporting more coin APIs is planned.
  • Q: How often is the data polled?

    • A: Data gets polled once 60 seconds by default. You can press Ctrl+r to force refresh. You can configure the refresh rate with the flag --refresh-rate <seconds>
  • Q: How can I change the refresh rate?

    • A: Run cointop with the flag --refresh-rate 60 where the value is the number of seconds that it will fetch for data. You can also set the refresh rate in the config file:

      refresh_rate = 60
  • Q: I ran cointop for the first time and don't see any data?

    • A: Running cointop for the first time will fetch the data and populate the cache which may take a few seconds.
  • Q: I'm no longer seeing any data!

    • A: Run cointop with the --clean flag to delete the cache. If you're still not seeing any data, then please submit an issue.
  • Q: How do I get a CoinMarketCap Pro API key?

  • A: Create an account on CoinMarketCap and visit the Account page to copy your Pro API key.

  • Q: How do I add my CoinMarketCap Pro API key?

    • A: Add the API key in the cointop config file:

        pro_api_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

      Alternatively, you can export the environment variable CMC_PRO_API_KEY containing the API key in your ~/.bashrc

      export CMC_PRO_API_KEY=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

      You may also set the API key on start:

      cointop --coinmarketcap-api-key=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  • Q: I can I add my own API to cointop?

  • Q: I installed cointop without errors but the command is not found.

    • A: Make sure your GOPATH and PATH is set correctly.

      export GOPATH=$HOME/go
      export PATH=$PATH:$GOPATH/bin
  • Q: How do I search?

    • A: The default key to open search is /. Type the search query after the / in the field and hit Enter.
  • Q: How do I exit search?

    • A: Press ESC to exit search.
  • Q: Does this work on the Raspberry Pi?

    • A: Yes, cointop works on the Rasperry Pi including the RPi Zero.
  • Q: How do I add/remove a favorite?

    • A: Press the f key to toggle a coin as a favorite.
  • Q: How do I view all my favorites?

    • A: Press F (Shift+f) to toggle view all your favorites.
  • Q: How do I save my favorites?

    • A: Favorites are autosaved when setting them. You can also press ctrl+s to manually save your favorites to the config file.
  • Q: What does the yellow asterisk in the row mean?

    • A: The yellow asterisk or star means that you've selected that coin to be a favorite.
  • Q: My favorites aren't being saved?

    • A: Try running cointop with --clean flag to clear the cache which might be causing the problem.
  • Q: How do I add a coin to my portfolio?

    • Press e on the highlighted coin to enter holdings and add to your portfolio.
  • Q: How do I edit the holdings of a coin in my portfolio?

    • Press e on the highlighted coin to edit the holdings.
  • Q: How do I remove a coin in my portfolio?

    • Press e on the highlighted coin to edit the holdings and set the value to any empty string (blank value). Set it to 0 if you want to keep the coin without a value.
  • Q: How do I view my portfolio?

    • A: Press P (Shift+p) to toggle view your portfolio.
  • Q: How do I save my portfolio?

    • A: Your portfolio is autosaved after you edit holdings. You can also press ctrl+s to manually save your portfolio holdings to the config file.
  • Q: I'm getting question marks or weird symbols instead of the correct characters.

    • A: Make sure that your terminal has the encoding set to UTF-8 and that your terminal font supports UTF-8.

      You can also try running cointop with the following environment variables:

      LANG=en_US.utf8 TERM=xterm-256color cointop

      If you're on Windows (PowerShell, Command Prompt, or WSL), please see the wiki for font support instructions.

  • Q: How do I install Go on Ubuntu?

    • A: There's instructions on installing Go on Ubuntu in the wiki.
  • Q: I'm getting errors installing the snap in Windows WSL.

    • A: Unfortunately Windows WSL doesn't support snapd which is required for snaps to run. See this issue thread.
  • Q: How do I fix my GOPATH on Windows?

    • A: Go to Control Panel -> Under System click Edit the system environment variables -> then click the Environment Variables... button -> check the GOPATH variable.

      Check the environment variable in PowerShell:

      $ Get-ChildItem Env:GOPATH
      Name                           Value
      ----                           -----
      GOPATH                         C:\Users\alice\go
  • Q: How do I manually build the cointop executable on Windows?

    • A: Here's how to build the executable and run it:

      > md C:\Users\Josem\go\src\\miguelmota -ea 0
      > git clone
      > go build -o cointop.exe main.go
      > cointop.exe
  • Q: How do I show the help menu?

    • A: Press ? to toggle the help menu. Press q to close help menu.
  • Q: I'm getting the error: new gocui: termbox: error while reading terminfo data: EOF when trying to run.

    • A: Try setting the environment variable TERM=screen-256color
  • Q: Does cointop work inside an emacs shell?

    • A: Yes, but it's slightly buggy.
  • Q: My shortcut keys are messed or not correct.

    • A: Delete the cointop config directory and rerun cointop.

      rm -rf ~/.cointop
  • Q: How do I display the chart for the highlighted coin?

    • A: Press Enter to toggle the chart for the highlighted coin.
  • Q: How do I change the chart date range?

    • A: Press ] to cycle to the next date range.

      Press [ to cycle to the previous date range.

      Press { to select the first date range.

      Press } to selected the last date range.

  • Q: What chart date ranges are supported?

    • A: Supported date ranges are All Time, YTD, 1Y, 6M, 3M, 1M, 7D, 3D, 24H.

      YTD = Year-to-date

  • Q: How do I change the fiat currency?

    • A: Press c to show the currency convert menu, and press the corresponding key to select that as the fiat currency.
  • Q: Which currencies can I convert to?

    • A: The supported fiat currencies for conversion are AUD, BRL, CAD, CFH, CLP, CNY, CZK, DKK, EUR, GBP, HKD, HUF, IDR, ILS, INR, JPY, KRW, MXN, MYR, NOK, NZD, PLN, PHP, PKR, RUB, SEK, SGD, THB, TRY, TWD, USD, VND, and ZAR.

      The supported crypto currencies for conversion are BTC and ETH.

      Please note that some APIs may have limited support for certain conversion formats.

  • Q: How do I save the selected currency to convert to?

    • A: The selected currency conversion is autosaved. You can also press ctrl+s to manually save the selected currency conversion.
  • Q: What does saving do?

    • A: The save command (ctrl+s) saves your selected currency, selected favorite coins, and portfolio coins to the cointop config file.
  • Q: The data isn't refreshing!

    • A: The coin APIs have rate limits, so make sure to keep manual refreshes to a minimum. If you've hit the rate limit then wait about half an hour to be able to fetch the data again. Keep in mind that some coin APIs, such as CoinMarketCap, update prices every 5 minutes so constant refreshes aren't necessary.
  • Q: How do I quit the application?

    • A: Press ctrl+c to quit the application.
  • Q: How do I quit the open view/window?

    • A: Press q to quit the open view/window.
  • Q: How do I set the favorites view to be the default view?

    • A: In the config file, set default_view = "favorites"
  • Q: How do I set the portfolio view to be the default view?

    • A: In the config file, set default_view = "portfolio"
  • Q: How do I set the table view to be the default view?

    • A: In the config file, set default_view = "default"
  • Q: How can use a different config file other than the default?

    • A: Run cointop with the --config flag, eg cointop --config="/path/to/config.toml", to use the specified file as the config.
  • Q: I'm getting the error open /dev/tty: no such device or address.

    -A: Usually this error occurs when cointop is running as a daemon or slave which means that there is no terminal allocated, so /dev/tty doesn't exist for that process. Try running it with the following environment variables:

    DEV_IN=/dev/stdout DEV_OUT=/dev/stdout cointop
  • Q: I can only view the first page, why isn't the pagination is working?

    • A: Sometimes the coin APIs will make updates and break things. If you see this problem please submit an issue.
  • Q: How can run cointop with just the table?

    • A: Run cointop with the --only-table flag.

      table view only
  • Q: How do I toggle the table to go fullscreen?

    • A: Press \ to toggle the table fullscreen mode.
  • Q: How can I hide the top marketbar?

    • A: Run cointop with the --hide-marketbar flag.
  • Q: How can I hide the chart?

    • A: Run cointop with the --hide-chart flag.
  • Q: How can I hide the bottom statusbar?

    • A: Run cointop with the --hide-statusbar flag.
  • Q: How do I scroll the table horizontally left or right?

    • A: Use the keys < to scroll the table to the left and < to scroll the table to the right.
  • Q: How can I delete the cache?

    • A: Run cointop clean to delete the cache files. Cointop will generate new cache files after fetching data.
  • Q: How can I reset cointop?

    • A: Run the command cointop reset to delete the config files and cache. Cointop will generate a new config when starting up. You can run cointop --reset to reset before running cointop.
  • Q: What is the size of the binary?

    • A: The Go build size is ~8MB but packed with UPX it's only a ~3MB executable binary.
  • Q: How much memory does cointop use?

    -A: Cointop uses ~15MB of memory so you can run it on a Raspberry Pi Zero if you wanted to (one reason why cointop was built using Go instead of Node.js or Python).

  • Q: How does cointop differ from

    • A: is great for one-off queries or fetching data for bash scripts because it doesn't require installing anything. Cointop differs in that it is interactive and also supports more currencies.
  • Q: How can I get just the coin price with cointop?

    • A: Use the cointop price command. Here are some examples:

      $ cointop price --coin ethereum
      $ cointop price -c ethereum --currency btc
      $ cointop -c ethereum -f eur
      $ cointop price -c ethereum -f usd --api coinmarketcap
  • Q: Does cointop do mining?

    • A: Cointop does not do any kind of mining.
  • Q: How can I run the cointop SSH server on port 22?

    • A: Port 22 is a privileged port so you need to run with sudo:

      sudo cointop server -p 22
  • Q: Why doesn't the version number work when I install with go get?

    • A: The version number is read from the git tag during the build process but this requires the GO111MODULE environment variable to be set in order for Go to read the build information:

      GO111MODULE=on go get

Mentioned in

Cointop has been mentioned in:


Pull requests are welcome!

For contributions please create a new branch and submit a pull request for review.



Running cointop from source

make run

Update vendor dependencies

make deps


Installing from source

make brew/build


Install the freedesktop runtime (if not done so already)

sudo flatpak install flathub org.freedesktop.Platform//1.6 org.freedesktop.Sdk//1.6

Install golang extension

sudo flatpak install flathub org.freedesktop.Sdk.Extension.golang

Building flatpak package

make flatpak/build


Install dependencies

make copr/install/cli
make rpm/install/deps
make rpm/dirs

Build package

make rpm/cp/specs
make rpm/download
make rpm/build
make copr/build


Building snap

make snap/build


See this wiki.