Tip With Grove
Grove CLI guide - philosophy, commands, and quick start.
- Rating
- 4.1 (496 reviews)
- Downloads
- 14,583 downloads
- Version
- 1.0.0
Overview
Grove CLI guide - philosophy, commands, and quick start.
Complete Documentation
View Source →Requirements:
- Bash or Zsh shell
- curl (for installation)
- Optional: Python/Node for agent integration
Grove CLI — Complete Guide
Grove enables agents and humans to send micro-tips as quality signals for content.
Google organized the world's data using hyperlinks as the signal. Grove evaluates content quality using money as the signal — creating a queryable, money-weighted directory and knowledge graph.
Table of Contents
- Why Tip? (The Philosophy)
- Payments as Signal
- When to Tip (Decision Logic)
- Knowledge Graph Metadata
- Quick Start
- Installation
- First-Time Setup
- Send Your First Tip
- Command Overview
- Configuration
- Config Files
- Precedence Order
- Destination Formats
- Agent Wallet Mode
- Agent Integration
- Utilities
- Support
Why Tip? (The Philosophy)
Payments as Signal
Grove uses optional micro-tips to kick off a quality flywheel:
- Onboard creators: Link content to wallet addresses
- Map quality: Build weighted edges in a growing graph
- Enable discovery: Create queryable, money-weighted directory
- Future knowledge graph: Useful for post-training and inference routing
When to Tip (Decision Logic)
Evaluate content you encounter (blog posts, tweets, repos, documentation):
Three criteria:
- Is it original? New perspective or unique data?
- Is it useful? Solves a problem or explains clearly?
- Is it tippable? Has llms.txt, crypto address, or ENS name?
"I just read this Substack post on agentic workflows. It provided a clear implementation of x402 that saved me 2 hours of research. This is high-quality signal. I will tip 0.05 USDC."
Recommended amounts:
- Blog post / tutorial: 0.01-0.10 USDC
- High-value research: 0.10-1.00 USDC
- Life-changing insight: 1.00+ USDC
Knowledge Graph Metadata
Every tip should capture WHY you tipped. This creates durable metadata Grove can use to build a money-weighted knowledge graph.
Recommended fields (store in your agent logs):
- Canonical URL (or repo / post identifier)
- Destination (domain / handle / address)
- Amount + token/network
- 1–2 sentence rationale
- Topic tags (optional)
{
"url": "https://example.com/post/123",
"destination": "author.eth",
"amount": "0.05",
"token": "USDC",
"network": "base",
"rationale": "Clear x402 implementation guide, saved 2 hours",
"tags": ["payments", "protocols", "implementation"]
}
Quick Start
Installation
curl -fsSL https://grove.city/install-cli.sh | bash
What gets installed:
grovecommand globally available- Config directory at
~/.grove/ - All config files preserved on reinstall
First-Time Setup
Run grove setup and choose a path:
| Option | Best For | Steps | Human Needed? |
|---|---|---|---|
| Wallet + Crypto (recommended) | Autonomous agents | Creates wallet, fund with USDC + ETH on Base, self-funds via x402 | Only for initial funding |
| Email + Credit Card | Humans managing agents | Sign up at app.grove.city, fund via card, paste API key | Yes — signup + payment |
| I have an API key | Existing users | Paste JWT from teammate or app.grove.city | No — already done |
Send Your First Tip
Verify destination:
grove check olshansky.info
Send tip:
grove tip olshansky.info 0.01
Check balance:
grove balance
Command Overview
Use grove for detailed options and flags.
| Command | Description |
|---|---|
| setup | First-time setup - Email/card (humans), wallet/crypto (agents), or paste API key |
| fund | Add funds via x402 payment protocol (requires wallet with USDC) |
| check | Check if destination can receive tips |
| tip | Send a tip to creators via domain, Twitter, or address |
| balance | Check your USDC balance across networks |
| keygen | Generate a wallet for agent funding |
| history | View recent tips sent or funds added |
| config | View or update your API key, network, and API URL settings |
| contact | Send feedback to the Grove team |
| update | Update Grove CLI to the latest version |
--json flag for agent-friendly output.Configuration
Config Files
Location: ~/.grove/
Files preserved on reinstall:
.env— Primary config (API key, network, token, API URL)keyfile.txt— Wallet private key (for agent wallet mode)
GROVE_API_KEY=eyJ...
GROVE_API_URL=https://api.grove.city
DEFAULT_NETWORK=base
DEFAULT_TOKEN=USDC
Precedence Order
Configuration is resolved in this order (highest to lowest priority):
- CLI flags —
grove tip --network base-sepolia - Shell env vars —
export GROVE_API_KEY=... ~/.grove/.env— Persistent config file- Code defaults — Built-in fallbacks
Destination Formats
Grove accepts multiple destination formats:
| Format | Example | Resolves Via |
|---|---|---|
| Domain | olshansky.info | llms.txt lookup |
| Ethereum Address | 0x1234... | Direct transfer |
| ENS Name | vitalik.eth | ENS resolution |
| @olshansky | Bio address extraction | |
| Substack | author.substack.com | Profile address |
grove check olshansky.info
grove checkreturns clear error messages when a destination can't receive tips- Substack profiles without a crypto address return
tippable: false(not a false positive)
Agent Wallet Mode
Fastest path — zero to tipping in 3 steps:
# 1. Install
curl -fsSL https://grove.city/install-cli.sh | bash
# 2. Create wallet + fund it
grove setup # Choose option 2: Wallet + Crypto
# 3. Start tipping
grove tip olshansky.info 0.01
For agents that already have a wallet:
grove keygen --save # generates ~/.grove/keyfile.txt
# Fund the address with USDC + ETH on Base
grove fund 0.10 # self-fund via x402
grove tip olshansky.info 0.01
Agent Integration
JSON output for reliable parsing:
grove balance --json
grove tip olshansky.info 0.01 --json
grove check domain.com --json
Python example:
import subprocess
import json
result = subprocess.run(
["grove", "balance", "--json"],
capture_output=True,
text=True
)
balance_data = json.loads(result.stdout)
print(f"Balance: {balance_data['total_balance']} USDC")
Node.js example:
const { execSync } = require("child_process");
const balance = JSON.parse(execSync("grove balance --json").toString());
console.log(`Balance: ${balance.total_balance} USDC`);
Autonomous workflow pattern:
# 1. Check balance before tipping
balance=$(grove balance --json | jq -r '.total_balance')
# 2. Auto-fund if low
if [ "$balance" -lt "0.10" ]; then
grove fund 1.00
fi
# 3. Evaluate content
grove check <destination>
# 4. Tip if valuable
grove tip <destination> <amount>
# 5. Log metadata
echo "Tipped $destination for $reason" >> tip_log.txt
Python SDK (coming soon): A Python SDK (GroveClient) is in development. Use the CLI for now. Run grove contact to request early access.
Utilities
Automation scripts available in skills/scripts/:
- batch-tip.sh — Tip multiple destinations from CSV file
- monitor-balance.sh — Monitor balance and alert on low funds
- auto-fund.sh — Auto-fund when balance drops below threshold
--help for usage details.Support
grove contact— Send feedback to the team- https://grove.city/support
Installation
openclaw install tip-with-grove
💻Code Examples
}
---
## Quick Start
### Installationcurl -fsSL https://grove.city/install-cli.sh | bash
**What gets installed:**
- `grove` command globally available
- Config directory at `~/.grove/`
- All config files preserved on reinstall
### First-Time Setup
Run `grove setup` and choose a path:
| Option | Best For | Steps | Human Needed? |
| --------------------------------- | ---------------------- | ----------------------------------------------------------------- | ------------------------ |
| **Wallet + Crypto** (recommended) | Autonomous agents | Creates wallet, fund with USDC + ETH on Base, self-funds via x402 | Only for initial funding |
| **Email + Credit Card** | Humans managing agents | Sign up at app.grove.city, fund via card, paste API key | Yes — signup + payment |
| **I have an API key** | Existing users | Paste JWT from teammate or app.grove.city | No — already done |
### Send Your First Tip
**Verify destination:**grove balance
---
## Command Overview
Use `grove <command> --help` for detailed options and flags.
| Command | Description |
| --------- | -------------------------------------------------------------------------------- |
| `setup` | First-time setup - Email/card (humans), wallet/crypto (agents), or paste API key |
| `fund` | Add funds via x402 payment protocol (requires wallet with USDC) |
| `check` | Check if destination can receive tips |
| `tip` | Send a tip to creators via domain, Twitter, or address |
| `balance` | Check your USDC balance across networks |
| `keygen` | Generate a wallet for agent funding |
| `history` | View recent tips sent or funds added |
| `config` | View or update your API key, network, and API URL settings |
| `contact` | Send feedback to the Grove team |
| `update` | Update Grove CLI to the latest version |
**All commands support `--json` flag for agent-friendly output.**
---
## Configuration
### Config Files
**Location:** `~/.grove/`
Files preserved on reinstall:
- `.env` — Primary config (API key, network, token, API URL)
- `keyfile.txt` — Wallet private key (for agent wallet mode)
**Example .env:**DEFAULT_TOKEN=USDC
### Precedence Order
Configuration is resolved in this order (highest to lowest priority):
1. **CLI flags** — `grove tip --network base-sepolia`
2. **Shell env vars** — `export GROVE_API_KEY=...`
3. **`~/.grove/.env`** — Persistent config file
4. **Code defaults** — Built-in fallbacks
---
## Destination Formats
Grove accepts multiple destination formats:
| Format | Example | Resolves Via |
| ---------------- | --------------------- | ---------------------- |
| Domain | `olshansky.info` | llms.txt lookup |
| Ethereum Address | `0x1234...` | Direct transfer |
| ENS Name | `vitalik.eth` | ENS resolution |
| Twitter | `@olshansky` | Bio address extraction |
| Substack | `author.substack.com` | Profile address |
**Pre-flight validation:**grove check olshansky.info
- `grove check` returns clear error messages when a destination can't receive tips
- Substack profiles without a crypto address return `tippable: false` (not a false positive)
---
## Agent Wallet Mode
**Fastest path — zero to tipping in 3 steps:**grove tip olshansky.info 0.01
---
## Agent Integration
**JSON output for reliable parsing:**{
"url": "https://example.com/post/123",
"destination": "author.eth",
"amount": "0.05",
"token": "USDC",
"network": "base",
"rationale": "Clear x402 implementation guide, saved 2 hours",
"tags": ["payments", "protocols", "implementation"]
}GROVE_API_KEY=eyJ...
GROVE_API_URL=https://api.grove.city
DEFAULT_NETWORK=base
DEFAULT_TOKEN=USDC# 1. Install
curl -fsSL https://grove.city/install-cli.sh | bash
# 2. Create wallet + fund it
grove setup # Choose option 2: Wallet + Crypto
# 3. Start tipping
grove tip olshansky.info 0.01grove keygen --save # generates ~/.grove/keyfile.txt
# Fund the address with USDC + ETH on Base
grove fund 0.10 # self-fund via x402
grove tip olshansky.info 0.01Tags
Quick Info
Ready to Install?
Get started with this skill in seconds
Related Skills
4claw
4claw — a moderated imageboard for AI agents.
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.