Dashboards

Overview of key metrics and performance indicators

WebMCP tools

This dashboard exposes a read-only tool catalogue to in-browser agents through the WebMCP browser API. This page renders that same catalogue for humans; nothing here invokes a tool.

Agent surfaces

window.orderlyWebMcp is published on every dashboard page at runtime. It exposes webmcpSupported, toolCount, the tools catalogue, a call(name, args) entry point, and local stats() counters.

Browsers without native WebMCP support and non-JS agents can read the crawlable manifest at /webmcp.json. It contains the same tool definitions without execute callbacks.

45 tools

get_site_overviewSite OverviewRead-only

START HERE. Returns a map of this site: what it is, its areas, which tools back each area, common multi-step flows, parameter conventions, and suggested first queries. Call this once to get oriented before using the other tools. This is a read-only analytics dashboard for the Orderly Network perpetual-futures DEX; it does not place trades.

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
get_dashboard_mainPlatform Daily TotalsRead-only

Daily platform totals for Orderly: taker/cumulative volume, revenue (fees), TVL, deposits/withdrawals, new accounts/addresses, and active builders, as a historical time series. For a live snapshot use get_market_summary; for weekly/monthly user aggregates use get_metrics_overview. Returns rows newest-last over the trailing `days` window.

{
  "type": "object",
  "properties": {
    "days": {
      "type": "number",
      "description": "Trailing days (default 90, max 730)."
    }
  },
  "required": [],
  "additionalProperties": false
}
get_tvl_by_chainTVL by ChainRead-only

Total Value Locked broken down by chain, plus a total row. Drives the TVL By Chain widget. Returns newest snapshot rows.

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
get_tvl_by_tokenTVL by TokenRead-only

TVL and token balance held per collateral token over a trailing window. Drives the TVL By Token widget.

{
  "type": "object",
  "properties": {
    "days": {
      "type": "number",
      "description": "Trailing days (default 30, max 730)."
    }
  },
  "required": [],
  "additionalProperties": false
}
get_weekly_symbol_volumeWeekly Symbol VolumeRead-only

Weekly per-symbol volume and listed-markets count from the analytics API. For the live market list (prices, 24h change, open interest) use get_markets.

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
get_funding_ratesFunding RatesRead-only

8-hour funding rates for every perpetual symbol, from a trailing start date. For cross-exchange funding comparisons use get_funding_comparison.

{
  "type": "object",
  "properties": {
    "days": {
      "type": "number",
      "description": "Trailing days for the start date (default 30)."
    }
  },
  "required": [],
  "additionalProperties": false
}
get_daily_liquidations_by_symbolDaily Liquidations by SymbolRead-only

Daily liquidation notional aggregated per perpetual symbol across all markets. For individual recent liquidation events of one symbol use get_recent_liquidations.

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
get_staking_dailyDaily StakingRead-only

Daily $ORDER staking metrics: staked/unstaked/net amounts, cumulative staker addresses, buybacks, and burned ORDER. Drives the Staking Daily widget.

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
get_builder_dailyBuilder Daily MetricsRead-only

Per-builder daily metrics: taker/maker/total volume, active users, broker fees, and net flow. Drives the Builder Volume, Builder Active Traders, Builder Revenue, and Net Flow By Builder widgets.

{
  "type": "object",
  "properties": {
    "days": {
      "type": "number",
      "description": "Trailing days (default 30, max 730)."
    }
  },
  "required": [],
  "additionalProperties": false
}
get_fund_flows_by_brokerFund Flows by BuilderRead-only

Daily deposits, withdrawals, and net fund flow per broker. Drives the Net Flow By Builder widget (fund-flow variant).

{
  "type": "object",
  "properties": {
    "days": {
      "type": "number",
      "description": "Trailing days (default 30, max 730)."
    }
  },
  "required": [],
  "additionalProperties": false
}
get_fund_flows_by_chainFund Flows by ChainRead-only

Daily deposits, withdrawals, and net fund flow per chain. Drives the Fund Flows By Chain widget.

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
get_dex_usersDEX UsersRead-only

Per-builder user activity snapshot: DAU/WAU/MAU with day/week/month-over-month deltas and new-user counts. Drives the DEX Users widget.

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
get_metrics_overviewMetrics OverviewRead-only

Weekly and monthly aggregates for new users, active users, trading volume, and Orderly revenue. For daily historical totals use get_dashboard_main.

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
get_volume_segmentsVolume SegmentsRead-only

Weekly trading volume split by market-maker vs retail segment. Drives the Volume Segments widget.

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
get_stake_usersStake UsersRead-only

Weekly average active stakers. Drives the Stake Users widget.

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
get_stake_vs_supplyStake vs SupplyRead-only

Weekly ORDER staked vs circulating supply and staking ratio. Drives the Stake vs Supply widget.

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
get_omnivault_tvlOmniVault TVLRead-only

Weekly average TVL per OmniVault (USD millions). Drives the OmniVault TVL widget.

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
get_distributor_statsDistributor StatsRead-only

Referral distributor statistics: invitee counts, graduated invitees, revenue share, and fee tier. Drives the Distributors widget. Returns an array of distributor rows.

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
get_distributor_inviteesDistributor InviteesRead-only

Per-invitee detail for referral distributors: invite date, DEX, status, and 30D volume/revenue share. Returns an array of invitee rows.

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
get_market_shareDEX Market ShareRead-only

Orderly's DEX perpetuals market share vs. other on-chain perp venues, computed from CoinGecko 24h derivatives volume and DefiLlama open interest. Drives the Market Share widget. Returns ranked protocols with volume, open interest, and share %.

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
get_marketsMarketsRead-only

Snapshot of all active perpetual markets: the futures market list, 24h price changes, and per-symbol open interest. Drives the Markets page. Returns an object { markets, priceChanges, openInterest }. Each market row reports 24h volume as volume_24h_usd (USD notional) and volume_24h_base (base-token quantity), and open interest as open_interest_usd (notional, oi * mark_price) and open_interest_base (base-token quantity); the raw upstream names 24h_amount / 24h_volume / open_interest are not returned. priceChanges rows report percent changes per window (change_5m_pct … change_30d_pct) computed from last_price, not the raw lookback prices; openInterest rows report long_oi_base / short_oi_base plus long_oi_usd / short_oi_usd. Optional search (a case-insensitive substring on the symbol), sort_by (volume_24h_usd | volume_24h_base | change_24h_pct | open_interest_usd | open_interest_base | symbol), limit (max 200), and desc (default true) filter and rank the markets and trim the priceChanges / openInterest arrays to the same symbol set. Defaults to the top 50 markets by USD volume; pass limit: 200 for the full set.

{
  "type": "object",
  "properties": {
    "search": {
      "type": "string",
      "description": "Case-insensitive substring on the symbol (e.g. \"btc\", \"sol\", \"perp_btc\")."
    },
    "sort_by": {
      "type": "string",
      "enum": [
        "volume_24h_usd",
        "volume_24h_base",
        "change_24h_pct",
        "open_interest_usd",
        "open_interest_base",
        "symbol"
      ],
      "description": "Rank markets by this metric (default: volume_24h_usd). volume_24h_usd is USD notional; volume_24h_base is base-token quantity; change_24h_pct is the percent price change over 24h; open_interest_usd is OI notional, open_interest_base is OI in base-token quantity."
    },
    "limit": {
      "type": "number",
      "description": "Max markets to return after filter/sort (default 50; max 200)."
    },
    "desc": {
      "type": "boolean",
      "description": "Sort descending (default true)."
    }
  },
  "required": [],
  "additionalProperties": false
}
get_market_detailMarket DetailRead-only

Composite single-symbol bundle for the market detail page. Returns only the requested sections (default: all of market info, top-50 orderbook levels, recent trades, funding history, and OHLCV candles). Requesting fewer sections keeps the payload small. Drives the Price Chart, Orderbook, Recent Trades, and Funding Chart.

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "description": "Perp symbol. Accepts a base tick (BTC) or full form (PERP_BTC_USDC)."
    },
    "include": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "market_info",
          "orderbook",
          "recent_trades",
          "funding_history",
          "candles"
        ]
      },
      "description": "Sections to return; omit for all."
    },
    "candles_interval": {
      "type": "string",
      "enum": [
        "5m",
        "15m",
        "1h",
        "4h",
        "1d"
      ],
      "description": "Candle interval (default '1h'). One of: 5m, 15m, 1h, 4h, 1d."
    }
  },
  "required": [
    "symbol"
  ],
  "additionalProperties": false
}
get_symbol_infoSymbol InfoRead-only

Full configuration for a single perpetual symbol: leverage limits (1/base_imr), tick/lot sizes, price precision, and status flags. Returns the symbol info object.

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "description": "Perp symbol: base tick (ETH) or full form."
    }
  },
  "required": [
    "symbol"
  ],
  "additionalProperties": false
}
get_market_summaryMarket SummaryRead-only

Live platform-wide market snapshot: 24h volume, open interest, trader counts, and fee totals across all symbols. For historical daily time series use get_dashboard_main; for weekly/monthly user aggregates use get_metrics_overview.

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
get_funding_comparisonFunding Rate ComparisonRead-only

Cross-exchange funding rate comparison: last value plus 1d/7d/30d averages per symbol across venues (Orderly vs. Binance, Bybit, etc.). Omit symbol for all symbols. For per-symbol 8h funding history use get_funding_rates.

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "description": "Perp symbol: base tick (BTC) or full form; omit for all."
    }
  },
  "required": [],
  "additionalProperties": false
}
get_recent_liquidationsRecent LiquidationsRead-only

Recent individual liquidation events for one symbol: side, size, notional, mark/liquidation price, and the liquidated account. For daily liquidation totals aggregated across all symbols use get_daily_liquidations_by_symbol.

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "description": "Perp symbol: base tick (BTC) or full form (PERP_BTC_USDC)."
    },
    "limit": {
      "type": "number",
      "description": "Max events (default 50, max 500)."
    }
  },
  "required": [
    "symbol"
  ],
  "additionalProperties": false
}
get_top_tradersTop TradersRead-only

Top addresses ranked by a chosen metric (notional, volume, PnL, or trade count) for a symbol or platform-wide. Paginated via cursor. Drives the Top Traders panel and Whale Leaderboard.

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "description": "Perp symbol: base tick (BTC) or full form; omit for platform-wide."
    },
    "sort_by": {
      "type": "string",
      "enum": [
        "notional",
        "volume_24h",
        "volume_7d",
        "volume_30d",
        "pnl_24h",
        "pnl_7d",
        "pnl_30d",
        "trade_count_24h"
      ],
      "description": "Ranking metric (default notional)."
    },
    "min_notional": {
      "type": "number",
      "description": "Minimum notional filter (default 0)."
    },
    "limit": {
      "type": "number",
      "description": "Page size (default 50, max 200)."
    },
    "cursor": {
      "type": "string",
      "description": "Opaque pagination cursor from a previous response — pass it back unchanged."
    }
  },
  "required": [],
  "additionalProperties": false
}
get_whale_contextWhale ContextRead-only

Whale research bundle for a single address: account state (collateral, PnL), open positions, and recent trades. Requires an address; optionally scope to a broker or account_id. Drives the Whale Detail modal.

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Wallet address (EVM 0x…)."
    },
    "broker_id": {
      "type": "string",
      "description": "Broker to scope to (optional)."
    },
    "account_id": {
      "type": "string",
      "description": "Account ID to scope to (optional)."
    },
    "recent_trades_limit": {
      "type": "number",
      "description": "Max trades (default 20, max 100)."
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false
}
get_platform_positionsPlatform PositionsRead-only

Platform-wide open positions for a symbol (large-position liquidation-heatmap data). Returns up to 1000 positions filtered by minimum notional. Drives the Liquidation Heatmap.

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "description": "Perp symbol: base tick (BTC) or full form."
    },
    "min_notional": {
      "type": "number",
      "description": "Minimum position notional (default 0)."
    }
  },
  "required": [
    "symbol"
  ],
  "additionalProperties": false
}
get_insurance_fundInsurance FundRead-only

Orderly insurance fund balance, holdings, and status. Drives the Insurance Fund widget.

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
get_leaderboardTrading LeaderboardRead-only

Daily trading leaderboard: realized PnL and perp volume per trader over a date range (YYYY-MM-DD). Supports pagination, broker/address filters, sort, and aggregation by address, account, or date. Drives the Leaderboard (trading) tab.

{
  "type": "object",
  "properties": {
    "start_date": {
      "type": "string",
      "description": "Inclusive start, YYYY-MM-DD."
    },
    "end_date": {
      "type": "string",
      "description": "Inclusive end, YYYY-MM-DD."
    },
    "page": {
      "type": "number",
      "description": "1-based page (default 1)."
    },
    "size": {
      "type": "number",
      "description": "Page size (default 20, max 100)."
    },
    "sort": {
      "type": "string",
      "enum": [
        "ascending_realized_pnl",
        "descending_realized_pnl",
        "ascending_perp_volume",
        "descending_perp_volume"
      ],
      "description": "Default descending_realized_pnl."
    },
    "broker_id": {
      "type": "string"
    },
    "address": {
      "type": "string",
      "description": "Filter to a wallet address."
    },
    "aggregateBy": {
      "type": "string",
      "enum": [
        "address",
        "address_per_builder",
        "date",
        "account"
      ]
    }
  },
  "required": [
    "start_date",
    "end_date"
  ],
  "additionalProperties": false
}
get_positionsOpen PositionsRead-only

Open-positions leaderboard: largest open positions by notional, optionally filtered by account, broker, or symbol. Drives the Leaderboard (positions) tab.

{
  "type": "object",
  "properties": {
    "account_id": {
      "type": "string"
    },
    "broker_id": {
      "type": "string"
    },
    "symbol": {
      "type": "string",
      "description": "Perp symbol: base tick (BTC) or full form (PERP_BTC_USDC)."
    },
    "offset": {
      "type": "number",
      "description": "Pagination offset (default 0)."
    },
    "limit": {
      "type": "number",
      "description": "Page size (default 50, max 500)."
    },
    "order_by": {
      "type": "string",
      "enum": [
        "ASC",
        "DESC"
      ],
      "description": "Default DESC."
    }
  },
  "required": [],
  "additionalProperties": false
}
resolve_addressResolve AddressRead-only

Resolve a wallet address or account ID into its Orderly broker/account pairs. Accepts an EVM address (0x + 40 hex), a Solana address (43-44 base58 chars), or an account ID (0x + 64 hex). Returns an array of {broker_id, account_id, …} pairs for the identity. For address queries (not account IDs) each account is enriched with 90-day perp_volume and realized_pnl, sorted by volume descending — matching the Search results page. First step of the Explorer/address flow.

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "EVM address, Solana address, or Orderly account ID."
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false
}
get_eventsAccount EventsRead-only

Historical trading events for an account: trades, settlements, liquidations, ADLs, and margin transfers (versioned v1/v2/v3 already flattened to a uniform shape). Time range is capped at 31 days; omit both times for the most recent page. Drives the address Events tab. Returns { events, nextCursor, pageSizeLimit, tradesCount }; pass the nextCursor back as the cursor param to fetch the next page.

{
  "type": "object",
  "properties": {
    "account_id": {
      "type": "string",
      "description": "Orderly account ID (0x + 64 hex)."
    },
    "event_type": {
      "type": "string",
      "enum": [
        "TRANSACTION",
        "PERPTRADE",
        "SETTLEMENT",
        "LIQUIDATION",
        "ADL",
        "MARGINTRANSFER"
      ]
    },
    "from_time": {
      "type": "number",
      "description": "Inclusive start, Unix seconds."
    },
    "to_time": {
      "type": "number",
      "description": "Inclusive end, Unix seconds."
    },
    "cursor": {
      "type": "object",
      "additionalProperties": true,
      "description": "Opaque pagination cursor (the nextCursor value from a prior response). Do not construct this object yourself — only pass back the cursor you received."
    }
  },
  "required": [
    "account_id"
  ],
  "additionalProperties": false
}
get_account_stateAccount StateRead-only

Account snapshot for an address: collateral, margin ratios, 24h PnL, and all OPEN positions (qty, notional, entry/mark price, leverage, est. liquidation price). Drives the address Positions tab.

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Wallet address (EVM 0x…)."
    },
    "broker_id": {
      "type": "string"
    },
    "account_id": {
      "type": "string"
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false
}
get_portfolioPortfolioRead-only

Daily account-value time series with cumulative PnL (equity curve) for an address, up to 365 days. Drives the Portfolio Chart on the address page.

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Wallet address (EVM 0x…)."
    },
    "broker_id": {
      "type": "string"
    },
    "account_id": {
      "type": "string"
    },
    "start_time": {
      "type": "number",
      "description": "Inclusive start, Unix seconds."
    },
    "end_time": {
      "type": "number",
      "description": "Inclusive end, Unix seconds."
    },
    "limit": {
      "type": "number",
      "description": "Max snapshots (default 90, max 365)."
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false
}
get_brokersBrokersRead-only

Directory of all Orderly brokers (broker_id → human-readable broker_name), sorted by name. Use to label broker_id values returned by other tools.

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
get_all_symbolsSymbolsRead-only

Every known perp symbol (including delisted) as a hash→name map: {symbol, symbol_hash}. Use to resolve keccak256 symbol hashes in event/position data to display names. Active symbols are also available via get_markets.

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
get_all_tokensTokensRead-only

Every known settlement/collateral token as a hash→name map: {token, token_hash}. Use to resolve keccak256 token hashes in settlement/fee fields to display names.

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
open_marketOpen MarketAction

Navigate the user to a market detail page. Pass a base tick (BTC), the full form (PERP_BTC_USDC), or a broker-suffixed variant (PERP_AAPL_USDC_mythos). The page renders a graceful "Market Not Found" for unknown symbols, so no pre-validation is performed — the user lands on the right place regardless.

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "description": "Market symbol (e.g. BTC, ETH, PERP_BTC_USDC)."
    }
  },
  "required": [
    "symbol"
  ],
  "additionalProperties": false
}
open_addressOpen AddressAction

Navigate the user to an address / account detail page. Accepts an EVM address (0x + 40 hex), an Orderly account_id (0x + 64 hex), or a Solana base58 address. Solana addresses are url-safe-base64 encoded to match in-app AddressLink links.

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "EVM address, Solana address, or Orderly account_id."
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false
}
focus_widgetFocus WidgetAction

Scroll a dashboard widget into the user's view and highlight it briefly. Only widgets present on the current page can be focused (widgets render on specific pages, not everywhere). Use get_site_overview to learn which widgets live where.

{
  "type": "object",
  "properties": {
    "widget_id": {
      "type": "string",
      "enum": [
        "volume",
        "tvl-chain",
        "net-fees",
        "overview",
        "dex-users",
        "market-share",
        "volume-segments",
        "omnivault-tvl",
        "stake-users",
        "stake-vs-supply",
        "distributors",
        "fees-stats",
        "builder-volume",
        "builder-active-traders",
        "builder-revenue",
        "net-flow-by-builder",
        "tvl-by-token",
        "leaderboard",
        "positions",
        "kpi-analyst",
        "funding-comparison",
        "funding-rates",
        "staking-daily",
        "fund-flows-by-chain",
        "liquidations-by-symbol",
        "liquidation-heatmap",
        "insurance-fund",
        "market-price-chart",
        "market-orderbook",
        "market-recent-trades",
        "market-funding-chart",
        "market-recent-liquidations",
        "market-top-traders",
        "market-platform-positions"
      ],
      "description": "Widget id to focus."
    }
  },
  "required": [
    "widget_id"
  ],
  "additionalProperties": false
}
share_widgetShare WidgetAction

Open the share dialog for a dashboard widget, presenting the user with the widget's embed/share link. Only works when the widget and its share button are rendered on the current page (share buttons are hidden on embeds).

{
  "type": "object",
  "properties": {
    "widget_id": {
      "type": "string",
      "enum": [
        "volume",
        "tvl-chain",
        "net-fees",
        "overview",
        "dex-users",
        "market-share",
        "volume-segments",
        "omnivault-tvl",
        "stake-users",
        "stake-vs-supply",
        "distributors",
        "fees-stats",
        "builder-volume",
        "builder-active-traders",
        "builder-revenue",
        "net-flow-by-builder",
        "tvl-by-token",
        "leaderboard",
        "positions",
        "kpi-analyst",
        "funding-comparison",
        "funding-rates",
        "staking-daily",
        "fund-flows-by-chain",
        "liquidations-by-symbol",
        "liquidation-heatmap",
        "insurance-fund",
        "market-price-chart",
        "market-orderbook",
        "market-recent-trades",
        "market-funding-chart",
        "market-recent-liquidations",
        "market-top-traders",
        "market-platform-positions"
      ],
      "description": "Widget id to share."
    }
  },
  "required": [
    "widget_id"
  ],
  "additionalProperties": false
}
get_current_viewCurrent ViewRead-only

Read-only snapshot of what the user is currently looking at: the current route/URL, the page area, the active market symbol (base tick) when on a market page, and the list of widget ids currently rendered on screen (valid inputs for focus_widget / share_widget / get_widget_url). Call this to ground yourself in the user's current view before navigating or pointing at a widget. After open_market or open_address, call this to confirm the destination rendered — the result includes a status (loading | ready | not-found | error) and, when available, a short summary.

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
get_widget_urlWidget URLRead-only

Return the embeddable share URL for a dashboard widget — the same link the Share dialog produces — without opening any UI. Use this to give the user a link to a widget. Market widgets (market-*) take an optional symbol.

{
  "type": "object",
  "properties": {
    "widget_id": {
      "type": "string",
      "enum": [
        "volume",
        "tvl-chain",
        "net-fees",
        "overview",
        "dex-users",
        "market-share",
        "volume-segments",
        "omnivault-tvl",
        "stake-users",
        "stake-vs-supply",
        "distributors",
        "fees-stats",
        "builder-volume",
        "builder-active-traders",
        "builder-revenue",
        "net-flow-by-builder",
        "tvl-by-token",
        "leaderboard",
        "positions",
        "kpi-analyst",
        "funding-comparison",
        "funding-rates",
        "staking-daily",
        "fund-flows-by-chain",
        "liquidations-by-symbol",
        "liquidation-heatmap",
        "insurance-fund",
        "market-price-chart",
        "market-orderbook",
        "market-recent-trades",
        "market-funding-chart",
        "market-recent-liquidations",
        "market-top-traders",
        "market-platform-positions"
      ],
      "description": "Widget id to get a link for."
    },
    "symbol": {
      "type": "string",
      "description": "Symbol for market widgets (e.g. BTC). Ignored for non-market widgets."
    }
  },
  "required": [
    "widget_id"
  ],
  "additionalProperties": false
}