{"ok":true,"name":"PumpBotPro","version":"v1","release":"v2.6 Full Surface","base_url":"https://agentfx.fun/api/v1","description":"Non-custodial Solana pump.fun execution API for autonomous AI agents. Agent holds its own keypair; this API never sees private keys.","docs":"https://agentfx.fun/skill.md","openapi":"https://agentfx.fun/api/v1/openapi.json","auth":{"modes":["api-key (gate)","x402 (pay-per-key)","wallet-signature (SIWS)"],"recommended":"api-key","api_key":{"endpoint":"https://agentfx.fun/api/v1/keys/issue","method":"POST","body":{"wallet":"<pubkey holding ≥ 10000 $AGENTF>"},"ttl_seconds":7776000,"cost":"free (token-gated)"},"x402":{"endpoint":"https://agentfx.fun/api/v1/x402/pricing","pay_to":"ArQi1jCnvFQsF2sVhGJMWx9tVedDYeGZJDWG9pN12MpX","price_sol":0.01,"redeem":"https://agentfx.fun/api/v1/x402/redeem","ttl_seconds":7776000,"cost":"0.01 SOL one-time"},"siws":{"challenge":"https://agentfx.fun/api/v1/wallet/challenge?wallet=<pubkey>","verify":"https://agentfx.fun/api/v1/wallet/verify","note":"Use only if your agent SDK supports Ed25519 signMessage."}},"endpoints":[{"method":"GET","path":"/api/v1/info","desc":"This catalog"},{"method":"GET","path":"/api/v1/health","desc":"Liveness probe"},{"method":"GET","path":"/api/v1/openapi.json","desc":"OpenAPI 3.1 spec"},{"method":"GET","path":"/api/v1/postman.json","desc":"Postman 2.1 collection"},{"method":"GET","path":"/api/v1/config","desc":"Default bot strategy parameters"},{"method":"GET","path":"/api/v1/stats","desc":"Anonymized aggregate telemetry"},{"method":"GET","path":"/api/v1/events?limit=50","desc":"Recent anonymized events"},{"method":"POST","path":"/api/v1/keys/issue","desc":"Free API key for $AGENTF holders (gate-verified, 90d)"},{"method":"GET","path":"/api/v1/x402/pricing","desc":"Pay-per-key Solana micropayment terms"},{"method":"POST","path":"/api/v1/x402/redeem","desc":"Redeem a Solana tx signature → 90d API key"},{"method":"GET","path":"/api/v1/wallet/connect","desc":"Non-custodial connection guide"},{"method":"GET","path":"/api/v1/wallet/challenge?wallet=PK","desc":"Issue signing nonce (SIWS)"},{"method":"POST","path":"/api/v1/wallet/verify","desc":"Verify Ed25519 signature → API key (Bearer)"},{"method":"GET","path":"/api/v1/wallet/session","desc":"Inspect Bearer token"},{"method":"GET","path":"/api/v1/bot/gate?wallet=PK","desc":"Check on-chain $AGENTF balance"},{"method":"POST","path":"/api/v1/bot/quote","desc":"Build unsigned pump.fun buy/sell tx (raw)"},{"method":"POST","path":"/api/v1/orders","desc":"Open order — alias for buy quote"},{"method":"POST","path":"/api/v1/positions/close","desc":"Close position — alias for sell quote (default 100%)"},{"method":"POST","path":"/api/v1/execute","desc":"Submit a signed base64 tx to Solana mainnet → returns signature"},{"method":"POST","path":"/api/v1/bot/start","desc":"Register agent loop with strategy (returns playbook)"},{"method":"POST","path":"/api/v1/bot/stop","desc":"Acknowledge stop (agent owns the loop)"},{"method":"GET","path":"/api/v1/bot/status?wallet=PK","desc":"Gate + recent events + active strategy"},{"method":"GET","path":"/api/v1/tokens/new","desc":"Latest Solana token profiles (snapshot)"},{"method":"GET","path":"/api/v1/market/data?mint=MINT","desc":"Live price / mcap / liquidity for a pump.fun mint"},{"method":"GET","path":"/api/v1/stream","desc":"WebSocket info (real-time price + trade feed)"},{"method":"GET","path":"/api/v1/strategy/schema","desc":"Tunable strategy fields with bounds & units"},{"method":"POST","path":"/api/v1/strategy/validate","desc":"Normalize/clamp a partial strategy (advisory)"}],"websocket":{"url":"wss://pumpportal.fun/api/data","protocol":"pumpportal-json","subscribe_examples":[{"method":"subscribeNewToken"},{"method":"subscribeTokenTrade","keys":["<mint1>","<mint2>"]}],"docs":"https://agentfx.fun/api/v1/stream"},"notes":["Three auth modes — pick whichever your agent SDK supports.","Bot/quote, /orders, /positions/close return unsigned versioned txs (base64). Agent signs locally and submits to any Solana RPC or POST /api/v1/execute.","API is non-custodial: PumpBotPro never sees or stores private keys."]}