Skip to main content
Glama

get_positions_by_address

Retrieve open perpetual futures positions for any account by public address across supported DEX venues; read-only, no private key required.

Instructions

Open positions of ANY account by its public address — keyless, read-only (public venue data; nothing is signed, no key is needed). Venues: pacifica (base58 Solana address), hyperliquid (0x address), lighter (0x address), lighter-rh (0x address), risex (0x address). Hyperliquid reads the native dex and every HIP-3 dex (rows carry dex: null | ""; a dex that fails is listed in meta.errors / meta.warnings — its rows are missing, not absent); Lighter reads every account of the address (rows carry accountIndex; accountIndex narrows). Other venues: CAPABILITY_UNSUPPORTED; a wrong address format: INVALID_PARAMS. Same rows as perp -e <venue> account positions --address <addr>.

Input Schema

NameRequiredDescriptionDefault
symbolNoOnly this market (plain asset, e.g. BTC)
addressYesPublic account address (0x… for hyperliquid / lighter / lighter-rh; base58 Solana for pacifica)
exchangeYesExchange: pacifica, hyperliquid, lighter, lighter-rh, risex (aliases accepted)
accountIndexNoLighter only: one account (sub-account) of the address

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.16.0

TDQS

A4.5/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden; it discloses read-only/keyless behavior, venue-specific semantics, Hyperliquid HIP-3 dex inclusion and error reporting, Lighter multi-account rows, and specific error codes. This is unusually rich behavioral context beyond the schema.

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?

Front-loads purpose and then packs venue support, return nuances, and error codes into a single dense paragraph. Most content earns its place, though 'keyless, read-only' and 'nothing is signed, no key is needed' are mildly redundant.

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

Completeness4/5

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

For a complex multi-venue tool with no output schema, it supplies supported venues, address formats, row-level nuances, and error codes, but does not enumerate full position row fields. That leaves some return-shape detail implicit, so 4 rather than 5.

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 already 100%, so the baseline is 3; the description adds venue-specific address formats (including risex) and clarifies that accountIndex narrows Lighter results across all accounts of an address. It does not need to repeat every schema description.

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?

States a specific verb and resource ('Open positions'), scope ('ANY account by its public address'), and safety mode ('keyless, read-only'), which clearly separates it from account-bound siblings like get_positions. It also enumerates supported venues.

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

Usage Guidelines4/5

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

Explains the primary use case (querying any account by address without a key), lists supported venues and address formats, and names failure modes for unsupported venues and malformed addresses. It does not explicitly route agents to the sibling get_positions for their own account, so not a 5.

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