{"name":"LP Agent Toolkit","version":"2.4.0-redis-persistence","status":"running","docs":"https://mnm-web-seven.vercel.app","github":"https://github.com/JoeStrangeQ/solana-lp-mpc-toolkit","features":["MPC Custody","Arcium Privacy","Stateless API","Multi-DEX LP","Position Monitoring","Webhook Alerts","Redis Persistence","Multi-Oracle Pricing","MEV-Protected Swaps","MCP Server","Dynamic Priority Fees"],"design":"STATELESS - pass walletId on every request","flow":["1. POST /wallet/create -> get walletId","2. Agent stores walletId in its context","3. All subsequent calls pass walletId"],"endpoints":["GET  /health                         -> status + monitoring info + storage type","GET  /fees","GET  /fees/calculate?amount=1000","GET  /pools/scan?tokenA=SOL&tokenB=USDC","GET  /pools/top?limit=5&riskMax=7    -> top pools with risk scoring","GET  /pools/:address/risk            -> risk assessment for a pool","POST /encrypt","GET  /encrypt/info","POST /wallet/create                  -> returns walletId","GET  /wallet/:walletId               -> wallet info","GET  /wallet/:walletId/balance       -> balance","POST /lp/open    { walletId, ... }   -> open position","POST /lp/close   { walletId, ... }   -> close position","POST /lp/execute { walletId, ... }   -> full pipeline","POST /lp/withdraw  { walletAddress, poolAddress, positionAddress } -> withdraw with PnL","POST /lp/withdraw/atomic { ..., convertToSol } -> atomic withdrawal via Jito","POST /fees/claim { walletAddress, poolAddress, positionAddress } -> claim fees only","POST /fees/compound { ... } -> claim + instructions to re-add","POST /lp/rebalance { walletId, poolAddress, positionAddress, ... } -> prepare rebalance","POST /lp/rebalance/execute { ... }   -> execute atomic rebalance","GET  /positions/:walletId            -> list positions (with token names & prices)","GET  /positions?address=...          -> list positions by address","GET  /positions/:walletId/risk       -> risk assessment for all positions","GET  /risk/volatility/:symbol        -> token volatility data","POST /chat       { message, walletId? }","--- Monitoring ---","POST /monitor/add                    -> add position to monitor","DELETE /monitor/remove/:address      -> stop tracking position","GET  /monitor/positions              -> list all monitored positions","GET  /monitor/status/:address        -> get current status of position","POST /monitor/webhook                -> configure webhook for alerts","GET  /monitor/webhook                -> get webhook config","POST /monitor/webhook/test           -> send test alert to webhook","DELETE /monitor/webhook              -> remove webhook","POST /monitor/check                  -> manually trigger check","--- Oracle ---","GET  /oracle/price?mint=<address>    -> aggregated price (Pyth + Jupiter)","POST /oracle/prices { mints: [...] } -> batch prices","--- Ultra Swap (MEV-Protected) ---","POST /ultra/order { inputToken, outputToken, amount, walletAddress } -> create MEV-protected order","POST /ultra/execute { requestId, signedTransaction } -> execute signed order"]}