Skip to content

CLI Installation

Complete installation guide for the Grapevine CLI.

Download Pre-built Binaries

Note: The CLI is available as an npm package for easy installation.

NPM Package (Recommended)

The CLI is now available as a separate npm package:

npm install -g @pinata/grapevine-cli

Latest Release (v0.1.0)

Download the appropriate binary for your platform:

macOS (Apple Silicon)

wget https://github.com/PinataCloud/grapevine-cli/releases/download/v0.1.0/grapevine-cli-macos-arm64.tar.gz
tar -xzf grapevine-cli-macos-arm64.tar.gz
chmod +x grapevine
sudo mv grapevine /usr/local/bin/

macOS (Intel)

wget https://github.com/PinataCloud/grapevine-cli/releases/download/v0.1.0/grapevine-cli-macos-x64.tar.gz
tar -xzf grapevine-cli-macos-x64.tar.gz
chmod +x grapevine
sudo mv grapevine /usr/local/bin/

Linux

wget https://github.com/PinataCloud/grapevine-cli/releases/download/v0.1.0/grapevine-cli-linux.tar.gz
tar -xzf grapevine-cli-linux.tar.gz
chmod +x grapevine
sudo mv grapevine /usr/local/bin/

Windows

# Download the Windows binary
Invoke-WebRequest -Uri "https://github.com/PinataCloud/grapevine-cli/releases/download/v0.1.0/grapevine-cli-windows.zip" -OutFile "grapevine-cli-windows.zip"
 
# Extract the archive
Expand-Archive -Path "grapevine-cli-windows.zip" -DestinationPath "."
 
# Add to PATH (run as Administrator)
Move-Item -Path ".\grapevine.exe" -Destination "C:\Program Files\Grapevine\"
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files\Grapevine", "Machine")

Checksums

Verify your download integrity:

PlatformSHA256
Linux3698695196acd3b7801a7114826f8d93313c7b8527a6a36380aa1f7a0db9fe45
macOS ARM640b6898a4b59e719026d6050d993a44743cc3488e71c55820a9d8a97b53798cf5
macOS x6478c7f39a81285b0a758f88e0e747a957e9784d83e3d1cd922ff7095bd88c03a9
Windows6742f3fd33dd54db6f30aedac03e6d9930b4e8cb8d54b6deff67dd5caeaf7937

Verify Installation

Check the CLI is installed correctly:

grapevine --version
# Should output: 0.1.0
 
grapevine --help
# Should show available commands

Requirements

  • Node.js 18+ or Bun 1.0+
  • Wallet with ETH for gas fees
  • USDC for payments (testnet or mainnet)
  • Terminal with UTF-8 support (for emojis)

Platform-Specific Installation

macOS

# Using npm
npm install -g @pinata/grapevine-cli

Linux

# Using npm
npm install -g @pinata/grapevine-cli

Windows

# Using npm
npm install -g @pinata/grapevine-cli

Initial Setup

1. Set Up Authentication

Choose one of these methods:

Method A: Environment Variable (Recommended)
export PRIVATE_KEY="0xYourPrivateKeyHere"

Add to your shell profile for persistence:

# For Bash
echo 'export PRIVATE_KEY="0x..."' >> ~/.bashrc
 
# For Zsh
echo 'export PRIVATE_KEY="0x..."' >> ~/.zshrc
 
# For Fish
echo 'set -x PRIVATE_KEY "0x..."' >> ~/.config/fish/config.fish
Method B: Configuration File
grapevine auth --key "0x..." --network testnet

This creates ~/.grapevine/config.json.

Method C: Command-Line Flag

Pass --key with every command:

grapevine --key "0x..." feed list

2. Test Your Setup

grapevine info

Should display:

  • Runtime information
  • Network configuration
  • Your wallet address
  • API endpoint

3. List Available Commands

grapevine --help

Configuration

Configuration File Location

The CLI stores configuration at:

  • macOS/Linux: ~/.grapevine/config.json
  • Windows: %USERPROFILE%\.grapevine\config.json

Configuration Format

{
  "network": "testnet",
  "apiUrl": "https://api.grapevine.markets"
}

Note: Private keys are never saved to config for security.

Setting Default Network

grapevine auth --network mainnet

This sets the default network for all commands.

Getting Test Tokens

Base Sepolia ETH

Get test ETH from: Alchemy Faucet

Test USDC

Options:

  1. Bridge from Ethereum Sepolia
  2. Use a test token faucet
  3. Contact Grapevine support

Troubleshooting

Command Not Found

If grapevine: command not found:

# Find where npm installs global packages
npm config get prefix
 
# Add to PATH (replace PREFIX with output above)
export PATH=$PATH:PREFIX/bin

Permission Denied

On macOS/Linux, you may need sudo:

sudo npm install -g @pinata/grapevine-cli

Or configure npm to install globally without sudo:

mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

Version Mismatch

Update to the latest version:

npm update -g @pinata/grapevine-cli

Authentication Errors

Ensure your private key:

  • Starts with 0x
  • Is 66 characters long (including 0x)
  • Is from a wallet with funds

Network Issues

Check your internet connection and try:

grapevine --debug info

This shows detailed network logs.

Updating

Check Current Version

grapevine --version

Update to Latest

# Using npm
npm update -g @pinata/grapevine-cli
 
# Using Bun
bun update -g @pinata/grapevine-cli
 
# Using pnpm
pnpm update -g @pinata/grapevine-cli

Uninstalling

# Using npm
npm uninstall -g @pinata/grapevine-cli
 
# Using Bun
bun remove -g @pinata/grapevine-cli
 
# Using pnpm
pnpm remove -g @pinata/grapevine-cli

Remove configuration:

rm -rf ~/.grapevine

Shell Completion (Optional)

Bash

Add to ~/.bashrc:

eval "$(grapevine completion bash)"

Zsh

Add to ~/.zshrc:

eval "$(grapevine completion zsh)"

Fish

grapevine completion fish | source

Next Steps