Public methodology

Weekly gross transaction trend

How complete UTC weeks are selected and compared for Base micro-band transaction counts.

What it measures

The weekly Base micro-band transaction-count trend under chain='base' AND amount_usdc BETWEEN 0.0005 AND 5. The previously cited +113% result is reproducible only when the last week starts on 2026-05-25. When the first full week, 2026-04-13 to 2026-04-19, is compared with the last full week, 2026-06-01 to 2026-06-07, the source note records a trend of +126%.

How it is produced

Transactions are assigned to Monday-based UTC weeks. Database bounds mark partial edge weeks. The first and last complete weeks inside a fixed interval are then compared, and a recipient decomposition checks whether one destination dominates the trend window.

Weekly counts and partial-edge check

WITH base AS (
  SELECT
    timestamp,
    date(
      substr(timestamp,1,10),
      '-' || ((CAST(strftime('%w', substr(timestamp,1,10)) AS INTEGER)+6)%7) || ' days'
    ) AS week_start
  FROM payments
  WHERE chain='base'
    AND amount_usdc BETWEEN 0.0005 AND 5
),
weekly AS (
  SELECT
    week_start,
    date(week_start,'+7 days') AS week_end,
    COUNT(*) AS tx_count,
    MIN(timestamp) AS min_ts,
    MAX(timestamp) AS max_ts
  FROM base
  GROUP BY week_start
),
bounds AS (
  SELECT MIN(timestamp) AS db_min_ts, MAX(timestamp) AS db_max_ts
  FROM payments
  WHERE chain='base'
    AND amount_usdc BETWEEN 0.0005 AND 5
)
SELECT
  week_start,
  week_end,
  tx_count,
  min_ts,
  max_ts,
  CASE
    WHEN week_start || 'T00:00:00' < db_min_ts OR week_end || 'T00:00:00' > db_max_ts
    THEN 'partial_edge'
    ELSE 'complete_by_db_bounds'
  END AS edge_status
FROM weekly, bounds
ORDER BY week_start;

Current last-full-week trend

WITH base AS (
  SELECT date(
    substr(timestamp,1,10),
    '-' || ((CAST(strftime('%w', substr(timestamp,1,10)) AS INTEGER)+6)%7) || ' days'
  ) AS week_start
  FROM payments
  WHERE chain='base'
    AND amount_usdc BETWEEN 0.0005 AND 5
    AND timestamp >= '2026-04-13T00:00:00'
    AND timestamp < '2026-06-08T00:00:00'
),
weekly AS (
  SELECT week_start, COUNT(*) AS tx_count
  FROM base
  GROUP BY week_start
),
first_last AS (
  SELECT
    (SELECT tx_count FROM weekly ORDER BY week_start ASC LIMIT 1) AS first_full_week_count,
    (SELECT tx_count FROM weekly ORDER BY week_start DESC LIMIT 1) AS last_full_week_count
)
SELECT
  first_full_week_count,
  last_full_week_count,
  ROUND(100.0 * (last_full_week_count-first_full_week_count) / first_full_week_count, 6) AS pct_change
FROM first_last;

Published trend reproduction

WITH weekly AS (
  SELECT
    date(
      substr(timestamp,1,10),
      '-' || ((CAST(strftime('%w', substr(timestamp,1,10)) AS INTEGER)+6)%7) || ' days'
    ) AS week_start,
    COUNT(*) AS tx_count
  FROM payments
  WHERE chain='base'
    AND amount_usdc BETWEEN 0.0005 AND 5
    AND timestamp >= '2026-04-13T00:00:00'
    AND timestamp < '2026-06-01T00:00:00'
  GROUP BY week_start
),
first_last AS (
  SELECT
    (SELECT tx_count FROM weekly ORDER BY week_start ASC LIMIT 1) AS first_week_count,
    (SELECT tx_count FROM weekly ORDER BY week_start DESC LIMIT 1) AS last_week_count
)
SELECT
  first_week_count,
  last_week_count,
  ROUND(100.0 * (last_week_count-first_week_count) / first_week_count, 6) AS pct_change_ending_2026_06_01
FROM first_last;

Recipient concentration over the trend window

WITH base AS (
  SELECT
    date(
      substr(timestamp,1,10),
      '-' || ((CAST(strftime('%w', substr(timestamp,1,10)) AS INTEGER)+6)%7) || ' days'
    ) AS week_start,
    to_wallet
  FROM payments
  WHERE chain='base'
    AND amount_usdc BETWEEN 0.0005 AND 5
    AND timestamp >= '2026-04-13T00:00:00'
    AND timestamp < '2026-06-08T00:00:00'
),
totals AS (SELECT COUNT(*) AS n FROM base),
by_wallet AS (
  SELECT to_wallet, COUNT(*) AS n
  FROM base
  GROUP BY to_wallet
)
SELECT
  to_wallet,
  n,
  ROUND(100.0 * n / (SELECT n FROM totals), 6) AS pct_of_trend_window
FROM by_wallet
ORDER BY n DESC
LIMIT 10;

Limits and assumptions

How to refute this

  1. Re-run the weekly SQL and get different weekly counts.
  2. Show that the tracker missed or duplicated Base USDC transfers in one of the compared weeks.
  3. Change the week boundary, or re-run the trend on a filtered subset, and show the trend no longer matches.

Last validated

2026-06-08