This Command Line Interface allows users to interact with the Celo Protocol smart contracts.

Getting Started


  • You have a Celo node running. Commands will connect to a Celo node to execute most functionality. See the Running a Full Node instructions for more details on running a full node.

NPM Package

The Celo CLI is published as a node module on NPM. Assuming you have npm and git both installed, you can install the Celo CLI using the following command:

npm install -g @celo/celocli

We are currently deploying the CLI with only Node v10.x LTS support. If you are running a different version of Node, consider using NVM to manage your node versions. e.g. with: nvm install 10 && nvm use 10

If you have trouble installing globally (i.e. with the -g flag), try installing to a local directory instead with npm install @celo/celocli and run with npx celocli.


The tool is broken down into modules and commands with the following pattern:

celocli <module>:<command> <...args> <...flags?>

The celocli tool assumes that users are running a node which they have access to signing transactions on. See documentation on the config module for information about how set which node commands are sent to.

All balances of CELO or Celo Dollars are expressed in units of 10-18

Using a Ledger Wallet

The Celo CLI supports using a Ledger hardware wallet to sign transactions.


Additional plugins can be installed which make the CLI experience smoother.

The autocomplete plugin adds an interactive autocomplete for bash and zsh shells. To enable the autocomplete plugin, follow the instructions provided at:

celocli autocomplete

The update warning plugin notifies the user if they are using an oudated version of the CLI. This plugin is enabled by default.