About this project
## Overview
`robinhood_screener` is an **alert-only** memecoin screener for **Robinhood Chain** (chainId 4663), rebuilt as an EVM port of a Solana-based system. It discovers new tokens from factory logs, rejects rugs, honeypots, and serial deployers, ranks survivors, and alerts the top tier with a pre-computed size/stop/take-profit plan. It also maintains a ledger of forward returns, uses non-alerted survivors as a silent control, simulates the alerted book at real router quotes, and re-scores exit/entry policies weekly behind statistical gates.
**It never touches keys or funds. Nothing here is financial advice.**
## Honest Performance Context
The system's prior Solana run (two months) showed negative expectancy: A-tier (best survival odds) had 0/16 positive at 7 days, winners peak ~4h after entry and give back 80% by 24h, and no exit policy beats "sell instantly" (the best was the negative control at -3.45%, which equals round-trip cost). The screen's job is to tell you not to scale, not to predict ROI.
## Key Features
- **Discovery**: Reads UniswapV2 `PairCreated`, Flap `TokenCreated`, V3 `PoolCreated`, and V4/launchpad logs (Bankr/Doppler, Pons) to find new tokens.
- **Hard Gates**: Two-pass filtering using market data, chain facts (owner renounced, LP burned, honeypot round trip), and external sources (Dexscreener, GeckoTerminal, Blockscout, ScanHood, RobinX, KyberSwap, GMGN). Pass-through rule: a source that is dark/rate-limited passes through but is named.
- **Entry Bands**: Pure functions that score survivors; champion band alerts (currently `band_volume_early`: age ≤30min, volume ≥$50k, liquidity ≥$10k, mcap ≤$2M, buys ≥2× sells). A-tier = early, heavily traded, buyer-dominated, past all hard gates.
- **Ledger & Control**: Every survivor is ledgered as an event; A (alerted) vs B (silent control) scorecard tests if the band adds signal.
- **Exit Policies**: 16 policies + 2 negative controls run live on paper fills; weekly gate (7 checks) promotes only if statistically better than controls.
- **Paper Trading**: Every alert and exit is filled at real router quotes (V2 router, Kyber, ScanHood) with $10 size; execution costs are measured (≈2.3% all-in on V2).
- **Self-Improvement**: Sunday headless Claude session proposes new entry/exit candidates; only merged if they pass invariant tests and statistical gates.
- **Deployment**: GitHub Actions keeper job (self-chaining, 240s cadence) with watchdog; Mac runs weekly improve/research jobs.
## Architecture
- `config.py`: All thresholds, weights, paths, credentials.
- `screen.py`: Pure gate/score functions.
- `run.py`: One-shot cloud scan pipeline.
- `ledger.py`: Event rows, forward returns, scorecard.
- `alerts.py`: Delivery (macOS/ntfy/Telegram).
- `quotes.py`: Paper fill quotes.
- `paper_exec.py`: Paper A book.
- `dashboard.py`: Static HTML dashboard.
- `verify.py`: Invariant test suite.
- `sources/`: Vendor adapters (RPC, Blockscout, etc.).
- `selfimprove/`: Exit/entry loops, candidates, research.
## Usage
```bash
python3 verify.py # run tests
python3 run.py # dry run
python3 run.py --commit # write data, no alerts
python3 run.py --send # write and alert
python3 ledger.py # A vs B scorecard
python3 paper_exec.py # paper book
```
## Honest Limitations
- Negative expectancy is acknowledged; the screen is a risk-management tool.
- LP-burn and round-trip checks are exact only for UniswapV2 pairs; V3/V4/launchpad tokens have unknown LP status.
- Some Solana gates (insider clustering, freeze authority) have no EVM analogue.
- Real automated trading is justified only if the paper scorecard is repeatedly positive.
## License
Not specified in the repository.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.