Skip to content

Speculation watch

Ranks the coins on your watchlist by how speculative their coverage reads, most speculative first.

Analyze Crypto 1 tool 30 tokens / run Python · Node.js

What this recipe solves

Some coins are covered mostly through rumor and price talk. This script ranks your watchlist by Guavy's speculation score so you can see which ones.

Copy, run, ship

Drop this script into your project and run it locally or on a cron. Set GUAVY_KEY in your environment, swap the symbols, and go.

Python
# speculation_watch.py
import os, requests

API       = "https://guavy.com/api/v1"
H         = {"Authorization": f"Bearer {os.environ['GUAVY_KEY']}"}
WATCHLIST = ["BTC", "ETH", "SOL", "AVAX", "LINK",
             "DOGE", "XRP", "ADA", "DOT", "POL"]

rows = []
for s in WATCHLIST:
    r = requests.get(
        f"{API}/newsroom/get-recent-briefs/{s}",
        headers=H, params={"limit": 10}
    )
    if r.status_code != 200:
        continue
    briefs = r.json()["briefs"]
    scores = [b["speculation_score"] for b in briefs if b.get("speculation_score") is not None]
    if not scores:
        continue
    tones = [b["tone"] for b in briefs if b.get("tone")]
    tone = max(set(tones), key=tones.count) if tones else ""
    rows.append((s, sum(scores) / len(scores), tone))

# speculation_score runs 0 to 10; the average is over each coin's 10 newest briefs.
rows.sort(key=lambda r: r[1], reverse=True)
print(f"{'Symbol':<8} {'Speculation':>12} {'Tone'}")
for sym, score, tone in rows:
    print(f"{sym:<8} {score:>12.1f} {tone}")

1 tool, one script

This script calls 1 endpoint from the Guavy REST API. Every data point maps back to the endpoint it came from.

Run this recipe on the free plan

Grab a free API key, set it as an env var, and run the script. Free sandbox forever.