{
  "id": "surf.hyperliquid.performance",
  "object": "tool",
  "name": "Trading Performance",
  "summary": "Returns the connected user's lifetime trading-performance summary — the dashboard header: re-rolled realized performance (win rate, profit factor, gross/net PnL — funding-excluded, net = gross − fees), the live position snapshot, and account value.",
  "description": "Returns the connected user's lifetime trading-performance summary — the dashboard header: re-rolled realized performance (win rate, profit factor, gross/net PnL — funding-excluded, net = gross − fees), the live position snapshot, and account value. This is a lifetime, point-in-time summary: it takes NO from/to window (use /hyperliquid/trades for windowed, paginated closed trades) and carries NO trade list. account_value is the live perp clearinghouse equity only — NOT total portfolio; for total equity incl. spot/vault use /hyperliquid/account (total_value_usd). Sections degrade independently: a failed section is named in errors[] and the call still returns 200. A genuinely flat perp account returns account_value 0 with no errors[]; the field is omitted only when the snapshot section degraded (which also adds an errors[] entry) — so detect degradation via errors[], not a 0 value. NOTE: Surf's own document declares dex on this endpoint while also stating they are rejected, so they are deliberately NOT accepted here.\n\nRaw surf#hyperliquid/performance endpoint: input is { body, queryParams, pathParams } as the provider documents them (https://docs.asksurf.ai/data-api/hyperliquid/performance).",
  "category": "lookup",
  "hosted_by": "Surf",
  "runtime": "partner",
  "side_effects": false,
  "status": "live",
  "credits": 0,
  "price": null,
  "providers": [
    {
      "id": "surf",
      "name": "Surf",
      "price": null,
      "own_key_only": true
    }
  ],
  "mcp_name": "surf_hyperliquid_performance",
  "input_schema": {
    "type": "object",
    "properties": {
      "queryParams": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "minLength": 1,
            "description": "Wallet address: a 0x EVM address or an ENS name (e.g. vitalik.eth). Solana addresses are not supported."
          }
        },
        "required": [
          "address"
        ],
        "additionalProperties": false
      }
    },
    "required": [
      "queryParams"
    ],
    "additionalProperties": false
  },
  "kind": "endpoint"
}