Warning
Experimental — exploration / toy examples only. This is a research spike to explore the Ethereum Access Layer privacy stack (Helios + Tor + Kohaku provider), not a product. Expect rough edges, breaking changes, and incomplete pieces. Do not use in production or rely on it for anything serious. No guarantees of correctness, security, or maintenance.
Verifiable, private RSS for Ethereum. Subscribe to a contract's events in any RSS reader and get a feed where every item is verifiable — proven against the consensus sync committee, not trusted from an RPC — and fetched privately, with the watcher's queries routed over Tor.
Demo target: Tornado Cash deposit/withdrawal events.
upstream RPC (untrusted)
│ ← routed through Tor (tor-js / Arti-in-WASM) ← hides who's asking
Helios light client (@kohaku-eth/provider)
│ verifies eth_getLogs against the block receiptsRoot
Watcher ── filters: contract addresses + event topics
│
Feed ── signed Atom/JSON, each item carries a re-checkable proof
└──► `argus verify` ── "don't trust my feed, check it against mainnet yourself"
Most on-chain monitoring trusts an RPC provider to tell the truth and leaks to that provider exactly which contracts you watch. Argus removes both assumptions.
Plenty of tools turn on-chain activity into RSS. What they can't do is let you distrust them: you take their word that the event happened.
Argus ships the proof inside the feed. Every item carries a light-client inclusion
proof anchored to the sync-committee-signed block header (the Helios path, not an
RPC-returned root), so any subscriber can run argus verify <item> and check it against
mainnet — the feed operator is untrusted. And the feed is fetched over Tor, so subscribing
leaks nothing about what you watch.
The novel part isn't RSS — it's a verifiable, private feed on the most boring, universal subscription surface there is. Closest neighbors: Helios (trustless event verification, but as an RPC) and Herodotus (log proofs, but webhook-to-contract). Argus is proof-carrying events for a human in any RSS reader.
Argus doesn't claim to have invented verifiable Ethereum access or inclusion proofs — those primitives exist. The new part is welding them onto a standard syndication feed and shipping the proof inside each item.
- IS: read-only indexing of public, immutable on-chain event logs, republished as a signed and independently-verifiable feed.
- IS NOT: it does not interact with any protocol, does not deposit or withdraw, and does not deanonymize anyone. It adds observability for the watcher and privacy for the watcher — never the reverse. The Tornado Cash contracts it reads were OFAC-delisted in March 2025; reading public event logs is neutral, lawful activity.
Argus is deliberately a thin integration over Ethereum's emerging privacy stack — it's a reference consumer, not a reimplementation.
| Component | Package | Role |
|---|---|---|
| Light client provider | @kohaku-eth/provider |
EIP-1193 abstraction; verifies logs |
| Light client | @a16z/helios |
verifies eth_getLogs vs receiptsRoot |
| Network privacy | tor-js |
Arti (Tor) in WASM; fetch() over Tor |
| Stateless client (alt) | @corpus-core/colibri-stateless |
candidate portable-proof source |
| Event decoding | viem |
ABI decode |
Experimental / exploratory. Toy examples, not production software. M1 works today: Helios (via the Kohaku provider) returns verified Tornado Deposit/Withdrawal events, optionally with all RPC egress over Tor.
| Milestone | State |
|---|---|
| M1 — verified events via Helios + Kohaku provider, Tor egress | ✅ working |
| M2 — portable, re-checkable proof per event | next |
M3 — argus verify standalone verifier |
planned |
| M4 — signed Atom/RSS + JSON feed | planned |
| M5 — ChainFetch-aligned pluggable transport | planned |
| M6 — docs / CI / hosted feed | planned |
See SCOPE.md for the full design.
pnpm install
# dev mode (direct RPC, no Tor) — fastest
ARGUS_TOR=0 ARGUS_LOOKBACK=300 pnpm argus
# with Tor egress (Arti bootstrap; raise the fd limit for the wasm-file store)
ulimit -n 8192
ARGUS_LOOKBACK=200 pnpm argusEnvironment:
| Var | Default | Meaning |
|---|---|---|
ARGUS_TOR |
1 |
0 disables Tor (dev mode) |
ARGUS_LOOKBACK |
2000 |
blocks to scan back from head (≤ ~8191, Helios verified-logs window) |
ARGUS_EXECUTION_RPC |
publicnode | upstream execution RPC |
ARGUS_CONSENSUS_RPC |
publicnode beacon | beacon light-client data |
ARGUS_CHECKPOINT |
— | trusted weak-subjectivity checkpoint (faster sync) |
MIT