flowchart LR
%% Data Sources
Node["EVM Node (Local or RPC)"]
%% AMP Core
subgraph AMP["AMP Indexer"]
Extract["Block and Log Extraction (Parallel)"]
Raw["Raw EVM Datasets Parquet in Object Storage"]
Compact["Compaction Optimized Parquet"]
end
%% Transformations
subgraph Transform["Derived Data Layer"]
Views["Materialized Views SQL Transforms"]
UDFs["Custom Logic TypeScript UDFs"]
end
%% Serving Layer
subgraph Serving["Application and Analytics"]
DB["App Databases Postgres or D1"]
API["APIs and Indexers"]
BI["Analytics SQL Playground"]
Explorer["Block Explorer Live UI"]
end
%% Cross-chain
Cross["Cross-Chain Joins Multi-Dataset SQL"]
%% Flow
Node --> Extract
Extract --> Raw
Raw --> Compact
Compact --> Views
UDFs --> Views
Views --> DB
Views --> BI
DB --> API
API --> Explorer
Views --> Cross