SolixDB API Documentation
Production-ready TypeScript API/GraphQL service for querying 390M+ Solana transaction instruction records from ClickHouse.
Features
REST API - Fast, standardized endpoints for common queries
GraphQL API - Flexible querying with exactly the data you need
High Performance - Optimized queries with < 500ms response times
Redis Caching - Intelligent caching for improved performance
Rate Limiting - IP-based rate limiting to prevent abuse
Analytics - Protocol analytics, time series, and fee statistics
Health Checks - Built-in health monitoring
Quick Start
Prerequisites
Node.js 20+
ClickHouse database access
Redis instance
Installation
Configuration
See .env.example for all configuration options:
ClickHouse: Database connection settings
Redis: Cache connection settings
API: Rate limiting configuration
API Endpoints
REST API
GET /api/v1/transactions- Get transactions with filtersGET /api/v1/transactions/:signature- Get transaction by signatureGET /api/v1/analytics/protocols- Get protocol analyticsGET /api/v1/analytics/time-series- Get time series dataGET /api/v1/analytics/fees- Get fee analyticsGET /api/v1/stats- Get global statisticsPOST /api/v1/query- Execute read-only SQL queries (SELECT only)
GraphQL
POST /graphql- GraphQL endpoint
Health
GET /health- Health check endpoint
Documentation
Comprehensive documentation is available in the docs/ directory:
Live Documentation: docs.solixdb.xyz (when deployed)
Development
Testing
Run the comprehensive test suite to verify all endpoints:
The test suite covers:
Health check endpoint
All REST API endpoints
GraphQL queries
Rate limiting headers
Project Structure
Query Optimization
The service is optimized for ClickHouse:
Partition Pruning: Always filter by
datewhen possibleBloom Filters: Uses indexes on
protocol_name,program_id,signatureCaching: Redis caching for common queries
LIMIT Clauses: Always uses LIMIT to prevent large result sets
Performance
Response Time: < 500ms for most queries
Concurrency: Handles 100+ concurrent requests
Caching: Redis caching reduces database load
Connection Pooling: Efficient database connection management
Security
Helmet: Security headers
CORS: Configurable CORS policies
Rate Limiting: IP-based rate limiting
Input Validation: Zod schema validation
Monitoring
Health check endpoint provides service status:
Response includes:
Overall service status
ClickHouse connection status
Redis connection status
License
MIT
Support
For questions or issues, please contact support or open an issue in the repository.
Last updated