This is a submission for the Hermes Agent Challenge
What I Built
Bounty Watcher is an autonomous agent pipeline running on Hermes Agent that scans freelance bounty platforms 24/7, filters out noise, deduplicates, and delivers only relevant opportunities — straight to Telegram.
It covers two platforms:
- Superteam Earn — crypto/solana bounties with cash rewards
- GitHub Issues — open source bounties across the ecosystem
The agent has been running in production for weeks on an Android phone via Termux. It costs nothing to operate beyond the LLM tokens used for occasional reasoning tasks — close to zero in this architecture.
Demo
The agent delivers formatted bounty digests directly to Telegram every few hours:
- 🏆 Superteam Bounties — filters by AGENT_ALLOWED status, deadline proximity, and tech relevance
- 🐙 GitHub Bounty Scan — scores issues by keyword relevance, extracts bounty amounts from labels
When there are no new results, the script produces empty output and Hermes Agent sends nothing. Silent by design.
Code
Full source available at: AtlasNexusOps/hermes-bounty-watcher
My Tech Stack
- Hermes Agent — scheduling, delivery, and orchestration
- Bash + Python — data fetching, filtering, deduplication
- GitHub CLI — issue search and metadata extraction
- Superteam Earn API — bounty listings
- Telegram — delivery channel
- Android/Termux — production runtime (ARM64, always-on)
How I Used Hermes Agent
Hermes Agent is the backbone of this project — not a wrapper, not an afterthought. Here is exactly how it powers every layer:
1. Cron Scheduling (cronjob tool)
The cronjob tool schedules both scanners on fixed cadences:
hermes cron add "every 360m" \
--name "Superteam Bounties" \
--script ~/.hermes/scripts/superteam_bounties.sh \
--no-agent \
--deliver origin
hermes cron add "every 180m" \
--name "GitHub Bounty Scan" \
--script ~/.hermes/scripts/github_bounties.sh \
--no-agent \
--deliver origin
The --no-agent flag means scripts run directly (zero LLM tokens). Hermes handles retries, timezone management, and deterministic delivery routing.
2. Watchdog Pattern (script collects, script filters, agent delivers)
This is the architecture that makes the project cost-efficient:
Script → API fetch → Python filter → dedup cache → output
↓
Hermes Agent delivers to Telegram
(silent when output is empty)
- Zero LLM cost for data collection — scripts run in shell/Python
- Deterministic — same input always produces the same filtered output
- Silent when empty — watchdog pattern: only notifies when there is something new
3. Relevance Scoring Engine
The filtering logic uses curated keyword lists to surface only matching opportunities:
RELEVANCE = [
"solana", "agent", "defi", "crypto", "trading", "blockchain",
"smart contract", "usdc", "usdt", "API", "web3", "rust", "python",
"typescript", "nft", "token", "dex", "amm", "oracle", "bridge",
"validator", "staking", "airdrop", "spl", "jupiter", "raydium",
"sdk", "CLI", "cli tool", "automation", "bot", "scraper",
"$", "reward", "prize", "earn", "grants",
]
all_text = title_lower + " " + " ".join(labels)
score = sum(1 for kw in RELEVANCE if kw.lower() in all_text)
4. Why Hermes Agent and Not a Regular Cron?
A regular cron job would just dump raw API output into a chat. Hermes Agent provides:
-
Delivery routing —
--deliver originensures output goes back to the right Telegram chat - State management — the agent maintains the cron lifecycle (pause, resume, remove, list)
- Memory — persistent cache for deduplication across sessions
-
Composability — cron jobs can chain (
context_from), allowing future expansion (e.g., a summarization job that reads the scanner output) -
Script-only mode —
no_agent: truelets us bypass the LLM entirely for mechanical data collection while still benefiting from the delivery infrastructure
5. Production Results
After weeks of continuous operation:
- Superteam: 15-25 active bounties per scan, 3-5 with AGENT_ALLOWED status
- GitHub: 5-10 relevant issues per scan, filtered from 30+ raw results
- Signal-to-noise: ~30% of fetched results pass the relevance filter
- Novelty detection: 2-4 new bounties per day flagged as new
How to Deploy It Yourself
git clone https://github.com/AtlasNexusOps/hermes-bounty-watcher.git
cp hermes-bounty-watcher/scripts/* ~/.hermes/scripts/
hermes cron add "every 360m" \
--name "Superteam Bounties" \
--script ~/.hermes/scripts/superteam_bounties.sh \
--no-agent \
--deliver origin
hermes cron add "every 180m" \
--name "GitHub Bounty Scan" \
--script ~/.hermes/scripts/github_bounties.sh \
--no-agent \
--deliver origin
Built with Hermes Agent, running on an Android phone, delivering value every day.
Top comments (0)