Integration Guide

Getting Started

This guide provides comprehensive instructions for integrating Shards into your decentralized applications, protocols, and services. Whether you're building a DeFi protocol, an AI-powered trading bot, or a data analytics platform, this guide will help you leverage Shards' oracle aggregation capabilities effectively.

Prerequisites

Technical Requirements

  • Programming Knowledge: Familiarity with JavaScript/TypeScript, Python, or Rust

  • Solana Basics: Understanding of Solana accounts, transactions, and programs

  • API Experience: Basic knowledge of REST APIs and WebSocket connections

  • Development Environment: Node.js 16+ or Python 3.8+

Account Setup

  1. Register for API Access

    curl -X POST https://api.shards.tv/v1/auth/register \
      -H "Content-Type: application/json" \
      -d '{
        "email": "[email protected]",
        "organization": "Your Organization",
        "use_case": "DeFi Protocol Integration"
      }'
  2. Generate API Key

    curl -X POST https://api.shards.tv/v1/auth/api-key \
      -H "Authorization: Bearer YOUR_AUTH_TOKEN" \
      -d '{
        "name": "Production Key",
        "permissions": ["read", "stream"],
        "rate_limit_tier": "pro"
      }'

Installation

JavaScript/TypeScript

Python

Rust

Basic Integration

Initialize Client

TypeScript

Python

Fetching Oracle Data

Simple Price Query

Batch Price Queries

Real-time Data Streaming

WebSocket Subscription

Advanced Integration Patterns

DeFi Protocol Integration

Lending Protocol Example

AI/LLM Trading Bot Integration

Cross-Chain Oracle Aggregation

Error Handling & Resilience

Retry Logic Implementation

Circuit Breaker Pattern

Performance Optimization

Caching Strategy

Testing & Development

Mock Client for Testing

Development Environment Setup

Best Practices

1. API Key Security

  • Never commit API keys to version control

  • Use environment variables for key storage

  • Implement key rotation policies

  • Use different keys for development/production

2. Rate Limit Management

  • Implement request queuing

  • Use caching to reduce API calls

  • Monitor rate limit headers

  • Implement exponential backoff

3. Data Validation

  • Always validate oracle data before use

  • Check confidence intervals

  • Verify data freshness

  • Implement sanity checks for price movements

4. Monitoring & Alerting

  • Log all oracle data requests

  • Monitor latency and error rates

  • Set up alerts for data anomalies

  • Track API usage and costs

Troubleshooting

Common Issues

  1. Connection Timeouts

    • Check network connectivity

    • Verify API endpoint status

    • Increase timeout settings

    • Implement retry logic

  2. Stale Data

    • Check oracle update frequencies

    • Verify timestamp freshness

    • Subscribe to real-time updates

    • Implement cache invalidation

  3. Rate Limiting

    • Monitor request patterns

    • Implement request batching

    • Use WebSocket for real-time data

    • Upgrade API tier if needed

Support & Resources

  • Documentation: https://docs.shards.io

  • API Status: https://status.shards.io

  • Discord Community: https://discord.gg/shards

  • GitHub Examples: https://github.com/shards-protocol/examples

  • Support Email: [email protected]

Last updated