gmgn-cli 1.2.1 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -64,6 +64,7 @@ All token routes used by this skill go through GMGN's leaky-bucket limiter with
64
64
  When a request returns `429`:
65
65
 
66
66
  - Read `X-RateLimit-Reset` from the response headers. It is a Unix timestamp in seconds that marks when the limit is expected to reset.
67
+ - If the response body contains `reset_at` (e.g., `{"code":429,"error":"RATE_LIMIT_BANNED","message":"...","reset_at":1775184222}`), extract `reset_at` — it is the Unix timestamp when the ban lifts (typically 5 minutes). Convert to local time and tell the user exactly when they can retry.
67
68
  - The CLI may wait and retry once automatically when the remaining cooldown is short. If it still fails, stop and tell the user the exact retry time instead of sending more requests.
68
69
  - For `RATE_LIMIT_EXCEEDED` or `RATE_LIMIT_BANNED`, repeated requests during the cooldown can extend the ban by 5 seconds each time, up to 5 minutes. Do not spam retries.
69
70
 
@@ -141,7 +142,7 @@ Recommended combinations for common use cases:
141
142
 
142
143
  ### `token info` — Key Fields
143
144
 
144
- The response has four nested objects: `pool`, `link`, `stat`, `wallet_tags_stat`. Access fields with dot notation when parsing (e.g. `link.website`, `stat.top_10_holder_rate`).
145
+ The response has five nested objects: `pool`, `dev`, `link`, `stat`, `wallet_tags_stat`. Access fields with dot notation when parsing (e.g. `link.website`, `stat.top_10_holder_rate`, `dev.creator_address`).
145
146
 
146
147
  **Top-level Fields**
147
148
 
@@ -178,6 +179,31 @@ The response has four nested objects: `pool`, `link`, `stat`, `wallet_tags_stat`
178
179
  | `pool.fee_ratio` | Pool trading fee ratio (e.g. `0.1` = 0.1%) |
179
180
  | `pool.creation_timestamp` | Pool creation time (Unix seconds) |
180
181
 
182
+ **`dev` Object** — Token creator / developer info
183
+
184
+ | Field | Description |
185
+ |-------|-------------|
186
+ | `dev.creator_address` | Creator wallet address |
187
+ | `dev.creator_token_balance` | Creator's current token balance |
188
+ | `dev.creator_token_status` | Creator holding status: `hold` (still holding) / `sell` (sold/exited) |
189
+ | `dev.top_10_holder_rate` | Ratio of supply held by top 10 wallets (0–1) |
190
+ | `dev.twitter_name_change_history` | Array of past Twitter username changes (each entry has `twitter_username`, `rename_timestamp`) |
191
+ | `dev.dexscr_ad` | Creator bought a DEXScreener ad: `1` = yes, `0` = no |
192
+ | `dev.dexscr_update_link` | Creator updated DEXScreener socials/links: `1` = yes, `0` = no |
193
+ | `dev.dexscr_boost_fee` | Creator used DEXScreener Boost: `1` = yes, `0` = no |
194
+ | `dev.dexscr_trending_bar` | Token appeared in DEXScreener trending bar: `1` = yes, `0` = no |
195
+ | `dev.dexscr_ad_ts` | Timestamp of DEXScreener ad purchase (Unix seconds) |
196
+ | `dev.dexscr_update_link_ts` | Timestamp of DEXScreener link update (Unix seconds) |
197
+ | `dev.dexscr_boost_ts` | Timestamp of DEXScreener Boost (Unix seconds) |
198
+ | `dev.dexscr_trending_bar_ts` | Timestamp of DEXScreener trending bar appearance (Unix seconds) |
199
+ | `dev.cto_flag` | Token has been Community Takeover'd (original dev abandoned): `1` = yes, `0` = no |
200
+ | `dev.fund_from` | Address that funded the creator wallet |
201
+ | `dev.fund_from_ts` | Timestamp of that funding event (Unix seconds) |
202
+ | `dev.creator_open_count` | Number of tokens this creator has previously launched |
203
+ | `dev.twitter_del_post_token_count` | Number of posts the creator deleted from Twitter |
204
+ | `dev.twitter_create_token_count` | Number of tokens the creator has promoted on Twitter |
205
+ | `dev.offchain` | Whether the token is an offchain token |
206
+
181
207
  **`link` Object** — Social and explorer links
182
208
 
183
209
  | Field | Description |
@@ -211,6 +237,7 @@ The response has four nested objects: `pool`, `link`, `stat`, `wallet_tags_stat`
211
237
  | `stat.bot_degen_count` | Number of bot degen wallets |
212
238
  | `stat.bot_degen_rate` | Ratio of bot degen wallets |
213
239
  | `stat.fresh_wallet_rate` | Ratio of fresh/new wallets among holders |
240
+ | `stat.private_vault_hold_rate` | Ratio held by private vault (vanish) addresses — displayed as "vanish" in GMGN UI (0–1) |
214
241
 
215
242
  **`wallet_tags_stat` Object** — Wallet type breakdown
216
243
 
@@ -76,6 +76,7 @@ All tracking routes used by this skill go through GMGN's leaky-bucket limiter wi
76
76
  When a request returns `429`:
77
77
 
78
78
  - Read `X-RateLimit-Reset` from the response headers. It is a Unix timestamp in seconds that marks when the limit is expected to reset.
79
+ - If the response body contains `reset_at` (e.g., `{"code":429,"error":"RATE_LIMIT_BANNED","message":"...","reset_at":1775184222}`), extract `reset_at` — it is the Unix timestamp when the ban lifts (typically 5 minutes). Convert to local time and tell the user exactly when they can retry.
79
80
  - The CLI may wait and retry once automatically when the remaining cooldown is short. If it still fails, stop and tell the user the exact retry time instead of sending more requests.
80
81
  - For `RATE_LIMIT_EXCEEDED` or `RATE_LIMIT_BANNED`, repeated requests during the cooldown can extend the ban by 5 seconds each time, up to 5 minutes. Do not spam retries.
81
82