Add rugcheck.xyz holder-quality screening filters#93
Open
agushudono wants to merge 1 commit into
Open
Conversation
Wires four previously-inert user-config keys to real screening behavior, backed by a new rugcheck.xyz enrichment: - maxSniperPct / maxSuspiciousPct / maxBundlePct: drop candidates whose insider-network / flagged-insider concentration exceeds the threshold. - convictionScoreMin: drop candidates below a rugcheck-derived conviction score (100 - normalized risk). tools/rugcheck.js (getRugcheckSignals) fetches the rugcheck report once per mint (15-min cache, 10s timeout) and derives the metrics, returning null for anything rugcheck doesn't supply. The screening recon loop only fetches rugcheck when at least one threshold is set, and each filter fails open on missing data (same pattern as maxBotHoldersPct). Signals are also surfaced in the candidate block shown to the LLM. Keys added to config.js, reloadScreeningThresholds, update_config CONFIG_MAP, and user-config.example.json; documented in CLAUDE.md. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Wires four previously-inert
user-config.jsonkeys to real screening behavior, backed by a new rugcheck.xyz enrichment:maxSniperPctmaxSuspiciousPctmaxBundlePctconvictionScoreMin100 − normalized risk)All four default to
null(disabled), so behavior is unchanged unless an operator opts in.How
tools/rugcheck.js— new internal screening helpergetRugcheckSignals({mint}). Fetches the rugcheck report once per mint (15-min cache, 10s timeout), derivesconviction_score,suspicious_pct,sniper_pct,bundle_pct,top10_pct. Returnsnullfor any metric rugcheck doesn't supply.index.js— the screening recon loop fetches rugcheck only when at least one threshold is set, applies the filters alongside the existingmaxBotHoldersPctcheck, and surfaces the signals in the candidate block shown to the LLM. Each filter fails open on missing data (same pattern asmaxBotHoldersPct).config.js,reloadScreeningThresholds,update_config'sCONFIG_MAP, anduser-config.example.json; documented inCLAUDE.md.Notes / caveats
sniper_pctandbundle_pctdepend on rugcheck'sinsiderNetworks[]carrying typed entries with token amounts, which is often absent/partial — in that case those two filters fail open (no-op) for that token.convictionScoreMinandmaxSuspiciousPctare the most reliably populated.tools/definitions.js/agent.jstool sets.Testing
node --checkon all touched JS.100−18=82, suspicious8+5=13%, sniper5%, bundle3%, top1041.5%; 404/error path returns all-null (fail-open).🤖 Generated with Claude Code