Flipside Crypto

Flipside Crypto is a blockchain analytics platform that lets analysts and developers run SQL queries against curated, Snowflake-backed on-chain datasets covering Ethereum, Solana, and 20+ other chains. The Data API exposes query execution and result retrieval over a JSON-RPC-style HTTP interface at api-v2.flipsidecrypto.xyz, authenticated with an x-api-key. In May 2026 Flipside sold its blockchain data business to SonarX and refocused on its edisyl enterprise AI platform; this catalog documents the Flipside Data API as published.

3 APIs 0 Features
BlockchainAnalyticsSQLWeb3Data

APIs

Query Execution (SQL)

Submit Snowflake-compatible SQL against curated on-chain datasets, poll execution status, and cancel runs via the JSON-RPC methods createQuery, getQueryRun, and cancelQueryRun o...

Query Results

Retrieve paginated query results with column names, types, rows, and run metadata via the JSON-RPC getQueryRunResults method, with configurable page size, page number, and resul...

Datasets

Curated, Snowflake-backed blockchain datasets spanning Ethereum, Solana, Arbitrum, Polygon, and 20+ other chains, queried through the same JSON-RPC SQL interface using the snowf...

Collections

Pricing Plans

Flipside Plans Pricing

4 plans

PLANS

Rate Limits

Flipside Rate Limits

4 limits

RATE LIMITS

FinOps

Resources

👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Flipside Crypto Data API
  version: '2.0'
  description: JSON-RPC 2.0 over HTTP. Every request is a POST to https://api-v2.flipsidecrypto.xyz/json-rpc with a {jsonrpc,
    method, params, id} body and an x-api-key header. The `method` field selects the operation.
request:
  auth:
    type: apikey
    apikey:
      key: x-api-key
      value: '{{apiKey}}'
      in: header
items:
- info:
    name: Query Execution (SQL)
    type: folder
  items:
  - info:
      name: createQuery - submit and run Snowflake SQL
      type: http
    http:
      method: POST
      url: https://api-v2.flipsidecrypto.xyz/json-rpc
      body:
        type: json
        data: "{\n  \"jsonrpc\": \"2.0\",\n  \"method\": \"createQuery\",\n  \"params\": [\n    {\n      \"sql\": \"SELECT\
          \ block_number, tx_hash FROM ethereum.core.fact_transactions LIMIT 100\",\n      \"resultTTLHours\": 1,\n      \"\
          maxAgeMinutes\": 0,\n      \"tags\": { \"sdk_package\": \"opencollection\" },\n      \"dataSource\": \"snowflake-default\"\
          ,\n      \"dataProvider\": \"flipside\"\n    }\n  ],\n  \"id\": 1\n}"
    docs: Creates a query run for a Snowflake-compatible SQL string and returns a queryRunId. Use maxAgeMinutes=0 to force
      fresh execution; resultTTLHours controls how long results are retained.
  - info:
      name: getQueryRun - poll execution status
      type: http
    http:
      method: POST
      url: https://api-v2.flipsidecrypto.xyz/json-rpc
      body:
        type: json
        data: "{\n  \"jsonrpc\": \"2.0\",\n  \"method\": \"getQueryRun\",\n  \"params\": [\n    { \"queryRunId\": \"{{queryRunId}}\"\
          \ }\n  ],\n  \"id\": 1\n}"
    docs: Returns the state of a query run (QUERY_STATE_RUNNING, QUERY_STATE_SUCCESS, QUERY_STATE_FAILED, QUERY_STATE_CANCELED)
      for the given queryRunId.
  - info:
      name: cancelQueryRun - cancel a running query
      type: http
    http:
      method: POST
      url: https://api-v2.flipsidecrypto.xyz/json-rpc
      body:
        type: json
        data: "{\n  \"jsonrpc\": \"2.0\",\n  \"method\": \"cancelQueryRun\",\n  \"params\": [\n    { \"queryRunId\": \"{{queryRunId}}\"\
          \ }\n  ],\n  \"id\": 1\n}"
    docs: Cancels an in-progress query run to stop consuming query seconds.
- info:
    name: Query Results
    type: folder
  items:
  - info:
      name: getQueryRunResults - fetch paginated results
      type: http
    http:
      method: POST
      url: https://api-v2.flipsidecrypto.xyz/json-rpc
      body:
        type: json
        data: "{\n  \"jsonrpc\": \"2.0\",\n  \"method\": \"getQueryRunResults\",\n  \"params\": [\n    {\n      \"queryRunId\"\
          : \"{{queryRunId}}\",\n      \"format\": \"json\",\n      \"page\": { \"number\": 1, \"size\": 1000 }\n    }\n \
          \ ],\n  \"id\": 1\n}"
    docs: Returns columnNames, columnTypes, rows, and page metadata for a completed query run. Each page is capped at ~30MB;
      default page size is 1000 rows.
bundled: true