select date_trunc('month',t) as month, count(from_address) as n_new_address, sum(n_new_address) OVER(ORDER BY month asc ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS cum_new_address
from
(select from_address, min(block_timestamp) as t from polygon.transactions
where fee>0
group by 1 order by 1)
group by 1 order by 1
limit 1000