GoldRush Warehouse Recipes on Solana
Critical Rules
- Warehouse delivery lands decoded Solana data as unified tables into ClickHouse, BigQuery, Postgres, Kafka, or S3.
- The
swapsnormalizer streams decoded DEX trades; thetransfersnormalizer streams decoded SPL token transfers. - SPL transfer history is not available on the Foundational REST API for Solana - use the warehouse
transfersnormalizer instead.
The
swaps normalizer streams decoded Solana DEX trades into your warehouse as one unified table.
Why warehouse delivery
REST is great for live lookups, but every retention cohort, churn model, token analytics dashboard, and tax export lives in your data warehouse - not in HTTP responses. GoldRush streams Solana data continuously into customer-managed destinations with no ETL on your side.Pipeline configuration
Create a pipeline In the GoldRush Platform, navigate to Manage Pipelines and click Create Pipeline. Name itsolana-swaps.
Pick Solana + Swaps
Choose Solana as the chain and Swaps as the data type.
Configure your destination
Connect ClickHouse, BigQuery, Postgres, Kafka, S3/GCS/R2, SQS, or a Webhook. ClickHouse is recommended for high-volume analytical queries over swaps.
Schema
Key columns of theswaps table include block_slot, block_time, tx_id, signer, pool_address, base_mint, quote_mint, base_amount, quote_amount, price_usd, volume_usd, protocol_name, and CPI attribution fields (outer_program, inner_program, instruction_type).
Sample analytical queries
Top tokens by 24h volume
Per-protocol market share by token
Whale activity
Jupiter routing through Raydium and Orca
Production tips
- ClickHouse for high-volume analytics. Solana swap volume is significant; analytical queries over millions of rows are much faster on ClickHouse than Postgres.
- Partition by
block_date. Most analytical queries are time-bounded. - Materialized views for per-token metrics. Build hourly / daily roll-ups in ClickHouse materialized views to keep dashboards snappy.
Related
- SPL Transfers warehouse recipe - companion table for transfer-side analytics.
The
transfers normalizer streams decoded SPL token transfers on Solana into your warehouse. Each row carries source/destination account context (owner, balance pre/post, UI amount).
Pipeline configuration
Create a pipeline In the GoldRush Platform, navigate to Manage Pipelines and click Create Pipeline. Name itsolana-spl-transfers.
Pick Solana + Transfers
Choose Solana as the chain and Transfers as the data type.
Configure your destination
Connect ClickHouse, BigQuery, Postgres, Kafka, S3/GCS/R2, SQS, or a Webhook.
Schema
Key columns of thetransfers table:
block_slot,slot,block_time,tx_hash(signature).mint,amount(raw uint64),token_decimals,is_raw_amount.source_address(token account),source_owner(wallet pubkey).destination_address,destination_owner.- Pre/post balances on both sides (
*_pre_balance,*_post_balance) plus UI-amount variants. transfer_indexfor ordering within a transaction.
Sample analytical queries
Daily stablecoin volume by mint
Net flow per wallet for a token
Exchange deposit attribution
Maintain a table of known exchange wallets; join againstdestination_owner to attribute deposits.
Production tips
source_owneranddestination_ownerare the wallet pubkeys, not the SPL token-account pubkeys. Index on these for wallet-centric queries.amountis raw uint64. Always divide bypower(10, token_decimals)(or use the*_uibalance columns) for human-readable amounts.- High-volume mints (USDC, USDT, WSOL). Partition by date and consider materialized views per top-N mint for fast dashboarding.
Related
- DEX Swaps warehouse recipe - companion table for DEX-trade analytics.
- Wallet endpoints (REST) - REST lookups for the same transfer history.