Updated 2022-10-16
    with first_trade as (
    select
    min(date_trunc('day',block_timestamp)) as first_record,
    from_address
    from gnosis.core.fact_transactions

    group by 2
    ),

    new_address as (
    select
    first_record,
    count(*) as new_address
    from first_trade
    group by 1
    ),

    total_address as (
    select
    date_trunc('day',block_timestamp) as day,
    count(distinct from_address) as total_address
    from gnosis.core.fact_transactions
    group by 1
    )

    select
    day,
    new_address as new_users,
    sum(total_address - new_address) as old_users
    from new_address
    join total_address on total_address.day = first_record
    where DAY >= CURRENT_DATE - 30
    group by 1, 2

    Run a query to Download Data