Analytics·EVM · Solana · Multi-chain
Flipside
Onchain data warehouse with curated, query-ready Snowflake tables for 20+ chains, accessible via the Compass SQL API and official SDKs.
- 01ad-hoc SQL over indexed onchain data
- 02wallet and protocol cohort analysis
- 03leaderboards and dashboards
- 04fact tables with parsed events
- 05free curated EVM + Solana coverage
- pnpm add @flipsidecrypto/sdk
| Variable | Scope | Description |
|---|---|---|
| FLIPSIDE_API_KEY | Server | Flipside Compass API key from flipsidecrypto.xyz account settings. Server-only. |
Use Flipside's Compass API for SQL over curated onchain data. Server-side: `import { Flipside } from "@flipsidecrypto/sdk"`, then `const flipside = new Flipside(process.env.FLIPSIDE_API_KEY!, "https://api-v2.flipsidecrypto.xyz")`. Run queries via `await flipside.query.run({ sql, maxAgeMinutes: 30 })` and read `result.records`. Prefer curated `ez_*` views (e.g. `ethereum.core.ez_token_transfers`, `solana.core.fact_transactions`) over raw fact tables. Always set `maxAgeMinutes` to leverage the cache and avoid rerunning identical queries.
- ⚑Queries can take seconds-to-minutes — never run Compass synchronously inside a request handler; use a job queue or pre-warm with `maxAgeMinutes`.
- ⚑Free tier has concurrency and row limits (typically 1 concurrent query, ~1M rows); production analytics need a paid plan.
- ⚑Schemas drift: chain teams add and rename columns; pin to `ez_*` views which Flipside commits to maintaining instead of raw tables.
- ⚑Data freshness varies by chain — Ethereum is near-realtime, smaller chains can lag 30+ minutes; check the chain's freshness page before alerting on it.
- ⚑SQL dialect is Snowflake — `LATERAL FLATTEN`, `OBJECT_CONSTRUCT`, etc. won't port to Postgres/BigQuery directly.