Skip to content
Eden Engine

Hyperliquid Trading Performance by Wallet

omnial/hyperliquid-performance

Given a wallet address (a 0x EVM address or an ENS name), returns that account's lifetime perpetual-futures trading summary -- trades, win rate, profit factor, gross and net PnL with fees, realized volume -- plus every currently open position (entry and mark price, leverage, unrealized PnL, margin) and the account's total value.

activeper callv1
Provider
Web & Business Data Network
Category
derivatives
Provider price
$0.03276 per call
Latency p50 / p95
— / —
Success rate
—
Verified
—

Provider list price; Omnial MCP charges provider cost plus a platform markup on top.

Contract

input_schema.json
{
  "type": "object",
  "required": [
    "address"
  ],
  "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."
    }
  },
  "additionalProperties": false
}
output_schema.json
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "address": {
          "type": "string",
          "description": "The wallet this summary is for -- echoes the requested address, or the resolved 0x address when an ENS name was given (observed 'vitalik.eth' resolving to a 0x address)."
        },
        "partial": {
          "type": "boolean",
          "description": "Whether the summary is a partial snapshot; false on both fixtures observed."
        },
        "watermark": {
          "type": "integer",
          "description": "Unix timestamp tied to account state (observed 1790034582 on the whale fixture, 0 on the flat account); exact meaning unconfirmed from two fixtures."
        },
        "performance": {
          "type": "object",
          "properties": {
            "fees": {
              "type": "number",
              "description": "Cumulative fees (negative, a deduction)."
            },
            "wins": {
              "type": "integer",
              "description": "Number of winning trades."
            },
            "losses": {
              "type": "integer",
              "description": "Number of losing trades."
            },
            "trades": {
              "type": "integer",
              "description": "Total number of closed trades."
            },
            "avg_win": {
              "type": "number",
              "description": "Average winning-trade PnL."
            },
            "net_pnl": {
              "type": "number",
              "description": "Realized net profit = gross minus fees."
            },
            "avg_loss": {
              "type": "number",
              "description": "Average losing-trade PnL (negative)."
            },
            "win_rate": {
              "type": "number",
              "description": "Wins as a fraction of total trades (0-1)."
            },
            "gross_pnl": {
              "type": "number",
              "description": "Realized gross profit, funding-excluded."
            },
            "scratches": {
              "type": "integer",
              "description": "Number of scratch (near-breakeven) trades."
            },
            "last_trade": {
              "type": "integer",
              "description": "Unix timestamp of the most recent trade."
            },
            "volume_usd": {
              "type": "number",
              "description": "Total traded notional volume in USD."
            },
            "first_trade": {
              "type": "integer",
              "description": "Unix timestamp of the first trade."
            },
            "profit_factor": {
              "type": "number",
              "description": "Gross winnings over gross losses ratio."
            }
          },
          "description": "Lifetime realized perpetual-futures performance. Present on an active-trading account (observed a 40,593-trade BTC whale) but ABSENT entirely on an account with no trading history (observed an empty flat account) -- do not assume this block is always present.",
          "additionalProperties": false
        },
        "traded_pairs": {
          "type": "integer",
          "description": "Number of distinct markets ever traded."
        },
        "account_value": {
          "type": "number",
          "description": "Total account equity in USD."
        },
        "open_positions": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "side": {
                "type": "string",
                "description": "'long' or 'short'; observed 'long'."
              },
              "size": {
                "type": "number",
                "description": "Position size in the base asset."
              },
              "symbol": {
                "type": "string",
                "description": "Perp market symbol, e.g. 'BTC'."
              },
              "mark_price": {
                "type": "number",
                "description": "Current mark price."
              },
              "cum_funding": {
                "type": "object",
                "properties": {
                  "all_time": {
                    "type": "number"
                  },
                  "since_open": {
                    "type": "number"
                  },
                  "since_change": {
                    "type": "number"
                  }
                },
                "description": "Cumulative funding payments. Observed zero for since_open/since_change on the open position; the field's all-time total was the only nonzero value.",
                "additionalProperties": false
              },
              "entry_price": {
                "type": "number",
                "description": "Average entry price."
              },
              "margin_used": {
                "type": "number",
                "description": "Margin locked in on this position, in USD."
              },
              "max_leverage": {
                "type": "number",
                "description": "Maximum leverage allowed on this market."
              },
              "leverage_type": {
                "type": "string",
                "description": "Margin mode, e.g. 'cross'."
              },
              "leverage_value": {
                "type": "number",
                "description": "Applied leverage multiple."
              },
              "position_value": {
                "type": "number",
                "description": "Current position notional value."
              },
              "unrealized_pnl": {
                "type": "number",
                "description": "Unrealized profit or loss, in USD."
              },
              "return_on_equity": {
                "type": "number",
                "description": "Unrealized PnL as a fraction of equity."
              }
            },
            "additionalProperties": false
          },
          "description": "Currently open perpetual positions. One object per open position on an active account (observed a single open BTC position); an empty array for a flat account."
        },
        "total_unrealized_pnl": {
          "type": "number",
          "description": "Sum of unrealized PnL across all open positions."
        }
      },
      "additionalProperties": false
    },
    "meta": {
      "type": "object",
      "properties": {
        "cached": {
          "type": "boolean",
          "description": "Whether this response was served from a cache; false on both fixtures observed."
        }
      },
      "additionalProperties": false
    },
    "$schema": {
      "type": "null",
      "description": "Always null: the source schema-document pointer is stripped at shaping."
    }
  },
  "description": "The Hyperliquid account-performance record, as returned at the result path.",
  "additionalProperties": false
}

Pricing

Every real charge, itemised. A model that quietly omits one is a slow financial leak, so nothing here is rolled up, and a charge that only applies to some inputs says so rather than being added in.

Prices in this catalog are the provider's own list price, not your bill: Omnial MCP charges provider cost plus a platform markup on top, so what you are charged is higher than the figure shown. For the exact amount a specific call will cost, run omnial_execute with dry_run: true; that number includes the markup and is what we hold while the call runs. It is a quote, not a cap on the charge.

ChargeRate
Per call
Flat, regardless of what comes back
$0.03276
Cost basis
Not recorded

This tool's catalog entry does not record how its final bill is determined, so we will not tell you whether its cost is fixed before the call or reported by the provider afterwards. Either way what is held is a quote rather than a cap: you are charged what the call actually costs, bounded at 2x the quote.

Updated
Sep 25, 2026