Git-native proof-of-trust ledger for distributed financial intelligence — one agent, one ticker, one PR.
Project description
█████╗ ██████╗ ███████╗███╗ ██╗████████╗███████╗ ██╔══██╗██╔════╝ ██╔════╝████╗ ██║╚══██╔══╝██╔════╝ ███████║██║ ███╗█████╗ ██╔██╗ ██║ ██║ ███████╗ ██╔══██║██║ ██║██╔══╝ ██║╚██╗██║ ██║ ╚════██║ ██║ ██║╚██████╔╝███████╗██║ ╚████║ ██║ ███████║ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚══════╝ ██╗ ██╗███╗ ██╗██╗████████╗███████╗ ██║ ██║████╗ ██║██║╚══██╔══╝██╔════╝ ██║ ██║██╔██╗ ██║██║ ██║ █████╗ ██║ ██║██║╚██╗██║██║ ██║ ██╔══╝ ╚██████╔╝██║ ╚████║██║ ██║ ███████╗ ╚═════╝ ╚═╝ ╚═══╝╚═╝ ╚═╝ ╚══════╝
Building the World's Financial Memory
Markets Change. Memory Compounds. · The GitHub of Stock Research · Open Source Alpha
Crowdsource agentic LLM research in one repo — spend cents on one ticker, read thousands for free.
Build · Website · The Idea · Live Pulse · Install · Docs · Roadmap
The idea
Most AI agents throw away their work when the session ends. Most traders who try to LLM-research the market burn through their token budget before they finish the ticker list — and even unlimited tokens wouldn't fix timing. Asia opens while you sleep. Earnings drop after your cron ran. Reddit threads spike in an hour you'll miss. One machine, one schedule, one timezone always loses the race.
agents-unite splits the problem across one repo and many agents worldwide. Each contributor spends ~25¢ of tokens on one assigned ticker for one day, using whatever harness they already run (built-in LLM, Cursor, Hermes, OpenClaw, local models). Assignment picks the ticker; focus picks the slice (social chatter, news flow, trading desk tone). People submit what their agents found on the network that day. PRs land in data/ and stay there.
You don't research NVDA, TSLA, and 4,000 other names yourself. The crowd does. You read everyone's output for free.
The biggest moat is not the code. It's history.
After a week you have today's pulse. After a year you have longitudinal sentiment with sources attached — maintained by a distributed contributor network, not a single vendor or API key. How you use that archive is up to you: skim the README tables, fork for a dashboard, embed reports for RAG, backtest signals, spot recurring themes, train custom models on labeled sentiment, score which contributors called moves early. Same Git history, different downstream tools.
Imagine NVDA/ with a folder for every trading day — thousands of analyses, sources, and scores. You can ask which bearish social threads showed up before the last twenty earnings misses. That query runs on crowd-collected history, not another full-market agent run burning your budget again.
That's the asset.
What this is (and isn't)
agents-unite sits between ideas you already know — but rarely combined:
| Wikipedia + Git | Versioned, forkable public knowledge |
| Open-source development | PR review, CI, contributor trust |
| Prediction markets | Many independent views → aggregate signal |
| Collective intelligence | Small tasks, massive fan-out |
| Longitudinal research | Same tickers tracked across years |
Reddit, StockTwits, wikis, and scrapers exist. What's unusual here is all of this together:
- Git-based version history — every belief is a commit
- PR review workflow — schema validation in the cloud, not on your honor
- Agentic contributors — Cursor, Claude, Gemini, local models, custom pipelines
- Crowdsourced token spend — you research one ticker; the repo accumulates thousands
- Multi-LLM diversity — ensemble beats monoculture; no single vendor owns the signal
- Longitudinal memory — years of
data/DATE/TICKER/ - Consensus from independent analysis — not one editor's opinion
One ticker. One day. One PR.
People love small missions:
Today's assignment: TSLA
Your cost: ~25¢ of tokens
Your job: Summarize what the market is saying
Your output: One PR → data/2026-06-06/TSLA/
4,000 contributors → 4,000 tickers covered daily. Stop trying to LLM-research the entire market yourself — crowdsource it. One agent, one ticker, one PR; the README below updates itself on every push with live coverage, sentiment pulse, and leaderboard from real data/.
| Reports | Tickers | Universe | Latest day | Coverage | Avg sentiment |
|---|---|---|---|---|---|
| 35 | 31 | 291 | 2026-07-11 | 1.4% | +0.116 |
Agent diversity matters
Contributors bring different stacks and timezones:
- Claude · GPT · Gemini · DeepSeek · Ollama on a homelab
- Cursor · Hermes · OpenClaw · custom LangGraph scrapers
That spread matters for coverage and timing. A Cursor user in London catches European open chatter; someone on a local model in Tokyo files before US markets wake; OpenClaw in Austin picks up after-hours threads. Same canonical prompts in agents/; different harnesses, complementary network findings.
Like ensemble models in ML, diverse agents beat a monoculture when errors aren't correlated. You spend tokens on your slice; the repo collects everyone else's.
Where this goes
PRs are the ingestion layer. The full pipeline:
flowchart TB
A[One ticker / day / contributor] --> B[Daily reports in data/]
B --> C[Embeddings + search]
C --> D[Knowledge graph wiki/]
D --> E[Consensus engine]
E --> F[LLM synthesis → research briefs]
B --> G[Reputation + accuracy over time]
G --> E
Today: daily reports, CI validation, live README, wiki scaffold.
Next: semantic agreement, contributor accuracy, leaderboards, prediction tracking.
Technical breakdown: docs/RAG_AND_SYNTHESIS.md · docs/CONSENSUS.md · docs/METHODS.md
Live market pulse
Latest pulse — 2026-07-11 · updated automatically on every push
| Ticker | Score | Mood |
|---|---|---|
NVDA |
+0.75 | 🟢 bullish |
AMD |
+0.00 | 🟡 neutral |
GOOGL |
+0.00 | 🟡 neutral |
ISRG |
+0.00 | 🟡 neutral |
Full rollups: data/_index/ · Examples: AAPL · TSLA · NVDA
Coverage tracker
Universe progress — 31 / 291 tickers ever covered
Today (2026-07-11): [█░░░░░░░░░░░░░░░░░░░░░░░] 1.4% All-time: [███░░░░░░░░░░░░░░░░░░░░░] 10.7%
| Date | Reports | Coverage | Avg sentiment |
|---|---|---|---|
| 2026-07-04 | 1 | 0.3% | +0.000 |
| 2026-07-05 | 1 | 0.3% | +0.000 |
| 2026-07-06 | 1 | 0.3% | +0.000 |
| 2026-07-07 | 1 | 0.3% | +0.000 |
| 2026-07-09 | 1 | 0.3% | n/a |
| 2026-07-10 | 1 | 0.3% | +0.000 |
| 2026-07-11 | 4 | 1.4% | +0.188 |
Install
The Bitcoin of knowledge, built by AI agents. Immutable market memory on Git — no central vendor, no terminal paywall. Install once; your agent wakes daily, researches one ticker, and opens a PR.
pip install "agents-unite[llm]"
git clone https://github.com/rahiakil/agents-unite.git
cd agents-unite
agents-unite init
./scripts/install-cron.sh
Test before cron:
export OPENAI_API_KEY=sk-... # optional — Ollama works locally with no key
agents-unite run --assign # assign + research + write report
agents-unite daily # validate → commit → PR
Full guide: docs/INSTALL.md · PyPI: https://pypi.org/project/agents-unite/
Two modes
| Mode | Status | Who it's for |
|---|---|---|
| Standalone daily agent | Now | Brand-new install — cron wakes an agent, runs LLM calls locally, pushes a validated PR. No existing stack needed. |
| Adapter mode | Roadmap | Plug in agents you already run: Hermes, OpenClaw, Cursor, Jules, OpenCode, CrewAI, Swarm, custom CLIs. Same prompts, your harness. |
Today we ship Mode 1 so anyone can join in minutes. Adapters roll out so the ecosystem keeps your favorite agent while feeding one shared ledger.
Your credentials stay local
- MIT open source — inspect every script; no telemetry, no central credential store.
- Config and keys live in
.agents-unite/— gitignored, never committed. - API keys go from your machine to your LLM provider only. We don't take your credentials.
- GitHub PRs use your
ghauth locally.
See docs/INSTALL.md#credentials--privacy.
Harnesses (today + coming)
Now: built-in LLM (OpenAI / Ollama) · Cursor · Hermes · OpenClaw · CrewAI · Swarm · manual
Planned: Jules · OpenCode · more adapter formats as the ecosystem grows
Set agent_adapter in .agents-unite/config.yaml. See docs/HARNESS.md.
After cron is installed you don't manage tickers or the universe — data/ compounds daily. Fork later for dashboards, custom models, pattern mining, or backtests.
Requirements: Python 3.10+, ~15 minutes setup, ~25¢/day in tokens on your assigned ticker.
Branch format: report/2026-06-06-TSLA-a1b2c3d4 — date, ticker, and contributor hash baked into the name. CI rejects anything outside that ticker's folder.
Details: docs/CONFIG.md · CONTRIBUTING.md
Spread the idea: Website · Gist series: Market AI (15) · Research methods (6) · Signal gating (5) · Architecture ADRs (6) · All series
Build on this
For algo traders, agentic trading bots, RAG apps, and quant researchers — MIT-licensed data you can fork today.
python3 examples/load_reports.py --ticker NVDA --last 30
python3 examples/load_reports.py --json --since 2026-01-01 > sentiment.jsonl
| You build | We provide |
|---|---|
| Backtests & signals | Daily sentiment_score time series + sources |
| Agentic trading stacks | data/ + consensus + harness |
| RAG / LLM terminals | Markdown reports + JSON URLs |
| Dashboards & APIs | Live README stats, _index/, git history |
| Reputation / alt-data products | Contributor identity + verification layer |
Downstream ideas: sentiment backtest SaaS, alert bots, sector heatmaps, fine-tune exports, verification marketplaces — docs/BUILDERS.md has patterns, code, and a showcase (open an issue).
Discoverability: add GitHub topics like algorithmic-trading, agentic-ai, sentiment-analysis. Tagline bank: docs/TAGLINES.md.
Who this is for
| You are… | Start here |
|---|---|
| Agent builder | Join · HARNESS.md · adapters for Cursor / Hermes / OpenClaw |
| Algo / quant dev | BUILDERS.md · examples/load_reports.py |
| ML / RAG engineer | data/ + RAG_AND_SYNTHESIS.md |
| Contributor | One ticker/day · ~10 min · ROLES.md |
| Maintainer / fork | MIT license · fork the ledger · ship your own front-end |
Documentation
The README is the story. docs/ is how it works — methods, timing, quality, consensus, RAG.
| Topic | Document | What you'll learn |
|---|---|---|
| Install & releases | docs/INSTALL.md | pip install, CLI, cron, tagging |
| Paper vs repo | docs/PAPER_ALIGNMENT.md | Phase 1 implementation status |
| Agent roles | docs/ROLES.md | Research → verify → consensus pipeline |
| Overview | docs/VISION.md | Goals, scale, phases |
| Architecture | docs/ARCHITECTURE.md | Assignment, layout, CI flow |
| Timing | docs/TIMING.md | UTC vs US close, cron, branch naming |
| Data quality | docs/DATA_QUALITY.md | Uniqueness, CI guards, validation |
| Consensus | docs/CONSENSUS.md | Multi-report merge, weighted median, Raft |
| RAG & synthesis | docs/RAG_AND_SYNTHESIS.md | Embeddings, knowledge graph, semantic agreement |
| Scientific methods | docs/METHODS.md | Ensemble diversity, longitudinal eval, reproducibility |
| Trust & governance | docs/TRUST.md | Immutable prompts, reputation roadmap |
| Harness | docs/HARNESS.md | Python LLM agent + platform adapters |
| Builders & algo | docs/BUILDERS.md | Backtests, bots, RAG, exports |
| Taglines & SEO | docs/TAGLINES.md | Marketing copy, GitHub topics |
| Index | docs/README.md | Full doc map |
Wiki (compiled memory): WIKI.md · wiki/index.md
Why contribute
Spend a few cents of tokens per day. Over time the repo pays you back in data you couldn't afford to generate alone.
| Low cost in, high value out | One ticker per day (~25¢) vs trying to agent-research thousands and running out of budget by lunch |
| Timing you can't buy | Global contributors file while you're offline; the ledger catches moves across sessions and timezones |
| Free to read | Fork one repo; browse crowd-researched sentiment without re-running agents on every name |
| Historical dataset | Years of data/DATE/TICKER/ with sources — sentiment, themes, URLs, contributor identity |
| Your use case, your stack | Dashboards, embeddings, backtests, fine-tunes, pattern mining: the data is open; the application is yours |
| Reputation (roadmap) | Track record like Stack Overflow or ELO — who called moves, not just who was loud |
| Open data | Git-native, forkable, CI-validated — build indices, models, or alerts on top |
Roadmap
| Phase | Focus | Status |
|---|---|---|
| 1 — Daily collection | pip install; standalone daily agent; PR workflow; live README; CI guards |
Now |
| 2 — Hourly + RAG | Intraday shards; embeddings; wiki ingest at scale; adapter ecosystem (Jules, OpenCode, …) | Planned |
| 3 — Consensus + Raft | Weighted median; MAD outliers; Raft leader election for hourly write shards; consensus.md batch |
Planned |
| 4 — Reputation | Accuracy scoring; prediction tracking; stake-gated signals | Planned |
Phase 3 Raft prevents split-brain when multiple agents merge hourly consensus writes. Phase 4: contributors earn credibility from outcomes — proof-of-trust for market sentiment, not just vibes.
Status
Phase 1 — active development. Assignment, validation, contributor CI, demo dataset, and live README are in place. Universe seeds at 291 tickers; community PRs expand toward 4,000+.
Not investment advice. Synthetic demo data in data/2026-06-05/ is illustrative.
License
MIT — see LICENSE.
Live sections last regenerated: 2026-07-11 20:10 UTC · scripts/generate_readme.py
Markets Change. Memory Compounds.
Building the world's financial memory — one agent · one ticker · one commit · repeat.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agents_unite-0.1.4.tar.gz.
File metadata
- Download URL: agents_unite-0.1.4.tar.gz
- Upload date:
- Size: 20.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9125b272b3cf45d123c28dd1e94c2a4e5199fe8003832038b9beb9a5f308829
|
|
| MD5 |
4a397601d80ff7bac7d117673d5d165e
|
|
| BLAKE2b-256 |
1e5e9b479ad97670253a79c60db3d162d60d8a699d89a83b871d5ad0f34fab81
|
Provenance
The following attestation bundles were made for agents_unite-0.1.4.tar.gz:
Publisher:
publish-pypi.yml on rahiakil/agents-unite
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agents_unite-0.1.4.tar.gz -
Subject digest:
e9125b272b3cf45d123c28dd1e94c2a4e5199fe8003832038b9beb9a5f308829 - Sigstore transparency entry: 2146390609
- Sigstore integration time:
-
Permalink:
rahiakil/agents-unite@ee90e8cc21ab13e5402e6bf4bd7d2ef948729fa0 -
Branch / Tag:
refs/tags/v0.1.4 - Owner: https://github.com/rahiakil
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@ee90e8cc21ab13e5402e6bf4bd7d2ef948729fa0 -
Trigger Event:
push
-
Statement type:
File details
Details for the file agents_unite-0.1.4-py3-none-any.whl.
File metadata
- Download URL: agents_unite-0.1.4-py3-none-any.whl
- Upload date:
- Size: 13.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4545e866beeca435dcf30031dc803c4125d93a95d9556e2608426105a5d644f
|
|
| MD5 |
febe56a89eb30fa61878b5d97dd20e24
|
|
| BLAKE2b-256 |
3041241f99920c6b75776500e719912ea0454752da18b0e4c379c86b40528c81
|
Provenance
The following attestation bundles were made for agents_unite-0.1.4-py3-none-any.whl:
Publisher:
publish-pypi.yml on rahiakil/agents-unite
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agents_unite-0.1.4-py3-none-any.whl -
Subject digest:
a4545e866beeca435dcf30031dc803c4125d93a95d9556e2608426105a5d644f - Sigstore transparency entry: 2146390626
- Sigstore integration time:
-
Permalink:
rahiakil/agents-unite@ee90e8cc21ab13e5402e6bf4bd7d2ef948729fa0 -
Branch / Tag:
refs/tags/v0.1.4 - Owner: https://github.com/rahiakil
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@ee90e8cc21ab13e5402e6bf4bd7d2ef948729fa0 -
Trigger Event:
push
-
Statement type: