Sobre o projeto

## Visão Geral `robinhood_screener` é um screener de memecoins **apenas para alertas** para a **Robinhood Chain** (chainId 4663), reconstruído como uma porta EVM de um sistema baseado em Solana. Ele descobre novos tokens a partir de logs de fábrica, rejeita rugs, honeypots e implantadores seriais, classifica os sobreviventes e alerta o nível superior com um plano pré-calculado de tamanho/stop/take-profit. Também mantém um registro de retornos futuros, usa sobreviventes não alertados como controle silencioso, simula o livro alertado com cotações reais do roteador e reavalia políticas de saída/entrada semanalmente por trás de portões estatísticos. **Ele nunca toca em chaves ou fundos. Nada aqui é aconselhamento financeiro.** ## Contexto Honesto de Desempenho A execução anterior do sistema em Solana (dois meses) mostrou expectativa negativa: o nível A (melhores chances de sobrevivência) teve 0/16 positivos em 7 dias, os vencedores atingem o pico ~4h após a entrada e devolvem 80% em 24h, e nenhuma política de saída supera "vender instantaneamente" (a melhor foi o controle negativo em -3,45%, que equivale ao custo de ida e volta). O trabalho do screen é dizer para você não escalar, não prever ROI. ## Principais Recursos - **Descoberta**: Lê logs UniswapV2 `PairCreated`, Flap `TokenCreated`, V3 `PoolCreated` e V4/launchpad (Bankr/Doppler, Pons) para encontrar novos tokens. - **Portões Rígidos**: Filtragem em duas passagens usando dados de mercado, fatos da cadeia (owner renunciado, LP queimado, ida e volta de honeypot) e fontes externas (Dexscreener, GeckoTerminal, Blockscout, ScanHood, RobinX, KyberSwap, GMGN). Regra de passagem: uma fonte escura/limitada por taxa passa, mas é nomeada. - **Faixas de Entrada**: Funções puras que pontuam sobreviventes; a faixa campeã alerta (atualmente `band_volume_early`: idade ≤30min, volume ≥$50k, liquidez ≥$10k, mcap ≤$2M, compras ≥2× vendas). Nível A = cedo, muito negociado, dominado por compradores, passou por todos os portões rígidos. - **Registro e Controle**: Todo sobrevivente é registrado como evento; o placar A (alertado) vs B (controle silencioso) testa se a faixa adiciona sinal. - **Políticas de Saída**: 16 políticas + 2 controles negativos rodam ao vivo em preenchimentos em papel; portão semanal (7 verificações) promove apenas se estatisticamente melhor que os controles. - **Paper Trading**: Todo alerta e saída é preenchido com cotações reais do roteador (roteador V2, Kyber, ScanHood) com tamanho de $10; os custos de execução são medidos (≈2,3% no total na V2). - **Autoaperfeiçoamento**: Sessão headless do Claude no domingo propõe novos candidatos de entrada/saída; só são mesclados se passarem em testes invariantes e portões estatísticos. - **Implantação**: Job keeper do GitHub Actions (autoencadeado, cadência de 240s) com watchdog; o Mac executa jobs semanais de melhoria/pesquisa. ## Arquitetura - `config.py`: Todos os limites, pesos, caminhos, credenciais. - `screen.py`: Funções puras de portão/pontuação. - `run.py`: Pipeline de varredura em nuvem de disparo único. - `ledger.py`: Linhas de evento, retornos futuros, placar. - `alerts.py`: Entrega (macOS/ntfy/Telegram). - `quotes.py`: Cotações de preenchimento em papel. - `paper_exec.py`: Livro A em papel. - `dashboard.py`: Painel HTML estático. - `verify.py`: Suíte de testes invariantes. - `sources/`: Adaptadores de fornecedores (RPC, Blockscout, etc.). - `selfimprove/`: Loops de saída/entrada, candidatos, pesquisa. ## Uso ```bash python3 verify.py # executar testes python3 run.py # execução a seco python3 run.py --commit # gravar dados, sem alertas python3 run.py --send # gravar e alertar python3 ledger.py # placar A vs B python3 paper_exec.py # livro em papel ``` ## Limitações Honestas - A expectativa negativa é reconhecida; o screen é uma ferramenta de gestão de risco. - As verificações de queima de LP e ida e volta são exatas apenas para pares UniswapV2; tokens V3/V4/launchpad têm status de LP desconhecido. - Alguns portões do Solana (agrupamento de insiders, autoridade de congelamento) não têm análogo em EVM. - Negociação automatizada real só se justifica se o placar em papel for repetidamente positivo. ## Licença Não especificada no repositório.