---
name: polaris-market-data
description: Use Polaris when the user needs market data coverage discovery or normalized dataset access for frontier crypto derivatives, RWAs, prediction markets, and compute markets. Prefer the Polaris Python or TypeScript SDKs because they handle snapshot downloading, caching, and conversion into schemas such as events and trades. Use Polaris machine-readable metadata only to discover supported datasets or verify the current service surface.
homepage: https://polaris.supply
metadata:
  version: 1
---

# Polaris Market Data

Polaris exposes machine-readable market data discovery for frontier venues and asset categories. In most integration work, prefer the official SDKs because they already handle download orchestration, local caching, and normalization into usable schemas such as events and trades.

## Important URLs

| Resource | URL |
|---|---|
| **SKILL.md** (this file) | `https://polaris.supply/skill.md` |
| Service metadata | `https://api.polaris.supply/meta` |
| LLMS overview | `https://polaris.supply/llms.txt` |
| Polaris Data developer docs | `https://docs.polaris.supply` |
| Polaris Data API reference | `https://docs.polaris.supply/reference/api-reference` |
| Hosted MCP | `https://mcp.polaris.supply` |
| Hosted MCP guide | `https://docs.polaris.supply/guides/hosted-mcp` |
| AI Catalog | `https://polaris.supply/.well-known/ai-catalog.json` |
| MCP Server Card | `https://mcp.polaris.supply/server-card` |
| MCP manifest compatibility endpoint | `https://polaris.supply/.well-known/mcp.json` |
| OpenAPI 3.1 specification | `https://api.polaris.supply/openapi.json` |
| Authentication quickstart | `https://docs.polaris.supply/quickstart#add-an-api-key-when-you-need-it` |
| Live catalog | `https://api.polaris.supply/catalog` |
| Python SDK | `https://github.com/polaris-data/sdks/tree/main/python` |
| TypeScript SDK | `https://github.com/polaris-data/sdks/tree/main/typescript` |
| Rust SDK | `https://docs.polaris.supply/sdks/rust` |
| CLI | `https://github.com/polaris-data/cli` |

Fetch `/meta` and `/catalog` when you need to verify the current service and dataset coverage.

## When To Use Polaris

Use Polaris when the user wants to:

- Discover which `source` and `market` pairs Polaris covers
- Check whether a dataset is `open`, `preview`, or `restricted`
- Load normalized data through the Polaris SDKs
- Stream historical rows for replay or backfills
- Load schema-specific datasets such as events, trades, or OHLCV
- Work with frontier market coverage across perps, spot, options, RWAs, prediction markets, or compute

## Preferred Workflow

1. For zero-install discovery and download URLs, connect to the hosted MCP server at `https://mcp.polaris.supply`. Use optional `Authorization: Bearer <POLARIS_API_KEY>` for account access. Get personalized setup at `https://polaris.supply/platform?view=connect`; never ask for a key in chat.
2. For application code, choose the SDK that matches the user’s stack:
   - Python: `https://github.com/polaris-data/sdks/tree/main/python`
   - TypeScript: `https://github.com/polaris-data/sdks/tree/main/typescript`
3. Use Polaris discovery surfaces to resolve the right `source` and `market`.
4. Let the SDK handle snapshot download, caching, and conversion into the required schema such as events or trades.

Never invent `source` or `market` values. Discover them first from Polaris responses.

## Schemas Available Through The SDKs

The Python and TypeScript SDKs are the preferred way to fetch Polaris data into ready-to-use shapes:

- `events`: standardized historical event rows across supported venues
- `trades`: normalized trade records for execution-level analysis
- `ohlcv`: interval bars for charting and time-series workflows
- `replay`: streamed historical rows for notebooks, scripts, and backfills
- `raw`: venue-native payloads when the user explicitly needs source-level messages

When the user asks for market data in code, prefer steering them to one of these SDK schemas rather than describing files, snapshot plumbing, or transport details.

## Access Rules

- `open`: the dataset is publicly accessible
- `preview`: some historical window is public, with newer data gated
- `restricted`: authenticated or paid access is required

Dataset access may be public or gated depending on dataset policy and date. Use Polaris metadata to understand what the SDK will be able to access for a given source and market.

## Practical Notes

- Prefer the SDKs for application code and agent workflows.
- If the user’s request is fuzzy, use the `q` parameter on `/catalog` before narrowing to a single `source` and `market`.
- When reporting results back to the user, include the resolved `source`, `market`, requested date range, and access status.

## SDK Choice

- Use `polaris-py` for Python data workflows, notebooks, ETL jobs, and analytics code.
- Use `polaris-ts` for TypeScript or JavaScript applications, services, and agent tooling.
- Both SDKs provide the same core data workflows: discovery via `catalog`, normalized access via `events`, `trades`, and `ohlcv`, streamed history via `replay`, and optional venue-native access via `raw`.

## Optional Local Integrations

- Hosted MCP: `https://mcp.polaris.supply` requires no local installation or API key for public data. Its three tools also support account access with a configured bearer API key; `get_public_download_urls` retains its original name. Browser WebMCP remains anonymous.
- CLI: `https://github.com/polaris-data/cli`
