CREW / CrewPay

CrewPay MCP: Pump.fun/Bags/Zora unsigned launches with KOL Autohire and on-chain fee-shares.

Should I use this

Quality & Safety

A
Description quality
99%
Schema completeness
87%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~6,290Tokens (tool definitions)
~2.7 KBTypical response size
Significant attention impact (4.91% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "crewpay-mcp": {
      "command": "npx",
      "args": [
        "crewpay-mcp"
      ]
    }
  }
}

Runnable packages

npmcrewpay-mcp1.2.11stdio

Remote endpoints

https://mcp.crewpay.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (16)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒crew_build_unsigned(name, ticker, description, imageUrl, imageBase64, ...)

The launching agent earns 15% of creator fees onchain. Creator fees follow trading volume and can be zero. Create UNSIGNED launch transactions. For Pump.fun, mintPubkey is required: generate a mint keypair locally and pass its public key so you can sign the create tx. The API does not keep a server-side mint secret. Pump.fun fee-share is part of this launch (same v0 tx when it fits; otherwise an ordered pair). Sign every returned step together in one wallet signAllTransactions or one Jito bundle β€” do not skip the lock step. crew_wire_fees is repair-only. platform defaults to pumpfun (Solana v0 messages). bags = Bags.fm Solana fee-claimers (needs BAGS_API_KEY). zora = Zora content coins on Base (EIP-1559; needs ZORA_ENABLED). clanker = Clanker v4 on Base (EIP-1559; needs CLANKER_ENABLED). vibevibe = vibe/vibe on Robinhood Chain (EIP-1559; needs VIBEVIBE_ENABLED). sui = Memez.gg / Blast.fun on Sui testnet (sui-tx; needs SUI_ENABLED, two steps publish+pool, optional treasuryCapObjectId). Prefer explicit crew[] from crew_list_kols; Autohire is fallback. optInOnly default off. Fee map: 60% to the KOL crew, 15% to the launching agent, 25% to the treasury (5% referrer when bound). Optional treasuryBps 2000–3000.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 2,
      "maxLength": 32
    },
    "ticker": {
      "type": "string",
      "minLength": 2,
      "maxLength": 13
    },
    "description": {
      "type": "string",
      "maxLength": 204
    },
    "imageUrl": {
      "type": "string",
      "format": "uri"
    },
    "imageBase64": {
      "type": "string",
      "minLength": 64
    },
    "seats": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    },
    "mode": {
      "type": "string",
      "enum": [
        "agent",
        "split",
        "buyback",
        "raid"
      ]
    },
    "initialBuySol": {
      "type": "number",
      "minimum": 0,
      "maximum": 10
    },
    "twitter": {
      "type": "string",
      "maxLength": 128
    },
    "website": {
      "type": "string",
      "format": "uri"
    },
    "launcherPubkey": {
      "type": "string",
      "minLength": 20,
      "maxLength": 64
    },
    "mintPubkey": {
      "description": "Required for Pump.fun. Caller-generated mint public key. The API never invents or stores a mint secret.",
      "type": "string",
      "minLength": 20,
      "maxLength": 64
    },
    "optInOnly": {
      "type": "boolean"
    },
    "treasuryBps": {
      "type": "integer",
      "minimum": 2000,
      "maximum": 3000
    },
    "platform": {
      "description": "Launch venue. Default pumpfun. bags=Bags.fm (Solana). zora=Zora coins (Base).",
      "type": "string",
      "enum": [
        "pumpfun",
        "bags",
        "zora",
        "clanker",
        "vibevibe",
        "sui"
      ]
    },
    "crew": {
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "handle": {
            "type": "string",
            "description": "X / Pump handle without @. Example: \"crewpayhq\". Required."
          },
          "wallet": {
            "type": "string",
            "minLength": 20,
            "maxLength": 64,
            "description": "Solana payout wallet (base58). Required. Example: a KOL wallet from crew_list_kols."
          },
          "share": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Integer percent of the crew slice (1–100). Crew shares must total 100."
          },
          "hireRole": {
            "description": "Optional hire role label. One of caller | chart | raid | kol | dev.",
            "type": "string",
            "enum": [
              "caller",
              "chart",
              "raid",
              "kol",
              "dev"
            ]
          },
          "evmWallet": {
            "description": "Optional 0x… Base address (42 chars) for Zora/Clanker payouts.",
            "type": "string",
            "minLength": 42,
            "maxLength": 42
          }
        },
        "required": [
          "handle",
          "wallet",
          "share"
        ]
      }
    },
    "launcherKey": {
      "description": "FORBIDDEN β€” rejected if set. Use CREW_LAUNCHER_KEY in MCP env only.",
      "type": "string"
    },
    "privateKey": {
      "description": "FORBIDDEN β€” rejected if set.",
      "type": "string"
    },
    "secretKey": {
      "description": "FORBIDDEN β€” rejected if set.",
      "type": "string"
    }
  },
  "required": [
    "name",
    "ticker",
    "launcherPubkey"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
πŸ”΄crew_submit_signed(signed, platform)

Submit signed transactions from crew_build_unsigned. Pump.fun: sign create + fee-share lock together (signAllTransactions / Jito bundle) β€” fees lock at launch; do not submit create alone. Bags: Solana base64 (fee-share then create). Zora: EIP-1559 hex (0xSplits then coin create). Pass platform to match the builder.

Input Schema

{
  "type": "object",
  "properties": {
    "signed": {
      "minItems": 1,
      "maxItems": 8,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 64
      }
    },
    "platform": {
      "type": "string",
      "enum": [
        "pumpfun",
        "bags",
        "zora",
        "clanker",
        "vibevibe",
        "sui"
      ]
    }
  },
  "required": [
    "signed"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟒crew_discover

Load CREW / CrewPay discovery for crypto agents: Autohire KOLs, launch Pump.fun / Bags / Zora / Clanker coins, fee-shares, OpenAPI links. Use this first when working on Solana meme coins, KOLs, or CrewPay.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
βšͺcrew_claim_key(label, agentName, model, referral_code)

Mint a crew_ak_… agent API key with no operator signup (POST /api/agent/keys/claim). Optional referral_code (or CREWPAY_REFERRAL_CODE env) permanently binds a KOL referrer β€” referred launches use fee map 60/15/5/20. Returns the secret once β€” store it as CREW_AGENT_API_KEY or pass as x-crew-api-key. Rate-limited 5/hour/IP. Default 5 launches/hour. Use before autohire/launch when you have no key.

Input Schema

{
  "type": "object",
  "properties": {
    "label": {
      "description": "Key label (default agent)",
      "type": "string",
      "minLength": 2,
      "maxLength": 64
    },
    "agentName": {
      "description": "Your agent name for the label",
      "type": "string",
      "minLength": 2,
      "maxLength": 48
    },
    "model": {
      "description": "Model id e.g. claude, gpt, grok",
      "type": "string",
      "minLength": 1,
      "maxLength": 48
    },
    "referral_code": {
      "description": "KOL referral code (crewpay.dev/r/<code>). Bound permanently on this key. Falls back to CREWPAY_REFERRAL_CODE env.",
      "type": "string",
      "minLength": 2,
      "maxLength": 24
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟒crew_search_kols(q, limit)

Search the CREW KOL / Pump profile directory by handle or wallet. Prefer manual crew selection from this directory; Autohire is a fallback/convenience.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "Handle, pump username, or wallet substring"
    },
    "limit": {
      "description": "Max results (default 20)",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "q"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟒crew_list_kols(q, limit, offset)

List/browse CREW KOL profiles (optionally filtered by q). Use this to select explicit crew wallets before launching on pumpfun, bags, or zora. Manual pick first; Autohire is a fallback. For Zora, prefer registered evm_wallet / pass Base addresses.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "description": "Optional: handle, pump username, or wallet substring",
      "type": "string",
      "maxLength": 64
    },
    "limit": {
      "description": "Max results (default 50)",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "description": "Offset for pagination (default 0)",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟒crew_autohire(name, ticker, description, seats)

The launching agent earns 15% of creator fees onchain. Creator fees follow trading volume and can be zero. Preview convenience Autohire: match a token name/ticker/vibe to a candidate KOL pack. Prefer explicit crew selection via crew_list_kols; Autohire is a fallback. Works keyless for previews.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Token name (2–32 on launch)",
      "type": "string",
      "maxLength": 32
    },
    "ticker": {
      "description": "Token ticker (2–13 on launch)",
      "type": "string",
      "maxLength": 13
    },
    "description": {
      "description": "Narrative / vibe (≀204 β€” leaves room for β€œLaunched from CrewPay.dev platform”)",
      "type": "string",
      "maxLength": 204
    },
    "seats": {
      "description": "Crew seats 1–8 (default 5)",
      "type": "integer",
      "minimum": 1,
      "maximum": 8
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
βšͺcrew_notify_hired_crew(mint, handles, message)

DM hired KOLs via @CrewPay_Bot. Opt-in only: they must have linked Telegram, sent /start, and enabled alerts. Never uses channel member counts.

Input Schema

{
  "type": "object",
  "properties": {
    "mint": {
      "description": "Coin mint β€” notifies that launch’s hired crew",
      "type": "string",
      "maxLength": 64
    },
    "handles": {
      "description": "Optional hired handles if mint is omitted",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 32
      }
    },
    "message": {
      "description": "Optional short note (≀500)",
      "type": "string",
      "maxLength": 500
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟒crew_launch_dry_run(intent, name, ticker, description, imageUrl, ...)

The launching agent earns 15% of creator fees onchain. Creator fees follow trading volume and can be zero. Dry-run a launch (default) or wire-fees (intent=wire-fees). platform defaults to pumpfun; bags/zora check enablement (BAGS_API_KEY / ZORA_ENABLED) without sending chain txs. Prefer explicit crew[] from crew_list_kols; Autohire is a fallback. Returns dryRunId + approvalUrl. Requires CREW_AGENT_API_KEY.

Input Schema

{
  "type": "object",
  "properties": {
    "intent": {
      "description": "launch (default) or wire-fees",
      "type": "string",
      "enum": [
        "launch",
        "wire-fees"
      ]
    },
    "name": {
      "type": "string",
      "minLength": 2,
      "maxLength": 32
    },
    "ticker": {
      "type": "string",
      "minLength": 2,
      "maxLength": 13
    },
    "description": {
      "description": "≀204 chars; attribution appended to reach ≀240 final",
      "type": "string",
      "maxLength": 204
    },
    "imageUrl": {
      "description": "Public image URL (or use imageBase64)",
      "type": "string",
      "format": "uri"
    },
    "imageBase64": {
      "type": "string",
      "minLength": 64
    },
    "seats": {
      "type": "integer",
      "minimum": 1,
      "maximum": 8
    },
    "mode": {
      "type": "string",
      "enum": [
        "agent",
        "split",
        "buyback",
        "raid"
      ]
    },
    "initialBuySol": {
      "type": "number",
      "minimum": 0,
      "maximum": 10
    },
    "twitter": {
      "type": "string",
      "maxLength": 128
    },
    "website": {
      "type": "string",
      "format": "uri"
    },
    "holderKol": {
      "type": "boolean"
    },
    "mint": {
      "description": "Required when intent=wire-fees",
      "type": "string",
      "minLength": 32,
      "maxLength": 64,
      "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,64}$"
    },
    "launcherPubkey": {
      "description": "Optional public launcher address for balance check (never a secret)",
      "type": "string",
      "minLength": 20,
      "maxLength": 64
    },
    "agentName": {
      "type": "string",
      "minLength": 2,
      "maxLength": 48
    },
    "agentObjective": {
      "type": "string",
      "minLength": 8,
      "maxLength": 280
    },
    "agentModel": {
      "type": "string",
      "maxLength": 48
    },
    "crew": {
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "handle": {
            "type": "string",
            "description": "X / Pump handle without @. Example: \"crewpayhq\". Required."
          },
          "wallet": {
            "type": "string",
            "minLength": 20,
            "maxLength": 64,
            "description": "Solana payout wallet (base58). Required. Example: a KOL wallet from crew_list_kols."
          },
          "share": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Integer percent of the crew slice (1–100). Crew shares must total 100."
          },
          "hireRole": {
            "description": "Optional hire role label. One of caller | chart | raid | kol | dev.",
            "type": "string",
            "enum": [
              "caller",
              "chart",
              "raid",
              "kol",
              "dev"
            ]
          },
          "evmWallet": {
            "description": "Optional 0x… Base address (42 chars) for Zora/Clanker payouts.",
            "type": "string",
            "minLength": 42,
            "maxLength": 42
          }
        },
        "required": [
          "handle",
          "wallet",
          "share"
        ]
      }
    },
    "platform": {
      "type": "string",
      "enum": [
        "pumpfun",
        "bags",
        "zora",
        "clanker",
        "vibevibe",
        "sui"
      ]
    },
    "launcherKey": {
      "description": "FORBIDDEN β€” rejected if set. Use CREW_LAUNCHER_KEY in MCP env only.",
      "type": "string"
    },
    "privateKey": {
      "description": "FORBIDDEN β€” rejected if set.",
      "type": "string"
    },
    "secretKey": {
      "description": "FORBIDDEN β€” rejected if set.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟒crew_status(mint)

Check whether a CREW mint has fee-shares locked, Holder KOL open, and board presence. New launches lock fees at launch. Use after submit, or before repair (crew_wire_fees) / lock / crank.

Input Schema

{
  "type": "object",
  "properties": {
    "mint": {
      "type": "string",
      "minLength": 32,
      "maxLength": 64,
      "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,64}$",
      "description": "Required. Solana mint (base58, 32–64 chars). Example: from crew_list_launches or crew_launch."
    }
  },
  "required": [
    "mint"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
πŸ”΄crew_wire_fees(mint, dryRunId, mode, name, ticker, ...)

Create and permanently lock Pump.fun fee-sharing shareholders on an existing mint (POST /api/agent/wire-fees). When to use: repair-only for older launches or crew_status showing no fee-sharing config / a failed lock (custodial HTTP 202 / feeShareLocked=false). Optional gated flow: crew_launch_dry_run({ intent: "wire-fees" }) β†’ human opens approvalUrl β†’ pass that dryRunId here. When not to use: new Pump launch (fees lock at launch via crew_build_unsigned / crew_launch). Do not call if feeShareLocked=true (already locked β€” not idempotent, API errors). Do not use for a new coin, Holder-KOL opens (crew_lock_holder_kol), or distributing accrued fees (crew_crank_remits). Hosted public MCP cannot complete this β€” it cannot hold a launcher secret. Side effects (on-chain, destructive, non-custodial): builds the fee-share create/update transaction and requires the launch wallet to sign. Signer is CREW_LAUNCHER_KEY in local MCP env only β€” never pass a secret as a tool argument. CrewPay does not custody keys or funds. Writes the Pump.fun fee-sharing config PDA (create if missing), sets shareholder addresses + bps (60% KOL crew / 15% launching agent / 25% treasury, or 60/15/5/20 with a bound referrer), and revokes admin so the map cannot be edited. Also persists feeShareLocked on the CrewPay board. Does not transfer SOL, move LP, or launch a mint. Returns JSON { ok, feeShareSignature, feeShareLocked: true, adminRevoked: true, mint, coin }. Errors if the config is already locked, crew is missing, or the launcher key does not match the board launcher. Auth: CREW_AGENT_API_KEY + CREW_LAUNCHER_KEY in local MCP env (x-crew-api-key / x-launcher-key on HTTP).

Input Schema

{
  "type": "object",
  "properties": {
    "mint": {
      "type": "string",
      "minLength": 32,
      "maxLength": 64,
      "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,64}$",
      "description": "Required. Solana Pump.fun mint (base58, 32–64 chars, no 0/O/I/l). Example: a mint from crew_list_launches or the crew_launch response."
    },
    "dryRunId": {
      "description": "Optional string (16–64 chars) unless the API key has requireApproval=true. From crew_launch_dry_run with intent=wire-fees after the human opens approvalUrl. Example: a 32-char opaque id.",
      "type": "string",
      "minLength": 16,
      "maxLength": 64
    },
    "mode": {
      "description": "Optional desk mode. One of agent | split | buyback | raid. Default agent.",
      "type": "string",
      "enum": [
        "agent",
        "split",
        "buyback",
        "raid"
      ]
    },
    "name": {
      "description": "Optional coin name (≀32 chars) if the mint is not already on the board. Example: \"Desk Cat\".",
      "type": "string",
      "maxLength": 32
    },
    "ticker": {
      "description": "Optional ticker (≀13 chars). Example: \"DESK\". Omit to reuse the board ticker.",
      "type": "string",
      "maxLength": 13
    },
    "crew": {
      "description": "Optional array of 1–8 crew members {handle, wallet, share, hireRole?}. Shares must total 100. Omit to reuse the crew stored on the board from launch.",
      "minItems": 1,
      "maxItems": 8,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "handle": {
            "type": "string",
            "description": "X / Pump handle without @. Example: \"crewpayhq\". Required."
          },
          "wallet": {
            "type": "string",
            "minLength": 20,
            "maxLength": 64,
            "description": "Solana payout wallet (base58). Required. Example: a KOL wallet from crew_list_kols."
          },
          "share": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Integer percent of the crew slice (1–100). Crew shares must total 100."
          },
          "hireRole": {
            "description": "Optional hire role label. One of caller | chart | raid | kol | dev.",
            "type": "string",
            "enum": [
              "caller",
              "chart",
              "raid",
              "kol",
              "dev"
            ]
          },
          "evmWallet": {
            "description": "Optional 0x… Base address (42 chars) for Zora/Clanker payouts.",
            "type": "string",
            "minLength": 42,
            "maxLength": 42
          }
        },
        "required": [
          "handle",
          "wallet",
          "share"
        ]
      }
    },
    "launcherKey": {
      "description": "FORBIDDEN β€” rejected if set. Use CREW_LAUNCHER_KEY in MCP env only.",
      "type": "string"
    },
    "privateKey": {
      "description": "FORBIDDEN β€” rejected if set.",
      "type": "string"
    },
    "secretKey": {
      "description": "FORBIDDEN β€” rejected if set.",
      "type": "string"
    }
  },
  "required": [
    "mint"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟒crew_list_launches(limit)

Return launches attributed to your crew_ak_… key (mint, ticker, feeShareLocked, pumpUrl). Operator env keys see recent board launches. Use after crew_launch or to recover mint state across retries.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "Optional integer 1–100. Max launches to return. Example: 20. Default is the API default.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
πŸ”΄crew_lock_holder_kol(mint, mode, name, ticker, launcherKey, ...)

Scan top holders ∩ CREW KOL directory and permanently lock fee-shares (one-shot). Use when launch used holderKol=true. Requires CREW_LAUNCHER_KEY in MCP env.

Input Schema

{
  "type": "object",
  "properties": {
    "mint": {
      "type": "string",
      "minLength": 32,
      "maxLength": 64,
      "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,64}$",
      "description": "Solana mint address (base58, 32–64 chars, alphabet without 0/O/I/l). Example: a Pump.fun mint from crew_list_launches or crew_status. Required unless noted."
    },
    "mode": {
      "type": "string",
      "enum": [
        "agent",
        "split",
        "buyback",
        "raid"
      ]
    },
    "name": {
      "type": "string",
      "maxLength": 32
    },
    "ticker": {
      "type": "string",
      "maxLength": 13
    },
    "launcherKey": {
      "description": "FORBIDDEN β€” rejected if set. Use CREW_LAUNCHER_KEY in MCP env only.",
      "type": "string"
    },
    "privateKey": {
      "description": "FORBIDDEN β€” rejected if set.",
      "type": "string"
    },
    "secretKey": {
      "description": "FORBIDDEN β€” rejected if set.",
      "type": "string"
    }
  },
  "required": [
    "mint"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
πŸ”΄crew_crank_remits(mint, launcherKey, privateKey, secretKey)

Distribute accrued creator fees (sweep + distributeCreatorFeesV2). Permissionless on-chain β€” uses CREW_LAUNCHER_KEY if set, else server CREW_OPS_KEY. Prefers OnlinePumpSdk builder so unswept bonding-curve fees do not fail with CreatorFeesNotSwept.

Input Schema

{
  "type": "object",
  "properties": {
    "mint": {
      "type": "string",
      "minLength": 32,
      "maxLength": 64,
      "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,64}$",
      "description": "Solana mint address (base58, 32–64 chars, alphabet without 0/O/I/l). Example: a Pump.fun mint from crew_list_launches or crew_status. Required unless noted."
    },
    "launcherKey": {
      "description": "FORBIDDEN β€” rejected if set. Use CREW_LAUNCHER_KEY in MCP env only.",
      "type": "string"
    },
    "privateKey": {
      "description": "FORBIDDEN β€” rejected if set.",
      "type": "string"
    },
    "secretKey": {
      "description": "FORBIDDEN β€” rejected if set.",
      "type": "string"
    }
  },
  "required": [
    "mint"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟒crew_proof(limit)

Read the public CrewPay proof tape (GET /api/proof): fee-share-locked launches, creator-fee remits, and buyback runs. When to use: after a launch or crew_crank_remits, to show public proof that remits posted, or to inspect tape totals. No API key. When not to use: do not use for one mint’s lock state (crew_status), to list your agent’s mints (crew_list_launches), or to trigger buybacks/remits (crew_crank_remits). Empty buyback rows are expected β€” market buyback cron is not live yet and do not mean fee-shares failed. Fee map is 60/15/25 (60/15/5/20 when the launching agent is referred); 25% (or 20%) is the treasury slice, not a guaranteed payout. Returns JSON { ok, generatedAt, platform, stats (coins, feeShareLocked, remitRows, remitSolTotal, buybackRuns, humansPaidSol, byRole), coins[], remits[], buybacks[] }. Empty arrays mean no locked launches yet β€” not an error. Side effects: none. Read-only public GET. Does not change chain, board, or keys.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "Optional integer 1–100 (default 40). Max tape rows for coins/remits/buybacks. Example: 20.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
πŸ”΄crew_launch(dryRunId, name, ticker, description, imageUrl, ...)

The launching agent earns 15% of creator fees onchain. Creator fees follow trading volume and can be zero. MAINNET custodial launch: Prefer explicit crew[] (from crew_list_kols). Autohire is a fallback convenience. Creates a Pump.fun coin and locks fee-shares at launch (60/15/25 default; 60/15/5/20 with referral) via Jito [create,lock] then v0+ALT. Prefer non-custodial crew_build_unsigned (mintPubkey required) + signAllTransactions + crew_submit_signed. Approval optional; requires CREW_AGENT_API_KEY + CREW_LAUNCHER_KEY. crew_wire_fees is repair-only.

Input Schema

{
  "type": "object",
  "properties": {
    "dryRunId": {
      "description": "Optional unless the API key has requireApproval=true",
      "type": "string",
      "minLength": 16,
      "maxLength": 64
    },
    "name": {
      "type": "string",
      "minLength": 2,
      "maxLength": 32
    },
    "ticker": {
      "type": "string",
      "minLength": 2,
      "maxLength": 13,
      "pattern": "^\\$?[A-Za-z0-9]{2,13}$"
    },
    "description": {
      "description": "≀204 chars; attribution appended to reach ≀240 final",
      "type": "string",
      "maxLength": 204
    },
    "imageUrl": {
      "description": "Public image URL (or use imageBase64)",
      "type": "string",
      "format": "uri"
    },
    "imageBase64": {
      "type": "string",
      "minLength": 64
    },
    "seats": {
      "description": "Autohire seats when crew omitted",
      "type": "integer",
      "minimum": 1,
      "maximum": 8
    },
    "mode": {
      "type": "string",
      "enum": [
        "agent",
        "split",
        "buyback",
        "raid"
      ]
    },
    "initialBuySol": {
      "description": "Dev buy 0–10 SOL (site+API aligned)",
      "type": "number",
      "minimum": 0,
      "maximum": 10
    },
    "twitter": {
      "description": "X / Twitter handle or URL",
      "type": "string",
      "maxLength": 128
    },
    "website": {
      "type": "string",
      "format": "uri"
    },
    "holderKol": {
      "description": "Open Holder-KOL (fees unlocked until crew_lock_holder_kol)",
      "type": "boolean"
    },
    "agentName": {
      "type": "string",
      "minLength": 2,
      "maxLength": 48
    },
    "agentObjective": {
      "type": "string",
      "minLength": 8,
      "maxLength": 280
    },
    "agentModel": {
      "description": "e.g. claude, gpt, gemini, grok",
      "type": "string",
      "maxLength": 48
    },
    "idempotencyKey": {
      "description": "Retry-safe key; replays cached launch for 15m",
      "type": "string",
      "minLength": 8,
      "maxLength": 128
    },
    "crew": {
      "description": "Explicit crew (shares must total 100%) overrides Autohire when provided",
      "minItems": 1,
      "maxItems": 8,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "handle": {
            "type": "string",
            "description": "X / Pump handle without @. Example: \"crewpayhq\". Required."
          },
          "wallet": {
            "type": "string",
            "minLength": 20,
            "maxLength": 64,
            "description": "Solana payout wallet (base58). Required. Example: a KOL wallet from crew_list_kols."
          },
          "share": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Integer percent of the crew slice (1–100). Crew shares must total 100."
          },
          "hireRole": {
            "description": "Optional hire role label. One of caller | chart | raid | kol | dev.",
            "type": "string",
            "enum": [
              "caller",
              "chart",
              "raid",
              "kol",
              "dev"
            ]
          },
          "evmWallet": {
            "description": "Optional 0x… Base address (42 chars) for Zora/Clanker payouts.",
            "type": "string",
            "minLength": 42,
            "maxLength": 42
          }
        },
        "required": [
          "handle",
          "wallet",
          "share"
        ]
      }
    },
    "launcherKey": {
      "description": "FORBIDDEN β€” rejected if set. Use CREW_LAUNCHER_KEY in MCP env only.",
      "type": "string"
    },
    "privateKey": {
      "description": "FORBIDDEN β€” rejected if set.",
      "type": "string"
    },
    "secretKey": {
      "description": "FORBIDDEN β€” rejected if set.",
      "type": "string"
    }
  },
  "required": [
    "name",
    "ticker"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded16 tools
verifiedversion not recorded12 tools