Skip to main content
Glama
zacacollier

Kraken Pro MCP

by zacacollier

Kraken Pro MCP

A Model Context Protocol (MCP) server that provides real-time cryptocurrency market data from the Kraken Pro exchange.

Overview

This MCP server exposes Kraken's public API as MCP tools, allowing AI assistants to fetch real-time cryptocurrency prices, trading pairs, and market data.

Related MCP server: OKX MCP Server

Available Tools

Tool

Description

get_system_status

Check if Kraken API is online and operational

get_ticker

Get real-time ticker data for a trading pair (e.g., XBTUSD, ETHUSD)

get_asset_info

List all available assets on Kraken with their details

Installation

pnpm install

Development

Run in development mode with hot reload:

pnpm run dev

Build

Compile TypeScript to JavaScript:

pnpm run build

Usage

Start the MCP server:

pnpm start

The server runs on stdio and communicates via the Model Context Protocol.

Claude Desktop

To use this server with Claude Desktop, add the following to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json

{
    "mcpServers": {
        "kraken-pro": {
            "command": "node",
            "args": [
                "<PATH TO REPO>/kraken-pro-mcp/dist/index.js"
            ]
        }
    }
}

Replace <PATH TO REPO> with the absolute path to this repository on your system.

Development Mode

For development and testing new changes with hot reload, use the development mode instead:

{
    "mcpServers": {
        "kraken-pro": {
            "command": "pnpm",
            "args": ["run", "dev"],
            "cwd": "<PATH TO REPO>/kraken-pro-mcp"
        }
    }
}

This will automatically restart the server when you make changes to the source code.

Testing

# Run all tests in watch mode
pnpm test

# Run unit tests only (with mocks)
pnpm run test:unit

# Run acceptance tests (hits real Kraken API - rate limited)
pnpm run test:acceptance

Linting & Formatting

# Check linting
pnpm run lint

# Format code
pnpm run format

# Run all checks (lint + format + organize imports)
pnpm run check

Project Structure

src/
  index.ts           # MCP server entry point with tool registrations
  kraken-client.ts   # Kraken API client using native fetch
  types.ts           # Shared TypeScript interfaces
test/
  unit/              # Fast unit tests with mocked fetch
  acceptance/        # Slower integration tests hitting real API

Technologies

  • Model Context Protocol - Protocol for AI tool integration

  • Zod - Schema validation

  • TypeScript 5.9 with strict mode

  • Vitest for testing

  • Biome for linting and formatting

License

ISC

Available Tools

8 tools
get_asset_infoGet Asset InfoB

List all available assets on Kraken with their details

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the disclosure burden. It implies a safe read-only listing and communicates scope ('all available assets'), but it never states that it is read-only, whether pagination applies, or what the result looks like. For a zero-parameter list call the risk is low, so this is adequate but thin.

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?

One short, front-loaded sentence with no filler. It is appropriately sized, though 'with their details' is vague enough that the sentence could carry slightly more concrete content without bloat.

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

Completeness3/5

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

With no output schema and no annotations, the description is the only source of information, and it does not say what 'details' are returned (names, symbols, decimals, status). For a simple list call that omission is tolerable but leaves the agent guessing about the response shape.

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?

The tool takes zero parameters, so there is nothing for the description to clarify; baseline 4 applies. No parameter-related omissions exist.

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

Purpose4/5

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

States a specific resource (assets on Kraken) and that it lists them with details, which distinguishes it from sibling tools like get_tradable_pairs (pairs) or get_ticker (price data). The verb 'List' conflicts slightly with the singular tool name 'get_asset_info', but the intent is still unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this versus get_tradable_pairs or other market-data siblings, and no exclusions or prerequisites stated. The agent must infer that this is the metadata lookup for asset codes.

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

get_ohlc_dataGet OHLC DataC

Get OHLC/candlestick data for a trading pair (price history)

ParametersJSON Schema
NameRequiredDescriptionDefault
pairYesTrading pair (e.g., XBTUSD, ETHUSD)
sinceNoReturn data since given timestamp (optional)
intervalNoTimeframe in minutes (1, 5, 15, 30, 60, 240, 1440, 10080, 21600)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description bears the full burden but discloses almost no behavior: nothing about result limits, how far back data goes, pagination, or rate limits. It only restates the data type returned.

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?

A single tight phrase with the core resource front-loaded and zero filler. It is arguably under-specified rather than verbose, but nothing wasted.

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

Completeness2/5

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

No output schema and no annotations, so the description should explain the shape of the returned candles (OHLC fields, count, ordering) and any limits on how much history is returned. Neither is present.

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

Parameters3/5

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

Schema description coverage is 100%, so 'pair', 'since', and 'interval' are already documented with examples, defaults, and valid values. The description adds no meaning beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb ('Get') and resource ('OHLC/candlestick data for a trading pair') with a clarifying parenthetical ('price history'). It distinguishes itself by resource from siblings like get_order_book, get_ticker, and get_recent_trades, though it never explicitly names an alternative.

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

Usage Guidelines2/5

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

No indication of when to use this versus get_ticker or get_recent_trades, and no mention of prerequisites or temporal scope. Usage is only implied by the word 'history'.

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

get_order_bookGet Order BookB

Get order book (depth) for a trading pair showing bids and asks

ParametersJSON Schema
NameRequiredDescriptionDefault
pairYesTrading pair (e.g., XBTUSD, ETHUSD)
countNoNumber of price levels to return (default: 100, max: 500)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not say whether this is a point-in-time snapshot or a live stream, whether it requires authentication or a subscription, rate limits, or data freshness, leaving the mutation/safety profile of this market-data call undescribed.

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?

A single front-loaded sentence with no filler or redundancy. It is efficient, though its brevity is also the source of the missing behavioral detail noted elsewhere.

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

Completeness3/5

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

For a read-only market-data tool with no annotations and no output schema, the description gives the essential shape (bids/asks) but omits return-format and snapshot-vs-stream semantics that an agent would need to interpret the result.

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

Parameters3/5

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

Schema description coverage is 100%, so both 'pair' and 'count' are already documented with examples and defaults in the schema. The description adds no parameter-level meaning beyond that, which matches the baseline of 3 when the schema does the heavy lifting.

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

Purpose4/5

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

The description states a specific verb and resource ('get order book (depth)') and clarifies the returned data ('bids and asks'). It is clearly distinguishable from siblings like get_ticker or get_recent_trades, though it does not explicitly name a competing tool.

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

Usage Guidelines3/5

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

Usage is implied by the resource name: an agent infers this is for market-depth data. However, there is no explicit when-to-use guidance, no mention of when to prefer get_ticker or get_ohlc_data, and no stated prerequisites.

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

get_recent_spreadsGet Recent SpreadsC

Get recent bid-ask spreads for a trading pair

ParametersJSON Schema
NameRequiredDescriptionDefault
pairYesTrading pair (e.g., XBTUSD, ETHUSD)
sinceNoReturn spreads since given timestamp (optional, for pagination)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden and falls short. It never defines how far back 'recent' reaches, whether results are a snapshot or a historical series, whether pagination is implicit via 'since', or whether any permissions/rate limits apply.

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?

A single front-loaded sentence with no filler, which is efficient. The size is appropriate, though the brevity comes at the cost of the behavioral and usage detail noted elsewhere.

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

Completeness3/5

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

For a simple two-parameter read tool with no output schema and no annotations, the description is minimally viable but leaves the ambiguous time window ('recent') and the return shape unexplained. An agent could call it, but not confidently predict what it gets back.

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

Parameters3/5

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

Schema coverage is 100%, with both 'pair' (with example values XBTUSD/ETHUSD) and 'since' (pagination timestamp) documented in the schema itself. The description adds only the phrase 'for a trading pair', which largely restates the required parameter, so the baseline of 3 is appropriate.

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

Purpose4/5

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

States a specific verb and resource ('Get recent bid-ask spreads') plus the scoping unit ('for a trading pair'), so the agent knows exactly what it returns. It does not, however, differentiate itself from siblings such as get_order_book or get_ticker, which also surface spread-like pricing data.

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

Usage Guidelines2/5

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

There is no guidance on when to prefer this tool over the alternatives in the sibling set (get_order_book, get_ticker, get_recent_trades). The word 'recent' hints at a time window but no condition, prerequisite, or exclusion is stated.

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

get_recent_tradesGet Recent TradesC

Get recent trades for a trading pair

ParametersJSON Schema
NameRequiredDescriptionDefault
pairYesTrading pair (e.g., XBTUSD, ETHUSD)
sinceNoReturn trades since given timestamp (optional, for pagination)

TDQS

C2.9/5.0
Behavior2/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 of behavioral disclosure and largely fails it. It does not say how many trades are returned by default, whether results are ordered or capped, whether pagination via 'since' walks forward or backward, or whether there are rate limits.

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?

A single short sentence with no wasted words, and the core operation is front-loaded. It is efficient, though its terseness borders on under-specification rather than true concision.

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

Completeness2/5

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

For a read tool with no output schema, the description does not indicate the shape, count, or ordering of returned trades, leaving the agent unable to predict what comes back. With no annotations to cover safety or limits either, the definition is thin relative to what an agent needs to call it confidently.

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

Parameters3/5

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

Schema description coverage is 100%, with both 'pair' and 'since' documented including examples and the pagination purpose. The description adds no meaning beyond that, so the baseline 3 for high-coverage schemas applies.

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

Purpose4/5

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

The description states a specific verb (get) and resource (recent trades) scoped to a trading pair, so the basic operation is unambiguous. It offers no differentiation from closely related siblings like get_recent_spreads, get_ohlc_data, or get_order_book, which an agent must distinguish on its own.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, nor any mention of prerequisites or context. The agent is left to infer that 'recent trades' is distinct from 'recent spreads' or OHLC data entirely from the tool name.

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

get_system_statusGet System StatusA

Check if Kraken API is online and operational

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must carry behavioral context. It discloses the core behavior (checking online/operational status), but omits return format, failure behavior, authentication needs, and rate-limit information. For a zero-parameter status probe, this is adequate but not rich.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no redundant or filler content. Every word contributes to stating the tool's purpose.

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 simple, zero-parameter status check with no output schema, the description sufficiently communicates what the tool does. It could be improved by noting what a result indicates, such as whether it returns a boolean or a status object, but it is complete enough for selection and invocation.

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?

The tool has zero parameters, so there are no parameter semantics to document. Per the rubric, a zero-parameter tool receives a baseline score of 4.

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 description states a specific verb ('Check'), a specific resource ('Kraken API'), and the exact condition being checked ('online and operational'). It is clearly distinguishable from sibling tools, which retrieve market or asset data rather than system health.

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

Usage Guidelines3/5

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

Usage is implied by the description: call this tool to determine whether the Kraken API is reachable. However, it gives no explicit when-to-use guidance, no when-not-to-use guidance, and does not name alternatives or prerequisites.

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

get_tickerGet TickerB

Get real-time ticker data for a trading pair (default: BTC/USD)

ParametersJSON Schema
NameRequiredDescriptionDefault
pairYesTrading pair (e.g., XBTUSD, ETHUSD)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses only that the data is 'real-time'; it says nothing about auth requirements, rate limits, caching/staleness, or whether a missing pair errors or falls back. For a read-only market-data call these gaps are moderate but real.

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

Conciseness5/5

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

A single tight sentence with the verb and resource front-loaded and zero filler. Nothing could be cut without losing content.

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

Completeness3/5

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

With one required, fully documented parameter and no nesting, the input side is covered. However, there is no output schema, so an ideal description would say what a 'ticker' contains (last price, bid/ask, volume, timestamp); the agent must assume the conventional shape.

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

Parameters3/5

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

Schema description coverage is 100%, so 'pair' is already documented with examples, making 3 the baseline. The description's '(default: BTC/USD)' note adds a little information the schema lacks — though it mildly conflicts with the schema marking 'pair' as required.

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

Purpose4/5

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

The description pairs a specific verb ('Get') with a specific resource ('real-time ticker data for a trading pair'), which clearly identifies it as a live-quote snapshot tool. It does not explicitly distinguish itself from siblings like get_ohlc_data or get_recent_trades, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus get_ohlc_data, get_order_book, or get_recent_trades — all closely related market-data siblings. The word 'real-time' hints at a current-snapshot use case, but the agent must infer that routing decision entirely on its own.

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

get_tradable_pairsGet Tradable PairsB

Get all tradable asset pairs on Kraken with fees, leverage, and limits

ParametersJSON Schema
NameRequiredDescriptionDefault
pairNoSpecific pair to filter (e.g., XBTUSD), or leave empty for all pairs

TDQS

B3.1/5.0
Behavior2/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 doesn't state whether the call is read-only, whether results are cached, how pagination works, or how the optional pair filter changes the response, leaving behavioral gaps for a no-annotation tool.

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

Conciseness5/5

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

A single, front-loaded sentence with zero filler. The verb, resource, and returned fields are all stated immediately.

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

Completeness3/5

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

For a simple single-parameter read tool with no output schema this is minimally viable. However, with no annotations it could add more value by describing response shape, filtering behavior, or required permissions.

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

Parameters3/5

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

Schema description coverage is 100%, so the single optional pair parameter is fully documented in the schema, establishing a baseline of 3. The description adds no syntax or format guidance beyond what the schema already provides.

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

Purpose4/5

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

Clear verb+resource: 'Get all tradable asset pairs on Kraken', with the data returned (fees, leverage, limits) stated. It distinguishes itself from market-data siblings like get_ticker or get_order_book, though it doesn't name them explicitly.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance. It doesn't say to call this before placing orders or retrieving pair metadata, nor does it differentiate from sibling lookup tools such as get_asset_info.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 8 tool updatesv1.0.0
    • First observedget_asset_info
    • First observedget_ohlc_data
    • First observedget_order_book
    • First observedget_recent_spreads
    • First observedget_recent_trades
    • First observedget_system_status
    • First observedget_ticker
    • First observedget_tradable_pairs

TDQS

A3.5/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a distinct data type or endpoint (assets, pairs, OHLC, order book, trades, spreads, ticker, system status) with no overlapping purposes. An agent can easily select the correct tool for a given market data need.

Naming Consistency5/5

All tools follow a consistent get_<noun> pattern in snake_case (e.g., get_asset_info, get_order_book, get_recent_trades). The naming is predictable and uniform throughout.

Tool Count5/5

Eight tools is well-scoped for a market data API, covering the essential public endpoints without redundancy. Each tool earns its place and the set is not bloated.

Completeness3/5

The tool set comprehensively covers market data and system status, but for a server named 'Kraken Pro' it lacks any trading or account operations (e.g., place order, cancel order, get balances, list open orders). These are notable missing operations that would limit an agent's ability to interact with the platform.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time cryptocurrency market data from Binance API, including price queries, 24h statistics, K-line data, market trend analysis, and order book depth information for trading analysis.
    7 npm
    1
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Provides real-time and historical cryptocurrency price data from the OKX exchange, including live WebSocket updates, candlestick charts, and visual price analysis for trading pairs.
    5
    8 npm
    3
    MIT
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides real-time and historical cryptocurrency market data using ccxt, with tools for ticker, OHLCV, and streaming updates.
    -
  • A
    license
    A
    quality
    D
    maintenance
    Provides live market and account data from Hyperliquid, including perp and spot prices, funding rates, open interest, order books, and wallet positions, without requiring an API key.
    7
    51 npm
    MIT