Introduction

Web3 analytics doesn’t have to cost money. If you want to query Ethereum or Solana on-chain data without spinning up a node or adding a credit card to Google Cloud, the BigQuery Sandbox is your best friend.

Google Cloud hosts public crypto datasets (Ethereum, Solana, Bitcoin, Polygon, and more) that you can query directly in BigQuery — free of charge, with no billing account required. This article will show you how to:

By the end, you’ll have a Google Cloud Web3 analytics workflow for $0.

Step 1. Set Up BigQuery Sandbox

  1. Go to BigQuery Sandbox.

BigQuery
  1. Click Start Free and sign in with a Google account.

BigQuery-Step-1
  1. No credit card needed — the sandbox gives you:

BigQuery-Step-2BigQuery Setup

You’ll now see the BigQuery console inside Google Cloud.

BigQuery Studio

Step 2. Access Ethereum & Solana Public Datasets

Google Cloud hosts crypto datasets as public BigQuery projects.

Inside each dataset you’ll find tables like:

Step 3: Run Queries on Ethereum

Example: ETH transfers in the last 24 hours

SELECT from_address, to_address, value, block_timestamp
FROM `bigquery-public-data.crypto_ethereum.transactions`
WHERE block_timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
ORDER BY block_timestamp DESC
LIMIT 100;

Query Result

ETH Transfer

Wallet profiling (total sent, received, unique counterparties):

Wallet profiling helps identify the most active Ethereum addresses by showing how much ETH they’ve sent, how many transactions they’ve made, and how many unique counterparties they interacted with in the last 30 days.

SELECT
  from_address AS wallet,
  COUNT(*) AS tx_count,
  SUM(value) / 1e18 AS eth_sent,
  COUNT(DISTINCT to_address) AS unique_recipients
FROM `bigquery-public-data.crypto_ethereum.transactions`
WHERE block_timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
GROUP BY wallet
ORDER BY eth_sent DESC
LIMIT 50;

Query Result

Wallet Profilling

DEX volume (Uniswap V2)

This query captures daily Uniswap V2 swap events, letting you measure decentralized exchange (DEX) trading volume by extracting token amounts swapped in and out of liquidity pools.

SELECT
  logs.block_timestamp,
  logs.transaction_hash,
  logs.address AS pair_contract,
  JSON_VALUE(logs.data, '$[0]') AS amount0In,
  JSON_VALUE(logs.data, '$[1]') AS amount1In,
  JSON_VALUE(logs.data, '$[2]') AS amount0Out,
  JSON_VALUE(logs.data, '$[3]') AS amount1Out
FROM
  `bigquery-public-data.crypto_ethereum.logs` logs
WHERE logs.block_timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
  AND logs.topics[SAFE_OFFSET(0)] = "0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822" -- Uniswap V2 Swap event
LIMIT 100;

Query Result

DEX Volume

NFT Mints

NFT minting activity can be tracked by filtering transfer events where the sender is the zero address — this query surfaces new NFTs created on Ethereum in the past 7 days.

SELECT
  logs.block_timestamp AS block_time,
  logs.transaction_hash AS tx_id,
  logs.address AS nft_contract,
  logs.data AS token_id,
  logs.topics[SAFE_OFFSET(1)] AS from_address,
  logs.topics[SAFE_OFFSET(2)] AS to_address
FROM
  `bigquery-public-data.crypto_ethereum.logs` logs
WHERE logs.block_timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
  AND logs.topics[SAFE_OFFSET(0)] = "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" -- ERC20/721 Transfer event
  AND logs.topics[SAFE_OFFSET(1)] = "0x0000000000000000000000000000000000000000000000000000000000000000" -- from = 0x0 (mint)
LIMIT 100;

Query Result

NFT mint

MEV-like detection

MEV bots usually perform arbitrage, liquidations, or sandwich attacks by chaining dozens of contract calls in a single transaction. This query surfaces the most complex recent transactions, which often reveal MEV strategies.

SELECT
  t.block_timestamp AS block_time,
  t.hash AS tx_id,
  COUNT(trace.trace_address) AS internal_call_count
FROM
  `bigquery-public-data.crypto_ethereum.transactions` t
JOIN
  `bigquery-public-data.crypto_ethereum.traces` trace
ON
  t.hash = trace.transaction_hash
WHERE t.block_timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
GROUP BY t.block_timestamp, t.hash
ORDER BY internal_call_count DESC
LIMIT 50;

Query Result

MEV Detection

Token transfers (ERC-20)

ERC-20 transfers are the backbone of Ethereum activity. This query extracts all token movements in the last 24 hours, including the token contract, sender, receiver, and amount.

SELECT
  logs.block_timestamp AS block_time,
  logs.transaction_hash AS tx_id,
  logs.address AS token_contract,
  logs.topics[SAFE_OFFSET(1)] AS from_address,
  logs.topics[SAFE_OFFSET(2)] AS to_address,
  SAFE_CAST(logs.data AS NUMERIC) / 1e18 AS amount
FROM
  `bigquery-public-data.crypto_ethereum.logs` logs
WHERE
  logs.block_timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
  AND logs.topics[SAFE_OFFSET(0)] = "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef" -- Transfer event
ORDER BY block_time DESC
LIMIT 100;

Query Result

Token Transfer

Step 5. Save Results Into Tables

Save Table Result

This makes it easier to visualize repeatedly without rerunning heavy queries.

Table Result

Step 6. Visualize in Looker Studio

  1. Go to Looker Studio.

  2. Create a new report - select BigQuery as your data source.

  3. Choose your saved tables.

Looker
  1. Build charts like:

This turns raw SQL - interactive dashboards.

Eth_sent_Chart

Cost-Control Tips

Even though the sandbox is free, you’ll later want to scale to production. These habits will save costs when moving to paid GCP:

Conclusion

With BigQuery Sandbox + Google’s public crypto datasets, you can run real blockchain analytics without a node, without a credit card, and without paying a cent.

You now have reusable SQL templates for:

And you’ve learned how to:

This is the Google Cloud Web3 free tier at its best: a no-cost way to start analyzing Ethereum and Solana right now.