with source_arb as (
select
from_address,
min(block_timestamp::date) as TIME
from arbitrum.core.fact_transactions
group by 1
),
source_opt as (
select
from_address,
min(block_timestamp::date) as TIME
from optimism.core.fact_transactions
group by 1
)
select count(distinct a.from_address) as arbitrum_new_wallets,
count(distinct b.from_address) as Optimism_new_wallets,
a.TIME
from source_arb a inner join source_opt b on a.TIME = b.TIME
group by a.TIME