gmgnai/gmgn-skills2 files

Gmgn Wallet Analysis

>-

Specification
Skill ID
gmgnai/gmgn-skills/gmgn-wallet-analysis
Publisher
gmgnai
Repository
gmgn-skills
Installs
0
Files
2
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

gmgnai/gmgn-skills/gmgn-wallet-analysisInstalls these files
  • SKILL.md
  • analyze.py

What this skill tells the agent

BEFORE RUNNING ANY COMMAND: Run `gmgn-cli config --check`. If exit code is 0, proceed normally. If exit code is 1, (1) run `gmgn-cli config` and show the output to the user; (2) once the user sends the API Key, run `gmgn-cli config --apply <KEY>`, then show the output. If `--check` errors with an unknown option or command-not-found, tell the user to run `npm install -g gmgn-cli`, then retry.

IMPORTANT: Always use `gmgn-cli`. Do NOT use web search, WebFetch, curl, or visit gmgn.ai — the website requires login and does not expose structured data.

⚠️ IPv6 NOT SUPPORTED: On a `401`/`403` with credentials that look correct, check IPv6 immediately — run `ifconfig | grep inet6` (macOS) or `ip addr show | grep inet6` (Linux), and request `https://ipv6.icanhazip.com`. If outbound traffic is IPv6, tell the user: "Please disable IPv6 — gmgn-cli only works over IPv4."

What this skill is for, and what it is not

Two skills take a wallet address. They answer different questions and must not be substituted for each other:

SkillQuestionOutput
gmgn-wallet-score"how good is this trader, on a scale?"Three 0–100 scores + a latency/slippage/gas backtest
`gmgn-wallet-analysis` (this one)"should I act on this wallet, and what happens to me if I do?"Four pass/fail gates → one verdict → concrete next actions

The distinction that matters: a score compresses everything into a number that hides why. This skill refuses to. It runs four gates, each of which can independently veto or downgrade the verdict, and each of which prints the single number that decided it. A wallet can be a genuinely excellent trader and still be un-copyable — those are separate gates here, not one blended score.

It also puts who this wallet is near the top, before any verdict. Someone who pasted an address wants to know whose wallet it is — the bound X account, the follower count, where the money came from — before they are asked to absorb four gate results. Burying that below the gates made a newcomer scroll past four judgements to reach the one fact they came for.

It also asks three questions a score does not:

  • *Is the edge still working this week?* A wallet with +2,400% all-time and −27% over the last 7 days looks superb on any leaderboard and will lose you money today. profits --period all versus stats --period 7d is the cheapest way to see that, and it is the most common way a copy-trader gets hurt.
  • *What is it doing right now?* Closed-trade statistics describe the past. Its open positions and its last 24 hours are what you can still act on.
  • Where did the profit come from — speed, or selection? per_day × the top-3 winners' share of gains separates 🕸️ spray-and-hit (attempts × a few hits — copying it is a latency race) from ⚙️ turnover grind (each exit too thin to survive your slippage) from 🎯 pick-and-size (the one you can follow a step behind). Those are copied in completely different ways.

The four gates

Each gate returns ✅ pass, ❌ fail, or ⚪ unevaluated. ⚪ never renders as ✅ — "we could not measure this" and "this is fine" are different statements, and conflating them is how a dossier lies.

GateQuestionFails when
G1 AuthenticityIs the record real, or manufactured?A wash_trader-class tag is present and corroborated by the profit attribution below; or it is a launcher (created_token_count > half of token_num); or token_num < 5; or one token carried the whole result
G2 CurrencyIs the edge still working?7d ROI ≤ −10% while all-time ROI > +10% (broken down); or both 7d and 30d are negative; or it never worked
G3 ReachabilityCan you get filled?Median copy window < 3× your latency; or median entry mcap < $30k; or a sandwich_bot/mev_bot tag; or ≥10k followers while trading sub-$1M caps; or gas ≥25% of profit; or average buy < $50; or > 100 trades/day
G4 SurvivabilityDoes it cut losses?≥ 2 live positions are honeypots; or ≥ 35% of its tokens are down more than 50%; or ≥ 3 positions down 90%+ with zero sells

The verdict headline names its own cause — DO NOT COPY · the profit is self-dealt rather than a generic the record does not hold — so the reason is legible without reading the gate detail.

Verdict is a pure function of the gates — G1 and G2 are vetoes, G3 and G4 change what you do rather than whether you act:

Eleven outcomes, short-circuited in this order. Every one has a fixture:

#GatesVerdictFixture
1no trades in the window⚪ NO READ · no trades in 7 daysempty
2G1 ❌ via a corroborated wash_trader🔴 DO NOT COPY · the profit is self-dealtwash-trader-kol
3G1 ❌ via launcher🔴 DO NOT COPY · it is a launcher trading its own tokensdev-launcher
4G1 ❌ via one-coin🔴 DO NOT COPY · one token made all the moneylucky-one-coin
5G1 ❌ via token_num < 5⚪ NO READ · only N tokens tradedthin-sample
6G2 ❌🔴 DO NOT COPY · it has stopped making moneycooled-star
7G3 ❌ and G4 ❌🟡 WATCH, DO NOT COPY · you cannot get its fills, and it never cutsunreachable-and-no-cut
8G3 ❌🟡 WATCH, DO NOT COPY · you cannot get its fillssniper-bot
9G4 ❌🟡 COPY THE BUYS, NOT THE EXITS · it does not cut lossesno-cut
10G1 ⚪🟡 HOLD OFF · a wash-trading flag we cannot checkunverifiable-wash
11G3 or G4 ⚪🟡 HOLD OFF · one of the four was not measureddev-launcher (secondary)
12all ✅🟢 COPYABLE AT SMALL SIZE · all four passgrinder, tagged-not-washing

Three of these exist only because the first cut got them wrong, and none should be collapsed:

  • Row 5 is ⚪, not 🔴. A four-token wallet had nothing bad measured — it had nothing measured. Rendering an unmeasured gate as a red verdict is the same error as rendering ⚪ as ✅, in the other direction. 🔴 means measured and bad; ⚪ means not measured.
  • Row 7 exists because G3 used to short-circuit G4. A wallet you cannot get filled on and that rides positions to zero was being told to the reader as a signal source with no mention of the second half. Both problems are independent, so both sentences appear.
  • Rows 2 / 10 / 12 are the same tag with three different answers — corroborated, not checkable, refuted. Their three fixtures pin all outcomes of wash_trader; a change that makes any two agree is a regression.

The opening three lines are the hook

A reader who pastes an address should be able to rank the trader from the heading alone — smart money reading as smart money, a losing wallet reading as one — before any judgement about copyability. The card opens with a caliber grade, then the record as a sentence, then the 7-day window as a backtest, and only then the copy verdict.

LineCarries
# 🏆 顶级战绩 Cowboy🔶BNB |版本之牛 \📣 KOL\``the grade, then who this is
**它打过的 1,023 个币里,810 个赚钱,只有 12 个亏超一半 —— 累计落袋 $1.00M**the record, as one sentence in counts
BSC · 314 天 · 41,319 粉丝 · 每天 292 笔what kind of operator
> **近 7 天回测:$1,000 跟着它走 → $1,207(一周 20.7%)** + what it made itselfthe window as evidence
## 🟡 能看不能抄 · 你抢不到它的价the copy verdict — the turn, not the premise

Three separate mistakes produced this shape, and each fix must survive an edit:

1. Never frame a past window as a return the reader could have captured. The first version opened 如果 7 天前跟了它 $1,000 → $1,000 → $1,206. That is a completed counterfactual: it describes a closed opportunity, and the reaction it drew was "then I've already missed it". Same figure, reframed as 近 7 天回测 — what the window measured about the wallet — reads as proof of skill. Say what the window measured, never what the reader would have earned.

More from gmgnai

Use this skill in a project

Open any RiverX project, search the Skills panel for gmgnai/gmgn-skills/gmgn-wallet-analysis, and install it in one click.

Use this skill