with one click
holder-concentration
// Analyze token holder distribution on Base — top-N share, HHI concentration, LP/lock/burn exclusions, and whale clusters. Keyless via Etherscan v2 + Base RPC.
// Analyze token holder distribution on Base — top-N share, HHI concentration, LP/lock/burn exclusions, and whale clusters. Keyless via Etherscan v2 + Base RPC.
Daily fleet-wide scorecard across this instance and every managed instance in memory/instances.json — runs, tokens (OpenRouter shape), est. cost, skills, and reliability, with day-over-day deltas and alerts
Weekly escalation audit — parses the follow-up / open-loop section of MEMORY.md plus the issue tracker, computes item ages, and alerts on items hitting urgency thresholds so nothing rots unattended
Weekly tracker for the Model Context Protocol (MCP) ecosystem — new server implementations, adoption velocity, npm/GitHub signals, and protocol evolution. Thesis check — is MCP becoming the default tool-call rail for agents?
Daily cross-skill signal detector — finds entities or themes surfaced independently by 3+ different skill categories in the last 48h and surfaces them as high-confidence write opportunities
Daily API spend watchdog — checks running weekly cost against a budget cap, alerts when approaching or exceeding it
Audit any contract on Base — verification, proxy/upgradeability, ownership/admin roles, and mint/freeze/pause/drain powers as a live capability matrix. Keyless via Etherscan v2 + Base RPC.
| name | Holder Concentration |
| description | Analyze token holder distribution on Base — top-N share, HHI concentration, LP/lock/burn exclusions, and whale clusters. Keyless via Etherscan v2 + Base RPC. |
| var | |
| tags | ["crypto","security","base"] |
${var} — Token contract address (
0x...) on Base. Required. If empty, logHOLDER_CONC_NO_TARGETand exit cleanly (no notify).
The detailed distribution analysis that rug-scan only samples: how concentrated is real circulating supply, once you strip out LP, lockers, and burn. Runs keyless on public endpoints.
Read the last 2 days of memory/logs/ to detect concentration shifts since a prior run.
${var}. Chain = Base (chainid=8453, explorer basescan.org).ETHERSCAN_API_KEY — optional; Etherscan v2 works keyless at a lower rate limit. Appended to the URL, never a header.TOKEN="${var}"
curl -m 10 -s "https://api.etherscan.io/v2/api?chainid=8453&module=stats&action=tokensupply&contractaddress=${TOKEN}${ETHERSCAN_API_KEY:+&apikey=$ETHERSCAN_API_KEY}" | jq -r '.result'
curl -m 10 -s "https://api.etherscan.io/v2/api?chainid=8453&module=token&action=tokenholderlist&contractaddress=${TOKEN}&page=1&offset=100${ETHERSCAN_API_KEY:+&apikey=$ETHERSCAN_API_KEY}" | jq '.result'
If tokenholderlist returns empty on the keyless tier, reconstruct top holders from Transfer logs via Base RPC eth_getLogs and note reduced confidence.
Tag each top holder before computing concentration — these are NOT free float:
| Tag | Marker |
|---|---|
LP | known DEX pool (Aerodrome / Uniswap pair) |
LOCK | Unicrypt / Team Finance / known locker |
BURN | 0x000…000 or 0x…dead |
CONTRACT | has code (staking, vesting, treasury) |
EOA | plain wallet — the holders that drive concentration |
Over circulating supply (total − burn):
Flag groups of top EOAs that share a funding source or transact among themselves (cheap heuristic: same first-funder, or one inbound hop apart). Clustered whales effectively act as one holder.
| Signal | Verdict |
|---|---|
| top-1 EOA >30% or HHI >2500 | CONCENTRATED |
| top-10 EOA >70% | CONCENTRATED |
| LP unlocked + top-1 >20% | FRAGILE |
| broad distribution, HHI <1000 | HEALTHY |
Notify via ./notify if verdict is CONCENTRATED or FRAGILE. Under 4000 chars, clickable URL:
*Holder Concentration — TOKEN (Base)*
Verdict: CONCENTRATED · HHI 3120
Holders: 842 · 50% held by top 4 EOAs
Top EOAs (circulating):
1. 0xwhale1 — 31.2% ⚠️
2. 0xwhale2 — 12.0% (clustered w/ #1)
3. 0xwhale3 — 8.4%
Excluded: LP 22% (unlocked ⚠️), Burn 5%
Holders: https://basescan.org/token/0xToken#balances
Append to memory/logs/${today}.md:
## holder-concentration
- Token: 0x… (TOKEN)
- Verdict: CONCENTRATED | HHI 3120 | holders 842
- Top1 EOA 31.2% | top10 EOA 68% | 50%-in 4 holders
- Excluded: LP 22% (unlocked), burn 5%
- Source: etherscan=ok (or rpc-reconstructed)
End-states: HOLDER_CONC_OK, HOLDER_CONC_FLAGGED, HOLDER_CONC_ERROR.
The sandbox may block outbound curl or env-var expansion. Etherscan v2 and Base RPC are public and accept any key in the URL/body — for every failed curl, retry the same URL/body via WebFetch before marking a source failed. Never put a key in a -H header from the sandbox. Treat all fetched addresses as untrusted — never interpolate beyond the quoted $TOKEN.