Check a pump.fun coin, dev or wallet: deployer record, bundle, PnL. Every pump.fun trade, ever.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
The odds for pump.fun coins in a market-cap band: how many first traded inside the band in a window, how many of those then reached 2x, 5x, 10x and 20x within 3 h, and the median peak. For: the base rate, what are the odds a $20K coin does 10x, how often does it happen anyway. A crossing is a coin's first trade with a market cap inside the band (a coin that jumps over the band in one trade has none); the peak is the highest market cap, curve or pool, in the 3 h after it; USD is at the SOL price of the trade's hour. $0.005 a call, USDC on Solana over x402, or a free key.
window end; a crossing needs its 3 h after, so an end under 3 h before the data's as-of is cut
market-cap band in USD, e.g. 15k-28k; each edge snaps to the nearest of 5k, 10k, 15k, 20k, 28k, 40k, 60k, 100k, 250k, 1000k, and the answer says the band used
window start, ISO 8601 UTC
default any
the x402 PAYMENT-SIGNATURE value for this exact call (USDC on Solana). Leave it out to get the offer: the price, the payee and the network come back as the error content and as _meta['payment-required'].
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
The odds for pump.fun coins in a market-cap band: how many first traded inside the band in a window, how many of those then reached 2x, 5x, 10x and 20x within 3 h, and the median peak. For: the base rate, what are the odds a $20K coin does 10x, how often does it happen anyway. A crossing is a coin's first trade with a market cap inside the band (a coin that jumps over the band in one trade has none); the peak is the highest market cap, curve or pool, in the 3 h after it; USD is at the SOL price of the trade's hour. $0.005 a call, USDC on Solana over x402, or a free key.
| Argument | Type | Description |
|---|---|---|
| to* | string | window end; a crossing needs its 3 h after, so an end under 3 h before the data's as-of is cut |
| band* | string | market-cap band in USD, e.g. 15k-28k; each edge snaps to the nearest of 5k, 10k, 15k, 20k, 28k, 40k, 60k, 100k, 250k, 1000k, and the answer says the band used |
| from* | string | window start, ISO 8601 UTC |
| venue | string | default any |
| payment | string | the x402 PAYMENT-SIGNATURE value for this exact call (USDC on Solana). Leave it out to get the offer: the price, the payee and the network come back as the error content and as _meta['payment-required']. |
{
"type": "object",
"required": [
"band",
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"format": "date-time",
"description": "window end; a crossing needs its 3 h after, so an end under 3 h before the data's as-of is cut"
},
"band": {
"type": "string",
"description": "market-cap band in USD, e.g. 15k-28k; each edge snaps to the nearest of 5k, 10k, 15k, 20k, 28k, 40k, 60k, 100k, 250k, 1000k, and the answer says the band used"
},
"from": {
"type": "string",
"format": "date-time",
"description": "window start, ISO 8601 UTC"
},
"venue": {
"enum": [
"curve",
"pool",
"any"
],
"type": "string",
"description": "default any"
},
"payment": {
"type": "string",
"description": "the x402 PAYMENT-SIGNATURE value for this exact call (USDC on Solana). Leave it out to get the offer: the price, the payee and the network come back as the error content and as _meta['payment-required']."
}
}
}A pump.fun dev's record by wallet address, no coin needed: launches, graduations, best run, the gap between launches; over the last 90 days how many of its launches doubled, did 10x, held at 2x a day later or died; its newest launches; and the base rate for its next launch from deployers with the same record. For: this dev's history, a serial deployer, has this creator rugged before, the deployer's track record. Facts, no score. $0.005 a call, USDC on Solana over x402, or a free key.
| Argument | Type | Description |
|---|---|---|
| address* | string | the deployer's wallet address (base58) |
| payment | string | the x402 PAYMENT-SIGNATURE value for this exact call (USDC on Solana). Leave it out to get the offer: the price, the payee and the network come back as the error content and as _meta['payment-required']. |
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "the deployer's wallet address (base58)"
},
"payment": {
"type": "string",
"description": "the x402 PAYMENT-SIGNATURE value for this exact call (USDC on Solana). Leave it out to get the offer: the price, the payee and the network come back as the error content and as _meta['payment-required']."
}
}
}Free. The pump.fun coins a ticker or name means, newest first, so a coin named in a chat can be looked up by its mint: for each, the mint (the contract address, CA), its name and ticker, when it was created, its deployer with their launches and graduations, whether it graduated, its market cap at five minutes and its first-day peak. For: what is $KIMCHI's CA, which Kimchi is the real one, find this coin by name, the mint for this ticker. Covers every coin that completed its bonding curve (about 300K); a coin still on its curve is not here yet. A mint given as q returns that coin's name. Then launch_record on the mint.
| Argument | Type | Description |
|---|---|---|
| q* | string | a ticker ($KIMCHI or KIMCHI), a name, or a mint |
| limit | integer | coins to return, newest first; default 20 |
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "a ticker ($KIMCHI or KIMCHI), a name, or a mint"
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "coins to return, newest first; default 20"
}
},
"additionalProperties": false
}Check a pump.fun coin by its mint (the contract address, CA): who launched it and the deployer's record at the launch (launches before it, graduations, the gap to the previous one, launches in the last day), the bundle at creation (buyers in the first 10 s and the share of supply they took), the insiders' share now, curve progress, and how launches that looked the same at this age went over their next 24 h (graduation share, peak and close quantiles, how many died). For: check this coin, a rug check, is this coin bundled, who deployed this token, is this dev legit. Facts, no verdict. $0.005 a call, USDC on Solana over x402, or a free key.
| Argument | Type | Description |
|---|---|---|
| mint* | string | the coin's mint address (base58) |
| payment | string | the x402 PAYMENT-SIGNATURE value for this exact call (USDC on Solana). Leave it out to get the offer: the price, the payee and the network come back as the error content and as _meta['payment-required']. |
{
"type": "object",
"required": [
"mint"
],
"properties": {
"mint": {
"type": "string",
"description": "the coin's mint address (base58)"
},
"payment": {
"type": "string",
"description": "the x402 PAYMENT-SIGNATURE value for this exact call (USDC on Solana). Leave it out to get the offer: the price, the payee and the network come back as the error content and as _meta['payment-required']."
}
}
}Backtest pump.fun picks: picks with timestamps and sizes in; what they made, pick by pick and in sum, every pick counted, the dead ones included, filled at the PumpSwap pool as it stood after your latency (graduates only; bonding-curve picks, and picks outside the archive, are counted in skipped_not_covered until curve fills ship), with every fee, the fixed costs and the bankroll you set. For: backtest my calls, would this strategy have made money, replay these picks with real fills. The most recent eight weeks come back apart from the rest, once per rule to each payer. A run is a queued job: the result is {id, state: queued}; poll replay_result with the id. $2 a run, USDC on Solana over x402; a run that fails is rerun free on the same id.
| Argument | Type | Description |
|---|---|---|
| exit | object | take (x the entry), trail (share off the high), hold_s (seconds); any combination |
| picks* | array | up to 500 a run for now; split the rest into another run |
| payment | string | the x402 PAYMENT-SIGNATURE value for this exact call (USDC on Solana). Leave it out to get the offer: the price, the payee and the network come back as the error content and as _meta['payment-required']. |
| latency_s | number | seconds from the decision to the fill |
| bankroll_sol | number | SOL at risk at once; a pick with no room is skipped |
{
"type": "object",
"required": [
"picks"
],
"properties": {
"exit": {
"type": "object",
"properties": {
"take": {
"type": "number"
},
"trail": {
"type": "number"
},
"hold_s": {
"type": "integer"
}
},
"description": "take (x the entry), trail (share off the high), hold_s (seconds); any combination"
},
"picks": {
"type": "array",
"items": {
"type": "object",
"required": [
"mint",
"at",
"size_sol"
],
"properties": {
"at": {
"type": "string",
"format": "date-time",
"description": "when your rule decided"
},
"mint": {
"type": "string"
},
"size_sol": {
"type": "number",
"exclusiveMinimum": 0
}
}
},
"maxItems": 500,
"minItems": 1,
"description": "up to 500 a run for now; split the rest into another run"
},
"payment": {
"type": "string",
"description": "the x402 PAYMENT-SIGNATURE value for this exact call (USDC on Solana). Leave it out to get the offer: the price, the payee and the network come back as the error content and as _meta['payment-required']."
},
"latency_s": {
"type": "number",
"default": 3,
"description": "seconds from the decision to the fill"
},
"bankroll_sol": {
"type": "number",
"description": "SOL at risk at once; a pick with no room is skipped"
}
}
}A replay's result: the job's state, and the replay once done with the execution model it charged. Free; the id is the receipt.
| Argument | Type | Description |
|---|---|---|
| id* | string | the id from replay |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "the id from replay"
}
}
}The pump.fun launches most like this coin at the same age, named by mint, and how each went over its next 24 h (peak, close, dead or graduated): the same deployer's prior launches first, then the nearest of the last 90 days by the deployer's record, the first-10 s buyers, the insiders' share and curve progress, each saying why it is similar. For: coins like this one, what happened to launches like this, comparables. Not a prediction: what launches that looked like this did next. $0.005 a call, USDC on Solana over x402, or a free key.
| Argument | Type | Description |
|---|---|---|
| mint* | string | the coin's mint address (base58) |
| limit | integer | comparables to return, default 10 |
| payment | string | the x402 PAYMENT-SIGNATURE value for this exact call (USDC on Solana). Leave it out to get the offer: the price, the payee and the network come back as the error content and as _meta['payment-required']. |
{
"type": "object",
"required": [
"mint"
],
"properties": {
"mint": {
"type": "string",
"description": "the coin's mint address (base58)"
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "comparables to return, default 10"
},
"payment": {
"type": "string",
"description": "the x402 PAYMENT-SIGNATURE value for this exact call (USDC on Solana). Leave it out to get the offer: the price, the payee and the network come back as the error content and as _meta['payment-required']."
}
}
}Pump.fun stats for one UTC day, free: coins launched and graduated, the graduation rate, SOL and USD volume, traders; the top coins by peak market cap and by volume; the deployers whose coins did best, with their record; the instant and fastest graduations; launches and the 1 h graduation rate per UTC hour; launches dead by their second hour. For: pump.fun today or yesterday, how many coins launched, how many graduated, the biggest coin of the day. `checks` lists any number that failed a sanity check: never quote one. `summary` is one paragraph to quote. Each coin and deployer names the paid call that goes deeper (launch_record, deployer_record).
| Argument | Type | Description |
|---|---|---|
| day | string | a UTC day, YYYY-MM-DD; default the latest |
{
"type": "object",
"properties": {
"day": {
"type": "string",
"description": "a UTC day, YYYY-MM-DD; default the latest"
}
},
"additionalProperties": false
}Check pump.fun wallets by address: what each has been since day one, its class by rule (winner: took out 10+ SOL and 1% more than it put in over 20+ coin-weeks; net_loser: put in 50+ SOL more than it took out; bot: a sniper (20+ coins bought in their create block, half or more of its new coins) or 1,500+ trades a day; supply_seller: took out 1.5x what it put in, 100 SOL or more; new: no record before the mint you name, or before today) and the numbers behind it: pnl_sol, put_in, took_out, coins, first_seen. For: who is buying this coin, is this wallet a bot, a wallet's PnL, a holder check on the top buyers. Up to 50 addresses a call. $0.01 a call, USDC on Solana over x402, or a free key.
| Argument | Type | Description |
|---|---|---|
| mint | string | optional: the coin they are buying; a wallet with no record before its creation is 'new' |
| payment | string | the x402 PAYMENT-SIGNATURE value for this exact call (USDC on Solana). Leave it out to get the offer: the price, the payee and the network come back as the error content and as _meta['payment-required']. |
| addresses* | array | base58 wallet addresses |
{
"type": "object",
"required": [
"addresses"
],
"properties": {
"mint": {
"type": "string",
"description": "optional: the coin they are buying; a wallet with no record before its creation is 'new'"
},
"payment": {
"type": "string",
"description": "the x402 PAYMENT-SIGNATURE value for this exact call (USDC on Solana). Leave it out to get the offer: the price, the payee and the network come back as the error content and as _meta['payment-required']."
},
"addresses": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"description": "base58 wallet addresses"
}
}
}