Post, read, search, and engage on Farcaster — crypto-native social protocol. Agent-friendly API, no scraping.
- Get API key from https://neynar.com (free tier = 200K credits/month)
- Create a signer for your agent
- Store in
/data/.openclaw/credentials.json:
{
"neynar": {"apiKey": "YOUR_KEY"},
"farcaster": {"signerUuid": "YOUR_SIGNER_UUID", "fid": 12345}
}API_KEY=$(jq -r '.neynar.apiKey' /data/.openclaw/credentials.json)
curl -s -X POST https://api.neynar.com/v2/farcaster/signer \
-H "x-api-key: $API_KEY" \
-H "Content-Type: application/json" | jq .
# Returns signer_uuid + approval URL. Approve in Warpcast, then store signer_uuid.All commands assume:
API_KEY=$(jq -r '.neynar.apiKey' /data/.openclaw/credentials.json)
SIGNER=$(jq -r '.farcaster.signerUuid' /data/.openclaw/credentials.json)curl -s -X POST https://api.neynar.com/v2/farcaster/cast/ \
-H "x-api-key: $API_KEY" \
-H "Content-Type: application/json" \
-d "{\"signer_uuid\": \"$SIGNER\", \"text\": \"Your cast text here\"}" | jq .curl -s -X POST https://api.neynar.com/v2/farcaster/cast/ \
-H "x-api-key: $API_KEY" \
-H "Content-Type: application/json" \
-d "{\"signer_uuid\": \"$SIGNER\", \"text\": \"Alpha incoming\", \"channel_id\": \"trading\"}" | jq .curl -s -X POST https://api.neynar.com/v2/farcaster/cast/ \
-H "x-api-key: $API_KEY" \
-H "Content-Type: application/json" \
-d "{\"signer_uuid\": \"$SIGNER\", \"text\": \"Reply text\", \"parent\": \"0xCASTHASH\"}" | jq .curl -s -X POST https://api.neynar.com/v2/farcaster/cast/ \
-H "x-api-key: $API_KEY" \
-H "Content-Type: application/json" \
-d "{\"signer_uuid\": \"$SIGNER\", \"text\": \"Check this\", \"embeds\": [{\"url\": \"https://example.com\"}]}" | jq .curl -s "https://api.neynar.com/v2/farcaster/cast?identifier=0xCASTHASH&type=hash" \
-H "x-api-key: $API_KEY" | jq .curl -s "https://api.neynar.com/v2/farcaster/cast/conversation?identifier=0xCASTHASH&type=hash&reply_depth=3" \
-H "x-api-key: $API_KEY" | jq .curl -s "https://api.neynar.com/v2/farcaster/feed?feed_type=filter&filter_type=fids&fids=USER_FID&limit=25" \
-H "x-api-key: $API_KEY" | jq '.casts[] | {text, hash, timestamp}'curl -s "https://api.neynar.com/v2/farcaster/cast/search/?q=hyperliquid+funding+rate&limit=25" \
-H "x-api-key: $API_KEY" | jq '.result.casts[] | {text, hash, author: .author.username}'"phrase search" # exact phrase
term1+term2 # AND
term1|term2 # OR
-excluded # NOT
before:2026-02-01 # date filter
after:2026-01-15 # date filter
curl -s "https://api.neynar.com/v2/farcaster/cast/search/?q=crypto+market+making&mode=semantic&limit=25" \
-H "x-api-key: $API_KEY" | jq '.result.casts[] | {text, hash, author: .author.username}'curl -s "https://api.neynar.com/v2/farcaster/cast/search/?q=alpha&channel_id=trading&limit=25" \
-H "x-api-key: $API_KEY" | jq '.result.casts[] | {text, hash, author: .author.username}'curl -s -X POST https://api.neynar.com/v2/farcaster/reaction \
-H "x-api-key: $API_KEY" \
-H "Content-Type: application/json" \
-d "{\"signer_uuid\": \"$SIGNER\", \"reaction_type\": \"like\", \"target\": \"0xCASTHASH\"}" | jq .curl -s -X POST https://api.neynar.com/v2/farcaster/reaction \
-H "x-api-key: $API_KEY" \
-H "Content-Type: application/json" \
-d "{\"signer_uuid\": \"$SIGNER\", \"reaction_type\": \"recast\", \"target\": \"0xCASTHASH\"}" | jq .curl -s -X POST https://api.neynar.com/v2/farcaster/user/follow \
-H "x-api-key: $API_KEY" \
-H "Content-Type: application/json" \
-d "{\"signer_uuid\": \"$SIGNER\", \"target_fids\": [TARGET_FID]}" | jq .curl -s "https://api.neynar.com/v2/farcaster/user/by_username?username=vitalik" \
-H "x-api-key: $API_KEY" | jq '.user | {fid, username, display_name, follower_count}'curl -s "https://api.neynar.com/v2/farcaster/user/search?q=defi+trader&limit=10" \
-H "x-api-key: $API_KEY" | jq '.result.users[] | {fid, username, follower_count}'| Channel | ID | Content |
|---|---|---|
| Trading | trading |
Trade setups, alpha |
| DeFi | defi |
Protocols, yields |
| Base | base |
Base ecosystem |
| Ethereum | ethereum |
ETH ecosystem |
| Crypto | crypto |
General crypto |
| Operation | Credits |
|---|---|
| Publish cast | 150 |
| Read cast | 2 |
| Read feed | 4 |
| Search | 10 |
| Like/recast | 10 |
| Follow | 10 |
| User lookup | 1-10 |
Free tier: 200K credits/month. Posting 3x/day + browsing every 30min ≈ 60K/month.
When posting an insight, hit both X and Farcaster:
- Compose once
- Post to X
- Post to Farcaster with channel targeting for discoverability
- Neynar Docs: https://docs.neynar.com
- Farcaster Protocol: https://docs.farcaster.xyz
- Credits Pricing: https://docs.neynar.com/reference/compute-units