Skip to main content

Envio Cloud CLI

Alpha Release

The envio-cloud CLI is currently in alpha. The tool is under active development and will be iterated on before a stable version 1 release once the final form of the tool's interaction is finalized.

For feature requests, please reach out to us on Telegram or Discord.

The envio-cloud CLI is a command-line tool for interacting with Envio Cloud. It enables you to deploy, manage, and monitor your blockchain indexers directly from the terminal — making it particularly useful for CI/CD pipelines, scripting, and agentic workflows.

Installation

npm install -g envio-cloud

Or run directly without installation:

npx envio-cloud <command>

Authentication

Browser Login

envio-cloud login

Opens browser-based authentication via envio.dev with a 30-day session duration.

Token-Based Login (CI/CD)

envio-cloud login --token ghp_YOUR_TOKEN

Or using an environment variable:

export ENVIO_GITHUB_TOKEN=ghp_YOUR_TOKEN
envio-cloud login

Required GitHub token scopes: read:org, read:user, user:email.

Session Management

envio-cloud token    # Check current session
envio-cloud logout # Remove credentials

Commands

Indexer Commands

List Indexers

envio-cloud indexer list
envio-cloud indexer list --org myorg
envio-cloud indexer list --limit 10
envio-cloud indexer list -o json
FlagDescription
--orgFilter by organization
--limitLimit number of results
-o, --outputOutput format (json)

Get Indexer Details

envio-cloud indexer get <name> <organisation>
envio-cloud indexer get hyperindex mjyoung114 -o json

Add an Indexer

envio-cloud indexer add --name my-indexer --repo my-repo
envio-cloud indexer add --name my-indexer --repo my-repo --branch main --tier development
envio-cloud indexer add --name my-indexer --repo my-repo --dry-run
FlagDescriptionDefault
-n, --nameIndexer name (required)
-r, --repoRepository name (required)
-b, --branchDeployment branchenvio
-d, --root-dirRoot directory./
-c, --config-fileConfig file pathconfig.yaml
-t, --tierPricing tierdevelopment
-a, --access-typeAccess typepublic
-e, --env-fileEnvironment file
--auto-deployEnable auto-deploytrue
--dry-runPreview without creating
-y, --yesSkip confirmation prompts

Deployment Commands

Deployment Metrics

envio-cloud deployment metrics <indexer> <commit> <organisation>
envio-cloud deployment metrics hyperindex b3ead3a mjyoung114 --watch
envio-cloud deployment metrics hyperindex b3ead3a mjyoung114 -o json

No authentication required.

FlagDescription
--watchContinuously poll for updates
-o, --outputOutput format (json)

Deployment Status

envio-cloud deployment status <indexer> <commit> <organisation>
envio-cloud deployment status hyperindex b3ead3a mjyoung114 --watch-till-synced
FlagDescription
--watch-till-syncedWait until deployment is fully synced

Deployment Info

envio-cloud deployment info <indexer> <commit> <organisation>

No authentication required.

Promote a Deployment

envio-cloud deployment promote <indexer> <commit> <organisation>

Requires authentication. Promotes a deployment to the production endpoint.

Repository Commands

List Repositories

envio-cloud repos
envio-cloud repos -o json

Requires authentication.

Global Flags

FlagDescription
-q, --quietSuppress informational messages
-o, --outputOutput format (json)
--configSpecify config file path
-h, --helpDisplay command help
-v, --versionShow CLI version

JSON Output

All commands support JSON output via the -o json flag, making the CLI easy to integrate into scripts and automation pipelines.

Success response:

{"ok": true, "data": [ ... ]}

Error response:

{"ok": false, "error": "error message"}

Example with jq:

# Get event count for a deployment
envio-cloud deployment metrics hyperindex b3ead3a mjyoung114 -o json | jq '.data[].num_events_processed'

# List all indexer IDs in an org
envio-cloud indexer list --org enviodev -o json | jq -r '.data[].indexer_id'

Exit Codes

CodeMeaning
0Success
1User error (invalid arguments, authentication required)
2API or server error