{"service":"crew-agent-api","version":"1","name":"CREW / CrewPay Agent Launch","description":"AI agents launch Pump.fun coins on Solana with permanent CREW fee-shares (25% platform buyback + hired KOL wallets).","homepage":"https://crewpay.dev","api":"https://api.crewpay.dev","aliases":{"api":["https://crewpay-api.onrender.com"],"mcp_http":["https://crewpay-mcp.onrender.com/mcp"]},"intended_clients":["OpenAI GPT / ChatGPT / o-series","Anthropic Claude","Google Gemini","xAI Grok","Meta Llama","DeepSeek","Mistral","Cursor Cloud / IDE agents","MCP clients (Cursor, Claude Desktop, custom)","Crypto / Solana / Pump.fun trading & launch agents","Any tool-using agent with HTTP GET/POST"],"discovery":{"llms_txt":"https://api.crewpay.dev/llms.txt","llms_full_txt":"https://api.crewpay.dev/llms-full.txt","openapi":"https://api.crewpay.dev/openapi.json","agent_card":"https://api.crewpay.dev/.well-known/agent.json","ai_plugin":"https://api.crewpay.dev/.well-known/ai-plugin.json","site_llms_txt":"https://crewpay.dev/llms.txt","site_openapi":"https://crewpay.dev/openapi.json","mcp_manifest":"https://crewpay.dev/mcp.json","mcp_http":"https://mcp.crewpay.dev/mcp","agents_md":"https://crewpay.dev/AGENTS.md","human_docs":"https://crewpay.dev/agents","proof":"https://crewpay.dev/proof","skill":"https://crewpay.dev/AGENTS.md"},"mcp":{"preferred_for":"crypto / Solana / Pump.fun / KOL agents","http":"https://mcp.crewpay.dev/mcp","http_legacy":"https://crewpay-mcp.onrender.com/mcp","manifest":"https://crewpay.dev/mcp.json","package":"crewpay-mcp","package_install":"npx -y github:fxams/crew#path:agent/crew-mcp  (or clone repo → agent/crew-mcp)","tools":["crew_discover","crew_search_kols","crew_autohire","crew_launch_dry_run","crew_launch","crew_status","crew_wire_fees","crew_lock_holder_kol","crew_crank_remits","crew_proof"],"flow":"crew_discover → crew_autohire → crew_launch_dry_run → crew_launch → crew_status / crew_wire_fees / crew_crank_remits"},"proof":{"http":"https://api.crewpay.dev/api/proof","buybacks":"https://api.crewpay.dev/api/buybacks","site":"https://crewpay.dev/proof"},"webhooks":{"events":["launch.created","feeShare.locked","remit.cranked","buyback.executed","holderKol.locked"],"register":"https://api.crewpay.dev/api/webhooks"},"topics":["solana","pump.fun","meme-coin","kol","creator-fees","fee-share","crewpay","autohire","crypto-agent"],"auth":{"headers":{"x-crew-api-key":"Operator CREW_AGENT_API_KEY (or crew_ak_… keys from POST /api/agent/keys). Browser VITE_CREW_API_KEY is rejected when the agent key is configured. MCP reads work without a key; writes require CREW_AGENT_API_KEY in MCP env.","x-launcher-key":"Agent Solana secret (base58 or JSON bytes). Required on launch/wire/lock/crank. Put it in MCP CREW_LAUNCHER_KEY env — never as a tool argument. Server CREW_AGENT_LAUNCHER_KEY only if CREW_ALLOW_SERVER_LAUNCHER=1.","x-idempotency-key":"Optional 8–128 char key on POST /api/agent/launch — replays the same response for 15 minutes."},"keys":{"mint":"POST /api/agent/keys with an existing operator key → returns crew_ak_… once","list":"GET /api/agent/keys","revoke":"DELETE /api/agent/keys/:id"},"rateLimits":{"autohire":"30/min per API key · 60/min per IP","dryRun":"60/min per API key · 120/min per IP","launch":"5/min per API key · 10/min per IP"}},"limits":{"name":"2–32 chars","ticker":"2–13 letters/numbers","description":"≤204 user chars (final on-chain ≤240 after “Launched from CrewPay.dev platform”)","initialBuySol":"0–10","crewSeats":"1–10","crewShares":"must total 100% when crew[] is provided","cluster":"mainnet-beta only (no devnet)"},"endpoints":{"GET /api/agent":"This discovery document","POST /api/agent/autohire":{"auth":"x-crew-api-key","body":{"name":"string","ticker":"string","description":"string","seats":"1-10"},"returns":"Narrative hire plan + crew wallets + disclaimer (no on-chain tx)"},"POST /api/agent/launch/dry-run":{"auth":"x-crew-api-key","body":"Same as launch (+ optional launcherPubkey for balance check)","returns":"Planned crew, fee map, SOL estimate — no mint, no secret required"},"POST /api/agent/launch":{"auth":"x-crew-api-key + x-launcher-key","body":{"name":"required 2–32","ticker":"required 2–13","description":"optional ≤204 user chars (attribution appended → ≤240 final)","mode":"split|buyback|raid|agent (default agent)","imageUrl":"or imageBase64","twitter":"optional","website":"optional","autoHire":{"seats":5},"crew":"optional explicit [{handle,wallet,share,hireRole}] shares=100%","agent":{"name":"","objective":"","model":"optional"},"initialBuySol":"0–10","holderKol":false},"returns":"mint, signatures, feeShareLocked, nextSteps, pumpUrl, crew, hirePlan (HTTP 201 locked / 202 partial)"},"GET /api/agent/status/:mint":{"auth":"x-crew-api-key","returns":"feeShareLocked, holderKol, board coin, tip"},"POST /api/agent/wire-fees":{"auth":"x-crew-api-key + x-launcher-key","body":{"mint":"required","mode":"agent","crew":"[] shares=100%"},"returns":"feeShareSignature when repair/lock succeeds"},"POST /api/agent/lock-holder-kol":{"auth":"x-crew-api-key + x-launcher-key","body":{"mint":"required","mode":"agent"},"returns":"Locks top holders ∩ KOL DB once (Pump admin revoked after)"},"POST /api/agent/crank":{"auth":"x-crew-api-key + x-launcher-key","body":{"mint":"required"},"returns":"distributeCreatorFeesV2 signature"},"POST /api/agent/keys":{"auth":"x-crew-api-key","body":{"label":"string","launchesPerHour":"optional"},"returns":"crew_ak_… shown once"},"GET /api/proof":"Public buyback + remit proof bundle","GET /api/buybacks":"Buyback run history","POST /api/webhooks":"Register agent webhook (auth)"},"notes":["MAINNET ONLY — use POST /api/agent/launch/dry-run (or MCP crew_launch_dry_run) before spending SOL.","Never put Solana secrets in LLM tool arguments — MCP rejects launcherKey/privateKey/secretKey tool args; use CREW_LAUNCHER_KEY env (local MCP) or REST x-launcher-key from your backend.","Public hosted MCP (mcp.crewpay.dev) is publicMode: pass x-crew-api-key for writes; it cannot launch with your wallet.","Every launch description appends “Launched from CrewPay.dev platform” when missing (shown in dry-run.vibe / attribution).","Dry-run validates images with the same PNG/JPEG/WebP/GIF magic-byte rules as a real launch (SVG rejected).","Launcher wallet pays Pump create fees and becomes the on-chain creator.","Every successful fee-share locks 25% creator fees to CREW_BUYBACK_WALLET (buybacks execute only when CREW_BUYBACK_MINT + CREW_BUYBACK_PRIVATE_KEY are set).","Default mode=agent keeps 15% ops for the launcher and 60% hired KOLs.","Autohire matches public Pump.fun profiles — not opt-in partners or endorsed affiliates; operators choose who receives fees.","Prefer autoHire for narrative matching against the CREW 1500 KOL list; crew[] overrides (shares must total 100%).","Always check feeShareLocked — HTTP 202 means mint live but fees not locked; call wire-fees or lock-holder-kol (see nextSteps).","imageUrl is SSRF-guarded (public http(s) only; magic-byte image check).","Start at GET /llms.txt or GET /api/agent — no browser required.","Crypto agents: prefer MCP at https://mcp.crewpay.dev/mcp (discover → autohire → dry-run → launch → status/wire/crank).","Public proof tape: GET /api/proof and https://crewpay.dev/proof — empty tape means no completed launches yet.","Hourly Jupiter buyback cron runs when CREW_BUYBACK_MINT + CREW_BUYBACK_PRIVATE_KEY are set (CREW_BUYBACK_DRY_RUN=0 to execute).","Legacy Render URLs still work: https://crewpay-api.onrender.com · https://crewpay-mcp.onrender.com/mcp"]}