The task is, for each mem-coin created on Pump Fun, to identify a wallet that funded the creator’s (dev) wallet.

SSS6 - funding wallet.drawio.svg

An example.

Let’s analyze the token 3VXXXs9xujfEJ8SykJQsUckPw5DkPpzn2mR9uAQrpump It was created with this transaction 5mh5m3G3WPe3pwmk3bh3wnPhuFT6tQr12F3FabFcJRWvcD8R252oBGyL2wcf4YhhY7YiG3TJDhYmHTC4xu4mLyA5 By token creator A2U2FyQPzQ2DD2HdxVDjUuG5SzW3GGUs6QUt96h91rC

Looking at this creator wallet history, we can see that the first transaction (SOL transfer) to creator wallet was aCc9E3BTJSghp4qT44T5u85KWWWngE8cQBGvg8n3mYpZic47QKTeDboSHWHWt1ZbdqwaQKVuq1shtPFGEzPNUvy and it came from wallet G2YxRa6wt1qePMwfJzdXZG62ej4qaTC7YURzuh2Lwd3t

In other words, our goal is, for a given set of tokens, to identify the “Funding” wallets that provided the capital needed for each token’s launch.

For this task, only native SOL transfers—excluding wSOL and other SPL tokens—of at least 0.01 SOL should be treated as “funding” transactions.

Optimization condition

Because some wallets may have numerous historical transfers, to simplify the task, ignore all transfer transactions before 2025-05-08 12:00:00 and treat the first considered transfer as the earliest one occurring on or after that timestamp.

Optimization condition – only calculate for a few hundred new Pump Fun tokens from this time window:

block_time >= TRY_CAST('2025-05-15 12:00:00' AS TIMESTAMP)
AND block_time < TRY_CAST('2025-05-15 12:30:00' AS TIMESTAMP)

Recommened output table schema

token_mint_address
token_created_at
first_transfer_time
funding_wallet
creator_wallet
amount
funding_tx
creating_tx

The most important columns are token_mint_address, funding_wallet, creator_wallet