Skip to main content
Glama

Tracking Smart Money perp trades

smart_traders_and_funds_perp_trades
Read-only

Get recent Hyperliquid perpetual futures trades from Smart Money addresses across all tokens.

Optional labels narrow this cohort; they do not search all addresses with that label. For a broad view of Smart Money activity across all tokens, use token_discovery_screener with traderType="sm".

Note: This endpoint is Hyperliquid-only (perpetual futures data). It returns recent trades only (no date filtering available).

Columns returned:

  • Time: Timestamp when the trade occurred (datetime: YYYY-MM-DD HH:MM:SS)

  • Side: Position direction - Long or Short

  • Action: Order action - Add, Reduce, Open, Close

  • Token: Symbol of the perpetual contract

  • Size: Quantity of the perpetual contract (numeric)

  • Price USD: Price per token at time of trade (price formatted)

  • Value USD: Total USD value of the trade (currency formatted)

  • Trader: Nansen label of the trading address

  • Address: Full trading wallet address

  • Tx Hash: Blockchain transaction hash for verification

Sorting Options (all fields support "asc"/"desc"): Available for sorting: timestamp, amount, price_usd

Examples: # Get recent smart money perp trades (sorted by amount) { "orderBy": "amount", "order_by_direction": "desc" }

# Filter by action and side
```
{
  "action": "Open",
  "side": "Long"
}
```

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / request / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "type": "object"
      -  },
      -  {
      -    "description": "Request for smart money perp trades - flattened.\n\nNote: This endpoint returns recent trades only (no date filtering available).",
      -    "properties": {
      -      "action": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Filter by action: 'Add'/'Reduce'/'Open'/'Close' (can combine with side for precise filtering)."
      -      },
      -      "includeSmartMoneyLabels": {
      -        "description": "List of smart money labels to filter by (default: empty list). Use 'Any Smart Money' to include all smart money types.",
      -        "items": {
      -          "enum": [
      -            "30D Smart Trader",
      -            "90D Smart Trader",
      -            "180D Smart Trader",
      -            "All Time Smart Trader",
      -            "Fund",
      -            "Smart HL Perps Trader",
      -            "Any Smart Money"
      -          ],
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "orderBy": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "timestamp",
      -              "amount",
      -              "price_usd"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Sort field. Pass an exact value above or None for default ('amount'). Native token amount is preferred over USD value."
      -      },
      -      "order_by_direction": {
      -        "default": "DESC",
      -        "enum": [
      -          "ASC",
      -          "DESC",
      -          "asc",
      -          "desc"
      -        ],
      -        "type": "string"
      -      },
      -      "page": {
      -        "default": 1,
      -        "type": "integer"
      -      },
      -      "side": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Filter by position side: 'Long'/'Short'."
      -      },
      -      "traderAddress": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Filter by trader address"
      -      },
      -      "valueUsd": {
      -        "anyOf": [
      -          {
      -            "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
      -            "properties": {
      -              "from": {
      -                "anyOf": [
      -                  {
      -                    "type": "number"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ],
      -                "default": null,
      -                "description": "Minimum value (inclusive), optional"
      -              },
      -              "to": {
      -                "anyOf": [
      -                  {
      -                    "type": "number"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ],
      -                "default": null,
      -                "description": "Maximum value (inclusive), optional"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Filter by trade value in USD"
      -      }
      -    },
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": true,
      +    "type": "object"
      +  },
      +  {
      +    "description": "Request for smart money perp trades - flattened.\n\nNote: This endpoint returns recent trades only (no date filtering available).",
      +    "properties": {
      +      "action": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Filter by action: 'Add'/'Reduce'/'Open'/'Close' (can combine with side for precise filtering)."
      +      },
      +      "includeSmartMoneyLabels": {
      +        "description": "Optional subgroup filter. Omit it for the full Smart Money cohort. When set, an address must belong to Smart Money and match at least one selected label.",
      +        "items": {
      +          "description": "Labels that can narrow the fixed Hyperliquid Smart Money cohort.",
      +          "enum": [
      +            "30D Smart Trader",
      +            "90D Smart Trader",
      +            "180D Smart Trader",
      +            "All Time Smart Trader",
      +            "Fund"
      +          ],
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "orderBy": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "timestamp",
      +              "amount",
      +              "price_usd"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Sort field. Pass an exact value above or None for default ('amount'). Native token amount is preferred over USD value."
      +      },
      +      "order_by_direction": {
      +        "default": "DESC",
      +        "enum": [
      +          "ASC",
      +          "DESC",
      +          "asc",
      +          "desc"
      +        ],
      +        "type": "string"
      +      },
      +      "page": {
      +        "default": 1,
      +        "type": "integer"
      +      },
      +      "side": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Filter by position side: 'Long'/'Short'."
      +      },
      +      "traderAddress": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Filter by trader address"
      +      },
      +      "valueUsd": {
      +        "anyOf": [
      +          {
      +            "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
      +            "properties": {
      +              "from": {
      +                "anyOf": [
      +                  {
      +                    "type": "number"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "Minimum value (inclusive), optional"
      +              },
      +              "to": {
      +                "anyOf": [
      +                  {
      +                    "type": "number"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "Maximum value (inclusive), optional"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Filter by trade value in USD"
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / request / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "type": "object"
      -  },
      -  {
      -    "description": "Request for smart money perp trades - flattened.\n\nNote: This endpoint returns recent trades only (no date filtering available).",
      -    "properties": {
      -      "action": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Filter by action: 'Add'/'Reduce'/'Open'/'Close' (can combine with side for precise filtering)."
      -      },
      -      "includeSmartMoneyLabels": {
      -        "description": "List of smart money labels to filter by (default: empty list). Use 'Any Smart Money' to include all smart money types.",
      -        "items": {
      -          "enum": [
      -            "30D Smart Trader",
      -            "90D Smart Trader",
      -            "180D Smart Trader",
      -            "All Time Smart Trader",
      -            "Fund",
      -            "Smart HL Perps Trader",
      -            "Any Smart Money"
      -          ],
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "order_by": {
      -        "default": "valueUsd",
      -        "type": "string"
      -      },
      -      "order_by_direction": {
      -        "default": "desc",
      -        "enum": [
      -          "asc",
      -          "desc"
      -        ],
      -        "type": "string"
      -      },
      -      "page": {
      -        "default": 1,
      -        "type": "integer"
      -      },
      -      "side": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Filter by position side: 'Long'/'Short'."
      -      },
      -      "traderAddress": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Filter by trader address"
      -      },
      -      "valueUsd": {
      -        "anyOf": [
      -          {
      -            "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
      -            "properties": {
      -              "from": {
      -                "anyOf": [
      -                  {
      -                    "type": "number"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ],
      -                "default": null,
      -                "description": "Minimum value (inclusive), optional"
      -              },
      -              "to": {
      -                "anyOf": [
      -                  {
      -                    "type": "number"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ],
      -                "default": null,
      -                "description": "Maximum value (inclusive), optional"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Filter by trade value in USD"
      -      }
      -    },
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": true,
      +    "type": "object"
      +  },
      +  {
      +    "description": "Request for smart money perp trades - flattened.\n\nNote: This endpoint returns recent trades only (no date filtering available).",
      +    "properties": {
      +      "action": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Filter by action: 'Add'/'Reduce'/'Open'/'Close' (can combine with side for precise filtering)."
      +      },
      +      "includeSmartMoneyLabels": {
      +        "description": "List of smart money labels to filter by (default: empty list). Use 'Any Smart Money' to include all smart money types.",
      +        "items": {
      +          "enum": [
      +            "30D Smart Trader",
      +            "90D Smart Trader",
      +            "180D Smart Trader",
      +            "All Time Smart Trader",
      +            "Fund",
      +            "Smart HL Perps Trader",
      +            "Any Smart Money"
      +          ],
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "orderBy": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "timestamp",
      +              "amount",
      +              "price_usd"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Sort field. Pass an exact value above or None for default ('amount'). Native token amount is preferred over USD value."
      +      },
      +      "order_by_direction": {
      +        "default": "DESC",
      +        "enum": [
      +          "ASC",
      +          "DESC",
      +          "asc",
      +          "desc"
      +        ],
      +        "type": "string"
      +      },
      +      "page": {
      +        "default": 1,
      +        "type": "integer"
      +      },
      +      "side": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Filter by position side: 'Long'/'Short'."
      +      },
      +      "traderAddress": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Filter by trader address"
      +      },
      +      "valueUsd": {
      +        "anyOf": [
      +          {
      +            "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
      +            "properties": {
      +              "from": {
      +                "anyOf": [
      +                  {
      +                    "type": "number"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "Minimum value (inclusive), optional"
      +              },
      +              "to": {
      +                "anyOf": [
      +                  {
      +                    "type": "number"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "Maximum value (inclusive), optional"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Filter by trade value in USD"
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
  3. Changed3 schema fields changed
    • removedInput schema / $defs
      Removed value: -{
      -  "OptionalNumericRange": {
      -    "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
      -    "properties": {
      -      "from": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Minimum value (inclusive), optional"
      -      },
      -      "to": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Maximum value (inclusive), optional"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  "SMLabel": {
      -    "enum": [
      -      "30D Smart Trader",
      -      "90D Smart Trader",
      -      "180D Smart Trader",
      -      "All Time Smart Trader",
      -      "Fund",
      -      "Smart HL Perps Trader",
      -      "Any Smart Money"
      -    ],
      -    "type": "string"
      -  },
      -  "SmartMoneyPerpTradesRequest": {
      -    "description": "Request for smart money perp trades - flattened.\n\nNote: This endpoint returns recent trades only (no date filtering available).",
      -    "properties": {
      -      "action": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Filter by action: 'Add'/'Reduce'/'Open'/'Close' (can combine with side for precise filtering)."
      -      },
      -      "includeSmartMoneyLabels": {
      -        "description": "List of smart money labels to filter by (default: empty list). Use 'Any Smart Money' to include all smart money types.",
      -        "items": {
      -          "$ref": "#/$defs/SMLabel"
      -        },
      -        "type": "array"
      -      },
      -      "order_by": {
      -        "default": "valueUsd",
      -        "type": "string"
      -      },
      -      "order_by_direction": {
      -        "default": "desc",
      -        "enum": [
      -          "asc",
      -          "desc"
      -        ],
      -        "type": "string"
      -      },
      -      "page": {
      -        "default": 1,
      -        "type": "integer"
      -      },
      -      "side": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Filter by position side: 'Long'/'Short'."
      -      },
      -      "traderAddress": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Filter by trader address"
      -      },
      -      "valueUsd": {
      -        "anyOf": [
      -          {
      -            "$ref": "#/$defs/OptionalNumericRange"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Filter by trade value in USD"
      -      }
      -    },
      -    "type": "object"
      -  }
      -}
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / properties / request / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "type": "object"
      -  },
      -  {
      -    "$ref": "#/$defs/SmartMoneyPerpTradesRequest"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": true,
      +    "type": "object"
      +  },
      +  {
      +    "description": "Request for smart money perp trades - flattened.\n\nNote: This endpoint returns recent trades only (no date filtering available).",
      +    "properties": {
      +      "action": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Filter by action: 'Add'/'Reduce'/'Open'/'Close' (can combine with side for precise filtering)."
      +      },
      +      "includeSmartMoneyLabels": {
      +        "description": "List of smart money labels to filter by (default: empty list). Use 'Any Smart Money' to include all smart money types.",
      +        "items": {
      +          "enum": [
      +            "30D Smart Trader",
      +            "90D Smart Trader",
      +            "180D Smart Trader",
      +            "All Time Smart Trader",
      +            "Fund",
      +            "Smart HL Perps Trader",
      +            "Any Smart Money"
      +          ],
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "order_by": {
      +        "default": "valueUsd",
      +        "type": "string"
      +      },
      +      "order_by_direction": {
      +        "default": "desc",
      +        "enum": [
      +          "asc",
      +          "desc"
      +        ],
      +        "type": "string"
      +      },
      +      "page": {
      +        "default": 1,
      +        "type": "integer"
      +      },
      +      "side": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Filter by position side: 'Long'/'Short'."
      +      },
      +      "traderAddress": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Filter by trader address"
      +      },
      +      "valueUsd": {
      +        "anyOf": [
      +          {
      +            "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
      +            "properties": {
      +              "from": {
      +                "anyOf": [
      +                  {
      +                    "type": "number"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "Minimum value (inclusive), optional"
      +              },
      +              "to": {
      +                "anyOf": [
      +                  {
      +                    "type": "number"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "default": null,
      +                "description": "Maximum value (inclusive), optional"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Filter by trade value in USD"
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
  4. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds meaningful behavioral caveats beyond them: Hyperliquid-only, no date filtering, recent trades only, and that labels do not expand the address universe. The label warning is especially useful because it prevents a likely misinterpretation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well organized: purpose, caveats, returned columns, sorting, and examples are all separated. It front-loads the most decision-relevant constraints before the detailed column list. The column list is somewhat redundant given that an output schema exists, but it is scannable and not padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides scope, exclusions, sorting contract, label semantics, and example request bodies, which is sufficient given the annotated schema and output schema. An agent has what it needs to invoke the tool correctly and avoid the common mistakes of label searching or expecting historical date filtering.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is low (0%), so the description compensates by explaining sortable fields, the default orderBy behavior ('amount', direction desc), and the important includeSmartMoneyLabels semantics. The concrete JSON examples also clarify how parameters are passed. However, page, valueUsd, and traderAddress are not covered in prose, so some burden remains on the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence is specific: 'Get recent Hyperliquid perpetual futures trades from Smart Money addresses across all tokens.' This names the verb, resource, scope, and domain, and clearly differentiates it from sibling tools such as smart_traders_and_funds_dex_trades and smart_traders_and_funds_dcas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says labels narrow the Smart Money cohort and are not a general label search. It also names the alternative for broad Smart Money activity: token_discovery_screener with traderType="sm". The Hyperliquid-only and recent-trades-only constraints further clarify when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources