Documentation

Project Overview

Introduction to Solana FlowGraph, including design rationale, key features, and potential impact.

Read more →

Data Sources & Methodology

Detailed information about data collection, processing, and visualization techniques.

Read more →

Technical Architecture

Comprehensive overview of system architecture, components, and implementation details.

Read more →

Technical Innovations

Health-Aware RPC Selection

Our platform continuously monitors the health of multiple RPC endpoints, tracking metrics such as latency, error rates, and availability. Using a sophisticated scoring algorithm, the system automatically routes requests to the healthiest endpoints, ensuring reliable data access even during network congestion.

Hybrid Graph Processing

Solana FlowGraph implements a dual-processing approach that combines real-time data handling with batch analysis. This hybrid model allows for immediate visualization of new transactions while performing deeper analysis and pattern recognition in the background, delivering both speed and depth of insights.

Context-Enhanced Visualization

Rather than displaying raw blockchain data, our visualization enriches nodes and connections with contextual information about entities like programs, protocols, and wallet addresses. This approach transforms abstract blockchain data into intuitive network graphs that reveal meaningful relationships and patterns.

Adaptive Layout Algorithms

We've developed customized force-directed layout algorithms specifically optimized for blockchain transaction visualization. These algorithms automatically adjust to different network topologies, emphasizing key relationships while maintaining clarity even with complex transaction networks.

Architecture Overview

┌─────────────────────────────────────────────────────────────────┐
│                      Client Applications                         │
│  ┌──────────────┐   ┌──────────────┐   ┌──────────────────────┐ │
│  │  Web UI      │   │  Mobile View │   │  Public API Consumers│ │
│  └──────────────┘   └──────────────┘   └──────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
                              │
                              │ REST/GraphQL/WebSockets
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                        API Gateway Layer                         │
│  ┌──────────────┐   ┌───────────────┐   ┌───────────────────┐   │
│  │  REST API    │   │  GraphQL API  │   │  WebSocket API    │   │
│  └──────────────┘   └───────────────┘   └───────────────────┘   │
└─────────────────────────────────────────────────────────────────┘
                              │
                              │ Internal Service Communication
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                        Service Layer                             │
│                                                                  │
│  ┌──────────────┐   ┌───────────────┐   ┌───────────────────┐   │
│  │  Ingestion   │   │  Processing   │   │  Visualization    │   │
│  │  Service     │   │  Service      │   │  Service          │   │
│  └──────────────┘   └───────────────┘   └───────────────────┘   │
│                                                                  │
│  ┌──────────────┐   ┌───────────────┐   ┌───────────────────┐   │
│  │  Health      │   │  Analytics    │   │  Search           │   │
│  │  Monitor     │   │  Service      │   │  Service          │   │
│  └──────────────┘   └───────────────┘   └───────────────────┘   │
└─────────────────────────────────────────────────────────────────┘
                              │
                              │ Data Access Layer
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                        Storage Layer                             │
│  ┌──────────────┐   ┌───────────────┐   ┌───────────────────┐   │
│  │  Time-Series │   │  Graph        │   │  Relational       │   │
│  │  Database    │   │  Database     │   │  Database         │   │
│  └──────────────┘   └───────────────┘   └───────────────────┘   │
│                                                                  │
│  ┌──────────────┐   ┌───────────────┐                           │
│  │  Cache       │   │  File         │                           │
│  │  (Redis)     │   │  Storage      │                           │
│  └──────────────┘   └───────────────┘                           │
└─────────────────────────────────────────────────────────────────┘
                              │
                              │ External Data Access
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                        External Data Sources                     │
│  ┌──────────────┐   ┌───────────────┐   ┌───────────────────┐   │
│  │  Solana RPC  │   │  Solscan API  │   │  Helius API       │   │
│  │  Nodes       │   │               │   │                   │   │
│  └──────────────┘   └───────────────┘   └───────────────────┘   │
└─────────────────────────────────────────────────────────────────┘

Solana FlowGraph is built with a modular, scalable architecture designed to handle real-time blockchain data processing, storage, and visualization. The system is composed of several layers that work together to provide a seamless experience for exploring and analyzing Solana blockchain data.

For comprehensive architectural details, including component interactions, implementation specifics, and deployment considerations, visit our complete architecture documentation.

Data Collection Methodology

Our platform collects data from multiple reliable sources with fallback mechanisms to ensure data availability and integrity:

Primary Data Sources

  • Solana RPC Nodes (Mainnet/Testnet/Devnet)
  • Solana Tracker API
  • Solscan API
  • Helius RPC API
  • On-Chain Programs

Health-Aware Collection

  • Monitors RPC endpoint health metrics
  • Automated failover mechanisms
  • Rate limiting and backoff strategies
  • Circuit breaker patterns

For a detailed explanation of our data sources, collection methodologies, and visualization techniques, visit our complete data methodology documentation.

API Configuration & Troubleshooting

Solana FlowGraph integrates with multiple external APIs to fetch and process blockchain data. Here's how to configure and troubleshoot common issues:

API Key Requirements

Solana Tracker API

  • Required for advanced wallet visualization
  • Obtain from Solana Tracker website
  • Configure in the .env.local file or enter directly in the visualization interface
  • Format: Alphanumeric string (typically 32+ characters)

Helius RPC API

  • Used for wallet transaction tracking with enhanced metadata
  • Obtain from Helius website
  • Configure in the .env.local file as NEXT_PUBLIC_HELIUS_API_KEY

Solscan API

  • Used for transaction data with program information
  • Obtain from Solscan website
  • Configure in the .env.local file as NEXT_PUBLIC_SOLSCAN_API_KEY

Troubleshooting Common API Issues

401 Unauthorized Errors

  • Check that the API key is correctly entered without typos or extra spaces
  • Verify that your API key is active and has not expired
  • Ensure you have sufficient credits or quota remaining
  • Try regenerating a new API key if problems persist

429 Rate Limit Errors

  • You've exceeded the allowed number of requests in a given timeframe
  • Implement backoff strategy or wait before trying again
  • Consider upgrading to a higher tier API plan if needed

Fallback Options

  • Use mock data for development and testing without API keys
  • Set NEXT_PUBLIC_USE_MOCK_DATA=true in your .env.local file
  • The system will automatically fall back to alternative data sources if primary sources fail

Environment Configuration

Create a .env.local file in your project root with the following variables:

# API Keys for different Solana blockchain data providers
NEXT_PUBLIC_SOLANA_TRACKER_API_KEY=your_solana_tracker_api_key_here
NEXT_PUBLIC_SOLSCAN_API_KEY=your_solscan_api_key_here
NEXT_PUBLIC_HELIUS_API_KEY=your_helius_api_key_here

# Enable/disable mock data for development
NEXT_PUBLIC_USE_MOCK_DATA=true