API Reference

Base URL

Production: https://api.shards.tv/v1 Development: https://dev-api.shards.tv/v1

Authentication

All API requests require authentication using an API key. Include your API key in the request header:

Authorization: Bearer YOUR_API_KEY

Rate Limits

Tier
Requests/Second
Requests/Day
WebSocket Connections

Free

10

10,000

1

Basic

100

100,000

5

Pro

1,000

1,000,000

20

Enterprise

Custom

Unlimited

Unlimited

REST API Endpoints

Oracle Data

Get Current Price

Retrieve the latest price for a specific asset from aggregated oracle sources.

Parameters:

  • symbol (path, required): Asset symbol (e.g., "SOL", "BTC", "ETH")

  • source (query, optional): Specific oracle source ("pyth", "chainlink", "switchboard", "aggregated")

  • confidence (query, optional): Include confidence intervals (boolean)

Response:

Get Historical Prices

Retrieve historical price data for a specific time range.

Parameters:

  • symbol (path, required): Asset symbol

  • from (query, required): Start timestamp (Unix epoch)

  • to (query, required): End timestamp (Unix epoch)

  • resolution (query, optional): Data resolution ("1m", "5m", "15m", "1h", "1d")

  • source (query, optional): Specific oracle source

Response:

Batch Price Request

Retrieve prices for multiple assets in a single request.

Request Body:

Response:

RPC Data Access

Get Account Info

Retrieve detailed information about a Solana account.

Parameters:

  • address (path, required): Solana account address

  • encoding (query, optional): Data encoding ("base58", "base64", "jsonParsed")

  • commitment (query, optional): Commitment level ("processed", "confirmed", "finalized")

Response:

Get Program Accounts

Retrieve all accounts owned by a specific program.

Parameters:

  • programId (path, required): Solana program ID

  • filters (query, optional): JSON-encoded filters

  • limit (query, optional): Maximum number of accounts (default: 100, max: 1000)

  • offset (query, optional): Pagination offset

LLM Interface

Natural Language Query

Process natural language queries to retrieve oracle data.

Request Body:

Response:

WebSocket API

Connection

Subscription Messages

Subscribe to Price Updates

Subscribe to Account Changes

Message Format

Price Update Message

GraphQL API

Endpoint

Schema Examples

Query Current Prices

Query Historical Data

Subscription for Real-time Updates

Error Handling

Error Response Format

Common Error Codes

Code
HTTP Status
Description

INVALID_API_KEY

401

Invalid or missing API key

RATE_LIMIT_EXCEEDED

429

Too many requests

INVALID_SYMBOL

400

Requested symbol not supported

DATA_NOT_AVAILABLE

404

No data available for request

INVALID_PARAMETERS

400

Invalid request parameters

INTERNAL_ERROR

500

Internal server error

SERVICE_UNAVAILABLE

503

Service temporarily unavailable

SDK Examples

JavaScript/TypeScript

Python

Webhooks

Configuration

Register webhook endpoints to receive push notifications for specific events.

Request Body:

Webhook Payload

Last updated