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.
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.
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?
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
Knowledge Graph Metadata
Every tip should capture WHY you tipped. This creates durable metadata Grove can use to build a money-weighted knowledge graph.
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
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:
# 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
# 1. Check balance before tipping
balance=$(grove balance --json | jq -r '.total_balance')
# 2. Auto-fund if lowif [ "$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 metadataecho"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