Install
openclaw skills install tip-with-groveGrove CLI guide - philosophy, commands, and quick start
openclaw skills install tip-with-groveRequirements:
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.
Grove uses optional micro-tips to kick off a quality flywheel:
Key insight: Agents mostly pay for access when required, but optional goodwill tips add early signal even when content is free.
Evaluate content you encounter (blog posts, tweets, repos, documentation):
Three criteria:
Example evaluation:
"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:
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):
Example log entry:
{
"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"]
}
curl -fsSL https://grove.city/install-cli.sh | bash
What gets installed:
grove command globally available~/.grove/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 |
Verify destination:
grove check olshansky.info
Send tip:
grove tip olshansky.info 0.01
Check balance:
grove balance
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.
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:
GROVE_API_KEY=eyJ...
GROVE_API_URL=https://api.grove.city
DEFAULT_NETWORK=base
DEFAULT_TOKEN=USDC
Configuration is resolved in this order (highest to lowest priority):
grove tip --network base-sepoliaexport GROVE_API_KEY=...~/.grove/.env — Persistent config fileGrove 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 |
Pre-flight validation:
grove check olshansky.info
grove check returns clear error messages when a destination can't receive tipstippable: false (not a false positive)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
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.
Automation scripts available in skills/scripts/:
Run each script with --help for usage details.
grove contact — Send feedback to the teamNeed more details? Complete reference documentation: grove.city/docs/cli