analyze_market
ChatGPTPRIMARY TOOL for any question about a specific tradeable asset on Liquid. Use this whenever the user asks about an asset's price, outlook, positioning, sentiment, what an asset is doing, how traders are positioned, or wants analysis on a particular market. Liquid covers equities (TSLA, AAPL, NVDA), commodities (GOLD, SILVER, OIL), indices (SP500), crypto (BTC, ETH, SOL), and more. Returns real-time Liquid price, funding, OI, and positioning data. Do NOT use search_markets when the user asks about a specific known asset — use analyze_market instead.
analyze_markets_batch
ChatGPTCompare 2–10 markets side-by-side. Use when the user asks about more than one asset at once (e.g. 'how are BTC, ETH, and SOL looking?', 'compare gold to oil', 'show me my watchlist'). Returns a short text summary plus a multi-market widget. For deep single-asset analysis still use analyze_market.
cancel_paper_order
ChatGPTCancel an open paper order. Requires paper trading mode. Announce the action before calling. Never operates on a live account.
close_all_paper_positions
ChatGPTClose all paper positions or a specified subset. Requires paper trading mode. Announce the action before calling. Never operates on a live account.
close_paper_position
ChatGPTClose or partially reduce a paper position. Requires paper trading mode. Announce the action before calling. Never operates on a live account.
create_onramp_session
ChatGPTINTERNAL: Called by the deposit widget when the user confirms a fiat amount for credit card or Other Apps. Do not call directly. Returns { url }.
disable_paper_trading
ChatGPTExit paper trading mode and return to live account data. Trade widgets still link to Liquid and do not execute through this MCP. Call this when the user asks to 'stop paper trading', 'go back to live', 'trade real money', or similar. Idempotent — calling it when paper mode is already off is a no-op.
edit_watchlist
ChatGPTKeep favorite markets within reach by updating the authenticated user's named watchlists. Call this when the user asks to add, remove, or track a symbol on their watchlist (e.g. "add HYPE to my watchlist", "stop tracking ETH", "set my watchlist to BTC and SOL"). A user can have multiple named lists; the list field selects which one to edit (defaults to "Watchlist"). set replaces the named list's contents with exactly the given symbols, while add and remove merge against the current contents. set with no symbols clears the list. Returns the updated list.
enable_paper_trading
ChatGPTSwitch the current account into paper trading mode. When enabled, account reads, positions, and open orders route to the paper trading simulator with no real funds at risk. Call this whenever the user asks to 'paper trade', 'try trades without real money', 'practice', 'simulate', or similar. Idempotent — calling it twice simply keeps paper mode on.
enable_trading
ChatGPTCheck whether the user's Liquid account is ready for trading in Liquid and render the correct setup action. Use when the user asks to enable trading or after they fund their account. For funded embedded-wallet accounts that are missing the trading key, the widget opens the Liquid re-auth/setup flow. This MCP does not execute live trades; setup only prepares the user's Liquid account.
generate_deposit_address
ChatGPTINTERNAL: Called by the deposit widget when the user picks a token + chain for a crypto deposit. Do not call directly. Returns { address, chain, direct }. HyperCore resolves to the user's own wallet (direct=true, no bridging); other chains return a Relay bridge address (direct=false).
get_asset_profile
ChatGPTFundamentals for a ticker from Liquid's asset metadata: name, asset class, description, website, CEO, employees, sector/industry, headquarters, market cap, trailing P/E, circulating supply, and the last four quarters of revenue and net income. Equities carry the full profile; crypto and other asset classes may only have a description and circulating supply. Accepts a bare ticker ('NVDA') or a venue-prefixed symbol ('xyz:NVDA'). Use when the user asks about a company's market cap, valuation, fundamentals, 'what does X do', or recent earnings results — not for upcoming earnings dates (use upcoming_earnings).
get_earn_balance
ChatGPTRead the user's real Earn vault holdings: the USDC settled in Liquid's Gauntlet-managed Earn vault on Arbitrum, any pending (queued) deposit or withdrawal, the total committed, the deposit-lock time if any, and the vault's current APY and TVL. Use when the user asks about their Earn balance, holdings, position, vault, or yield, or whether a deposit or withdrawal landed. Earn holdings are not part of the trading balance get_portfolio reports, and get_transaction_history does not list vault activity. This reports real vault holdings regardless of whether paper trading is selected and does not change the selected trading mode.
get_news
ChatGPTGet recent market news headlines with source links, plus a Liquid unusual-activity section (tradeable symbols whose last-hour volume is anomalously high vs. 24h average). Covers equities, commodities, indices, crypto, and macro. Returns text for the model to reference — no visual widget. Use to cross-reference headlines against positioning data, or when the user asks 'what's happening in the markets' or about recent news. Returns curated trading headlines mapped to Liquid's tradeable markets.
get_portfolio
ChatGPTGet the user's complete portfolio — account balance, equity, margin, and all open positions with entry price, PnL, leverage, and TP/SL levels. Use when the user asks about their account, balance, positions, portfolio, how much they have, or their P&L. Also use this when the user asks about closing, reducing, or modifying a position so you can describe the current state and direct them to Liquid for live actions. The portfolio widget is read-only for positions. Do NOT confuse with view_open_orders — this shows POSITIONS (active holdings), not ORDERS (pending/resting). Call this before suggest_trade to get current balance and position details. Collateral routing: USDC perps use available USDC (account.available_balance). USDH-denominated assets (HIP-3 vntl:/flx:/km:) use the combined USDH-denominated capacity line under Currencies, which already rolls available USDH + USDC-convertible into one number — quote that, not raw USDH or raw USDC. Never tell the user to convert USDH→USDC before trading a USDH-denominated asset; check analyze_market's Collateral field to know which currency each market uses.
get_position_history
ChatGPTReconstruct the authenticated wallet's recent perpetual position lifecycles from its bounded Hyperliquid fill window. Use for past perpetual positions and their entry/exit execution details; this is recent-fill coverage, not all-time history, and an open result means open at the last observed fill only. For current balances or positions use get_portfolio. For transactions, transfers, deposits, or withdrawals use get_transaction_history. This tool is read-only, follows the current live or paper account mode, and never accepts a wallet or mode override.
get_positioning_pulse
ChatGPTMarket-wide cohort-bias snapshot across Liquid markets with positioning data coverage. Returns the most one-sided assets split into long-heavy and short-heavy buckets, with notional and position count. Use in the /markets flow BEFORE market_picks to ground picks in actual positioning, or when the user asks 'what's crowded?', 'what are traders long/short?', or wants a contrarian setup. Do NOT call for single-asset queries — use analyze_market instead.
get_staking
ChatGPTGet a rich view of the user's HYPE staking in one place: delegated and undelegated staking balance, per-validator delegations with predicted APR, commission and lockup, accrued staking rewards, pending unstaking withdrawals, and the highest-APR active validators. Use when the user asks about staking, delegating, validators, staking rewards or APR, or 'how much HYPE am I staking'. Staking balances are separate from the trading balance get_portfolio reports and are never part of trading collateral. This tool is read-only: it cannot stake, unstake or redelegate.
get_technical_indicators
ChatGPTExplore market momentum, trends, and volatility with the latest technical indicator values (RSI, MACD, SMA/EMA 20/50/200, Bollinger Bands, Stochastic, ATR, rolling VWAP, OBV) for one tradeable market from candle data, returned as structured JSON. Read-only market data; complements analyze_market, which serves broader pre-computed market analysis (price, funding, positioning).
get_transaction_history
ChatGPTBring the user's trading and money movement into one clear, newest-first activity timeline: trade fills, deposits, withdrawals, sends/receives, account transfers, and prediction-market trades with human-readable market names. Use when the user asks for their transactions, activity, trade history, past trades, deposit/withdrawal history, or 'what have I done recently'. Do NOT confuse with get_portfolio (current balances and open positions) or view_open_orders (resting orders) — this shows PAST activity. The response's paperMode flag applies only to Trade rows: while paper trading is active they are simulated fills, never real trades, but Deposit/Withdraw/Send/Receive/Transfer rows are always the user's real wallet activity and are never simulated — do not describe them as paper trades. Use the type filter to narrow to just trades, transfers, or prediction activity. Coverage is RECENT history, not all-time: each source contributes its most recent window (Liquid returns roughly the ~2000 most recent trade fills and ledger updates; prediction activity is the order history the backend returns), total counts rows in that fetched snapshot, and offset pages within it — not through older, unfetched history.
help
ChatGPTList Co-Invest's user-facing capabilities grouped by category. Call this when the user asks what you can do, says 'help', sends '/help', or seems unsure how to use the platform.
leaderboard_data
ChatGPTDiscover standout traders with the Liquid leaderboard. Ranks traders by metric (pnl, volume, points, streak) over duration (24H, 7D, 30D, all_time) and returns rank, display name, PnL, volume, points, streak, directional bias, and biggest position per trader. Pass asset to keep only traders whose biggest position is in that market (e.g. 'BTC', 'xyz:SP500'). points and streak are all-time boards, so duration is ignored for them. Use when the user asks about top traders, best performers this week, highest-volume traders, who holds a given asset, or leaderboard rankings. For a single named trader's standing use leaderboard_rank; for the user's own positions use get_portfolio.
leaderboard_rank
ChatGPTGet a focused view of one trader’s leaderboard standing on a given board. trader accepts a wallet address, display name, or @handle; omit it to check the authenticated user's own rank. Returns the rank plus PnL, volume, points, streak, bias, and biggest position when the trader is in the top 50, the rank alone for ranks 51-100, and says so when they are unranked. Use when the user asks 'where am I on the leaderboard?', 'what rank is X?', or how a specific trader is doing. Use leaderboard_data for whole-board listings.
market_picks
ChatGPTRender 5 news-driven trade picks as interactive cards. ONLY call this as the final step of the /markets command flow, after calling get_news(), search_markets(), and get_positioning_pulse(). Do NOT call for single-asset queries — use analyze_market instead. Each pick: asset, direction, news catalyst, reasoning — weight reasoning with the positioning pulse (contrarian vs. crowded) and the unusual-activity section from get_news.
paper_trading_status
ChatGPTReport whether paper trading is currently enabled for this account. Use when the user asks 'am I paper trading?' or you need to disambiguate account context before analysis.
payment_link
ChatGPTGenerate the signed-in user's payment link — their public Liquid profile URL, where anyone who opens it can sign in to Liquid and send them USDC. Called when the user wants to get paid, asks for a payment link or 'pay me' link, or wants someone to send them money on Liquid. Returns a share card with copy and share buttons. Requires sign-in; the link always points at the user's own profile. The link opens the user's public profile page, which also shows their trading activity.
plan_portfolio
ChatGPTBuild a multi-trade portfolio plan in one shot. Use this when the user asks for a 'portfolio', 'plan', 'how should I deploy $X', 'suggest a few trades', or any multi-position allocation question — instead of suggesting trades one at a time. PREREQUISITE: BEFORE calling this tool, you MUST collect the user's preferences using the client's built-in interactive question widget (the one rendered for AskUserQuestion / structured Q&A). NEVER ask the questions as a numbered prose list in chat — always use the native question UI. Required answers: (1) risk tolerance (conservative | moderate | aggressive), (2) time horizon (intraday | swing_week | position_long_term), (3) assetClasses as an array of one or more selected asset class strings from crypto, equities, commodities, indices, fx. Do NOT ask about balance — this tool fetches the user's available_balance from their portfolio and assumes they want to deploy all of it. Once you have the three answers, call this tool. It fetches the account balance + news + market-wide positioning + top-trader cohort + unusual volume in parallel (plus upcoming earnings when equities are selected) and returns a research bundle plus sizing rules and synthesis instructions. AFTER this tool returns, you must (a) write a 2–3 sentence thesis, (b) call suggest_trades_batch ONCE with that thesis plus all proposed legs as a basket, then (c) write a 1–2 sentence risk wrap. Do NOT call suggest_trade per-leg — always use suggest_trades_batch for portfolio plans. Do NOT write the trade plan in prose or a markdown table.
read_link
ChatGPTBring shared links into the conversation with rich post details and readable page content. For x.com/twitter.com status URLs, returns the post's author name, handle, verified flag, age, full text, and attached media via the X API (requires TWITTER_BEARER_TOKEN). For any other http(s) page, fetches it and returns title, meta description, and the main text content (truncated). Use when the user pastes a link, asks 'what does this post say', or wants a page summarized. Not for Liquid market or account data — use the dedicated tools for that.
refer
ChatGPTShow the authenticated user's referral link and stats. Called when the user types /refer, or whenever they want to refer someone to Liquid, invite friends, share the app, or ask for a referral link. Returns a widget with copy/share buttons and referral performance summary.
reset_paper_account
ChatGPTReset the current paper trading account back to its original state: wipes every open position, cancels every open order, clears fills / funding history / leverage overrides, and restores the balance to the default equity (10,000 USD). Only works while paper trading is enabled — refuses to run in live mode to prevent accidents. Use this when the user asks to 'reset my paper account', 'start over', 'give me a fresh 10k', 'wipe my paper trades', or similar. This is destructive and irreversible for the paper account; there is no confirmation step beyond the user's request.
search_markets
ChatGPTSearch or browse the authoritative list of tradeable markets on Liquid. Use when the user asks what markets are available, wants to browse assets, needs to find a specific market symbol, or asks whether Liquid can trade something. Returns top markets by volume if no query, or filtered results matching a search term. Liquid covers equities, commodities, indices, crypto, and other supported markets. Do NOT use this for single-asset analysis (price, outlook, positioning) — use analyze_market instead. No visual — use show_market_overview for the full dashboard view.
search_prediction_markets
ChatGPTSearch or browse Liquid prediction markets. Use this for event-style markets, yes/no outcomes, probabilities, or HIP-4 prediction markets. For sports markets, search by match/team names and optionally category, e.g. match='Ecuador Germany', category='World Cup'. Returns user-facing prediction market groups with each bettable outcome's numeric marketID and outcome_id (match markets list both sides, e.g. Mexico outcome_id=0 and England outcome_id=1). Pass that marketID and outcome_id directly to execute_prediction_order or show_prediction_orderbook; do not add a hip4: prefix. Bet on any outcome by buying it; bet against one by buying the opposing outcome.
set_paper_tp_sl
ChatGPTSet or update TP/SL on a paper position. Requires paper trading mode. Announce the action before calling. Never operates on a live account.
show_chart
ChatGPTRender a visual price chart (candlestick) widget for a specific asset. Only call when the user explicitly asks to see a chart, price history, or candlestick view (e.g. 'show me a chart of BTC', 'chart ETH'). Do NOT call for general price or analysis queries — use analyze_market instead, which returns price data as text without needing a visual chart.
show_deposit
ChatGPTShow the deposit widget so the user can fund their Liquid account. Offers credit card via Stripe, credit card via Swapped, Other Apps (Coinbase, MetaMask, etc.), and wallet transfer. The user picks a method in the widget.
show_market_overview
ChatGPTRender a visual market overview dashboard showing Liquid's full multi-asset trading surface, including equities, commodities, indices, crypto, and other supported markets. Only call when the user explicitly asks to see all markets, wants the full dashboard view, or asks for a visual overview of market activity. Do NOT use for single-asset queries — use analyze_market instead. Do NOT use for text-only market listings — use search_markets instead.
show_orderbook
ChatGPTRender an orderbook depth view widget for a specific asset. Only call when the user explicitly asks to see the order book, bid/ask spread, or market depth for a specific market. Do NOT call for general price or analysis queries — use analyze_market instead.
show_portfolio_chart
ChatGPTRender a visual pie chart of portfolio allocation by notional value. Only call when the user explicitly asks to see a portfolio chart, allocation breakdown, or visual representation of their positions. Do NOT call for general portfolio/balance queries — use get_portfolio instead, which returns text data.
show_prediction_orderbook
ChatGPTGet the orderbook for a HIP-4 prediction market outcome. Use the numeric marketID from search_prediction_markets as market_id with no hip4: prefix. Use the outcome_id from the search row (defaults to 0, the YES/first side).
suggest_order
ChatGPTPrepare a paper-only order review link in Liquid after checking market and account context. This tool never places an order and cannot choose live mode. Paper trading mode must already be active for your wallet. Review the prefilled order in Liquid and confirm paper mode before placing it. Size is notional USD; sizeBasis preserves the user’s intended collateral or notional when leverage changes.
suggest_trade
ChatGPTSuggest a trade with an interactive widget that links to Liquid with the order panel pre-filled. When your analysis concludes with a specific directional trade (asset + side + size), call this tool to render the trade card instead of writing the parameters in prose or a markdown table. Only call when you have a concrete, data-backed trade recommendation — always call analyze_market first to gather data. Requires: asset, side, leverage, orderType, size, reasoning. TP/SL optional. This MCP does not execute orders; the user must review and place any trade in the Liquid app. Do NOT call on purely informational queries. 'No trade' is a valid position. PREREQUISITE: call get_portfolio first to check available_balance. available_balance is margin/collateral capacity, not notional. The trade link is also hard-capped against current available margin before it is generated.
suggest_trades_batch
ChatGPTSuggest 2–8 related trades together as a basket with links to Liquid for review. Use ONLY when the user explicitly asks for multiple trades at once (e.g. 'long BTC and short ETH', 'open my pairs trade', 'give me a basket'). For a single trade always use suggest_trade. PREREQUISITE: call get_portfolio first and verify available_balance covers the SUM of required margin/collateral, not the SUM of notionals. The basket link is also hard-capped against current available margin before it is generated. Each trade is validated independently — invalid trades are rejected with a clear reason. This MCP does not execute orders; the user must review and place any trade in the Liquid app.
upcoming_earnings
ChatGPTStay ahead of upcoming earnings catalysts for companies tradeable on Liquid (HL HIP-3 stock dexes), from the Nasdaq calendar. Returns days[] with preMarket/postMarket/unspecified buckets; each company has symbol, name, epsForecast, marketCap, and a markets[] list whose prefixed_symbol (e.g. 'xyz:NVDA') is the exact coin field for analyze_market and suggest_trade. Window: 'week' (default, next 7 days) or 'month' (next 30). Use during /markets to surface earnings catalysts, or when the user asks 'what earnings are coming up?', 'who reports this week?', or about a specific upcoming earnings play.
update_paper_leverage
ChatGPTUpdate leverage on a paper position. Requires paper trading mode. Announce the action before calling. Never operates on a live account.
view_open_orders
ChatGPTList the user's currently open orders — includes resting limit orders and position-level trigger orders (TP/SL). Use when the user asks about pending orders, working orders, resting limits, or current TP/SL levels. Do NOT confuse with get_portfolio — this shows ORDERS (pending/resting), not POSITIONS (active holdings). Returns text (no widget) with order id, symbol, side, kind (limit/tp/sl/trigger), size, price or trigger, and flags. This MCP does not cancel or modify orders; direct the user to Liquid if they want to act on an open order.
view_prediction_orders
ChatGPTList prediction-market orders. Use status=open for cancellable resting orders. The returned orderId and provider can be passed to cancel_prediction_order.
view_prediction_positions
ChatGPTList the user's prediction-market positions, including HIP-4 outcome quantities. Use for questions about prediction bets, YES/NO holdings, or event-market exposure.