Skip to main content
Glama

Solana Perps board: open interest, 24h volume and hourly rates across six Solana perpetual venues (Jupiter, Pacifica, Phoenix, GM Trade, Velocity, Bullet)

get_solana_perps
Read-only

Fetch Solana perpetuals market data across Jupiter, Pacifica, Phoenix, GM Trade, Velocity, and Bullet: open interest, 24h volume, funding rates, and hourly history for selected markets.

Instructions

Call this when the user asks about perpetuals on Solana as a whole, which Solana perp DEX has the most open interest or volume, a market on Pacifica, Phoenix, GM Trade (GMX on Solana), Velocity (the Drift relaunch) or Bullet (funding, open interest, 24h volume, mark), or how Jupiter compares with the order-book venues. Returns the board read every 10 minutes: per-venue totals (one-sided open interest, both sides on pool venues, 24h volume, market count, median hourly rate, as_of), every market of every venue largest first with instrument type (perpetual, equity, index, commodity, fx), and optional hourly history of one market on any venue but Jupiter (7 days free, 30 with member depth; Jupiter history is get_jupiter_perps).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
venueNoVenue filter: jupiter, pacifica, phoenix, gmtrade, velocity or bullet
symbolNoMarket symbol on the chosen venue (Pacifica when venue is not given) for hourly history, as the board lists it, e.g. SOL, SOL-PERP, SOL-USD, kBONK
history_daysNoHourly history for the symbol, 1..30 days

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.31.0
    • changedInput schema / properties / symbol / description
      Previous value: -"Market symbol on the chosen venue (Pacifica when venue is not given) for hourly history, e.g. SOL, SOL-PERP, SOL-USD"New value: +"Market symbol on the chosen venue (Pacifica when venue is not given) for hourly history, as the board lists it, e.g. SOL, SOL-PERP, SOL-USD, kBONK"
    • changedInput schema / properties / symbol / pattern
      Previous value: -"^[A-Z0-9_.-]{1,24}$"New value: +"^[A-Za-z0-9_.-]{1,24}$"
  2. Addedv0.30.4

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only establish read-only and open-world, so the description carries the real load and does: refresh cadence ('board read every 10 minutes'), data semantics (one-sided OI, both sides on pool venues), history retention tiers (7 days free, 30 with member depth), and a hard capability exclusion (Jupiter hourly history not available here). This is precisely the behavioral context an agent cannot get from readOnlyHint alone.

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?

Dense and front-loaded: the usage trigger leads, then payload contents, then history caveats. It is long and uses heavily nested parenthetical lists, which costs some scanability, but every clause carries distinct information rather than restating the name or the schema.

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?

Despite having no output schema, the description fully specifies the return shape (per-venue totals with named fields, per-market rows ordered largest-first with instrument type, optional hourly history) plus the refresh cadence and retention limits. For a 3-optional-parameter read tool, nothing needed to call or interpret it correctly is missing.

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 coverage is 100%, so the baseline is 3, but the description adds meaning beyond it: it clarifies that hourly history is offered 'of one market on any venue but Jupiter' (the schema never states this restriction), and that symbol resolves against Pacifica by default. It does not explain the venue-vs-symbol interaction further, keeping it from a 5.

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?

Names a specific verb and resource ('get_solana_perps' = the Solana perps board) and enumerates exactly what the board contains: open interest, 24h volume, hourly rates across six named venues. It also cleanly separates itself from the sibling get_jupiter_perps by declaring Jupiter history lives there, so an agent can route without opening either schema.

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?

Opens with an explicit trigger list ('Call this when the user asks about perpetuals on Solana as a whole, which venue has the most OI or volume...'), covering cross-venue comparison, single-venue lookups, and Jupiter-vs-orderbook comparison. It also names the alternative tool (get_jupiter_perps) and the condition that selects it, giving when-to-use and when-not in one pass.

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