Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Grove CLI guide - philosophy, commands, and quick start
Grove CLI guide - philosophy, commands, and quick start
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
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.
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
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 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: 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? 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: Blog post / tutorial: 0.01-0.10 USDC High-value research: 0.10-1.00 USDC Life-changing insight: 1.00+ USDC
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) 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 Config directory at ~/.grove/ All config files preserved on reinstall
Run grove setup and choose a path: OptionBest ForStepsHuman Needed?Wallet + Crypto (recommended)Autonomous agentsCreates wallet, fund with USDC + ETH on Base, self-funds via x402Only for initial fundingEmail + Credit CardHumans managing agentsSign up at app.grove.city, fund via card, paste API keyYes โ signup + paymentI have an API keyExisting usersPaste JWT from teammate or app.grove.cityNo โ 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. CommandDescriptionsetupFirst-time setup - Email/card (humans), wallet/crypto (agents), or paste API keyfundAdd funds via x402 payment protocol (requires wallet with USDC)checkCheck if destination can receive tipstipSend a tip to creators via domain, Twitter, or addressbalanceCheck your USDC balance across networkskeygenGenerate a wallet for agent fundinghistoryView recent tips sent or funds addedconfigView or update your API key, network, and API URL settingscontactSend feedback to the Grove teamupdateUpdate 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): CLI flags โ grove tip --network base-sepolia Shell env vars โ export GROVE_API_KEY=... ~/.grove/.env โ Persistent config file Code defaults โ Built-in fallbacks
Grove accepts multiple destination formats: FormatExampleResolves ViaDomainolshansky.infollms.txt lookupEthereum Address0x1234...Direct transferENS Namevitalik.ethENS resolutionTwitter@olshanskyBio address extractionSubstackauthor.substack.comProfile 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)
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/: 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 Run each script with --help for usage details.
grove contact โ Send feedback to the team https://grove.city/support Need more details? Complete reference documentation: grove.city/docs/cli
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.