BitqueryBitqueryData Store
Solana logoSolanaTransfersBalances

Pump.fun Early Holders

Every transfer of every Pump.fun token in its first 7 days, in the standard Solana transfers schema, for point-in-time holder counts and concentration.

Coverage
Oct 28, 2025→ Oct 20, 2026 · yesterday
Rows
≈4.7Brows · estimate
Size
≈764 GBParquet · estimate
Table
1pumpfun_early_holder_transfers
Columns
47typed
Coverage ends yesterday, UTC

Overview

Holder data for new tokens is the layer buyers say they cannot rebuild from RPC. This dataset has every transfer of every Pump.fun token during its first 7 days, so a running sum of receipts minus sends per owner gives each wallet's balance at any moment, and from it holder counts and concentration.

Rows are the standard Solana transfers schema, 47 columns, with nothing renamed or added. Our Solana transfers hold transfer instructions only, not the mint into the bonding curve, so the curve's own running sum starts at zero; every other wallet's is its balance.

Use cases

  • Holder count and top-10 share at any moment
  • Dev and insider supply tracking
  • Distribution right before graduation

Table

47 columns · free sample for the table

pumpfun_early_holder_transfers

47 columns

Every transfer of every Pump.fun token in its first 7 days, in the standard Solana transfers schema.

solana/pumpfun_launch/early_holder_transfers<YYYY-MM-DD>.parquetone file per creation day
Browse columns Sample fileSample updated Oct 21, 2026

Schema reference

copies a column name
47 columns
ColumnTypeDescription
Block4
Block_DateDateUTC date of the block
Block_HeightUInt64Count of blocks produced before this one; lower than the slot because some slots are skipped
Block_SlotUInt64Slot number of the block; delivered files are split by slot range
Block_TimeDateTimeBlock timestamp, UTC
Instruction7
Instruction_CallPathArrayInstruction_Index values of the parent instructions; empty on a top-level instruction
Instruction_ExternalSeqNumberUInt32Number of the top-level instruction this row falls under, counting from 1
Instruction_IndexUInt32Position of the instruction in the transaction, counting inner instructions
Instruction_InternalSeqNumberUInt32Position under its top-level instruction, counting from 1; 0 on a top-level instruction
Instruction_Program_AddressStringProgram that executed the instruction
Instruction_Program_MethodStringDecoded instruction name, for example swap, buy or route
Instruction_Program_NameStringDecoded program name
Transaction8
Transaction_FeeStringNetwork fee paid, in SOL
Transaction_FeeInUSDFloat64Network fee, in USD
Transaction_FeePayerStringWallet that paid the network fee; Solana makes it the first signer
Transaction_IndexUInt32Position of the transaction within the block
Transaction_Result_ErrorMessageStringError the runtime returned when the transaction failed; empty on success
Transaction_Result_SuccessStringWhether the transaction succeeded
Transaction_SignatureStringTransaction signature, base58
Transaction_SignerStringWallet that signed the transaction and paid its fee
Transfer8
Transfer_AmountStringAmount transferred, decimal adjusted, as a decimal string. Multiply by 10^Transfer_Currency_Decimals for the raw on-chain integer
Transfer_AmountInUSDFloat64Amount valued in USD at the hourly price for the block's hour; 0 for tokens with no price
Transfer_Authority_AddressStringAccount that authorised the transfer, usually the token account owner or its delegate
Transfer_IndexUInt32Position of the transfer within the transaction
Transfer_Receiver_AddressStringReceiving token account, base58; for SOL the receiving wallet
Transfer_Receiver_Token_OwnerStringWallet that owns the receiving token account; the address you usually want
Transfer_Sender_AddressStringSending token account, base58; for SOL the sending wallet
Transfer_Sender_Token_OwnerStringWallet that owns the sending token account; the address you usually want
Transfer_Currency20
Transfer_Currency_CollectionAddressStringNFT collection of the transferred token; empty for fungible tokens
Transfer_Currency_DecimalsUInt32Decimals of the transferred token
Transfer_Currency_EditionNonceUInt32Metaplex edition bump seed of the transferred token; a technical value, 0 when unset
Transfer_Currency_FungibleStringWhether the transferred token is fungible; the string true or false
Transfer_Currency_IsMutableStringWhether the transferred token's metadata can still be changed; the string true or false
Transfer_Currency_KeyStringMetaplex metadata account type of the transferred token, such as MetadataV1
Transfer_Currency_MetadataAddressStringMetaplex metadata account of the transferred token, when recorded
Transfer_Currency_MintAddressStringMint address of the transferred token and the key for joins; SOL shows as 11111111111111111111111111111111 (native) or So11111111111111111111111111111111111111112 (wrapped)
Transfer_Currency_NameStringName of the transferred token
Transfer_Currency_NativeStringtrue for SOL, false for every SPL token; the string true or false
Transfer_Currency_PrimarySaleHappenedStringWhether the transferred token's first sale has happened, from Metaplex metadata; the string true or false
Transfer_Currency_ProgramAddressStringProgram that owns the transferred token's mint, SPL Token or Token-2022, when recorded
Transfer_Currency_SellerFeeBasisPointsUInt32Creator royalty on the transferred token in basis points (100 = 1%); 0 for nearly all fungible coins
Transfer_Currency_SymbolStringSymbol of the transferred token; reported by the token metadata, not unique
Transfer_Currency_TokenCreator_AddressArrayCreator wallets from the transferred token's metadata; mostly empty in this table
Transfer_Currency_TokenStandardStringMetaplex standard of the transferred token, such as Fungible or FungibleAsset, when recorded
Transfer_Currency_UpdateAuthorityStringAccount that can change the transferred token's metadata unless it is immutable; NativeLoader1111111111111111111111111111111 for SOL
Transfer_Currency_UriStringLink to the transferred token's off-chain metadata file, often on IPFS or Arweave
Transfer_Currency_VerifiedCollectionStringWhether the transferred token's NFT collection is verified; false for fungible tokens
Transfer_Currency_WrappedStringWhether the transferred token is wrapped SOL; the string true or false
Sample file

Ask an AI about this data

Send this dataset’s full schema to an assistant and ask it anything. It reads the plain-text brief first, so the answer comes from the real column list rather than a guess.

Start with

Opens a new chat with the question filled in. Nothing about you is sent to Bitquery, and the assistant sees only the public brief.

Delivery

Parquet files in a Requester Pays S3 bucket or a Cloudflare R2 bucket, chosen at checkout. On S3 you download with your own AWS account and AWS bills the transfer; on R2 you download with a read-only API key and pay no egress. Layout:

# pumpfun_early_holder_transfers: one file per creation day
solana/pumpfun_launch/early_holder_transfers<YYYY-MM-DD>.parquet
  1. Download a free sampleNo email needed.
  2. Pay nowName, work email and licence check.
  3. Pay the invoiceBy card or bank transfer.
  4. Download from S3 or R2The team prepares the export and emails the bucket path, plus a read-only API key for R2 orders.

Time windows

Every window includes 47 columns. Only the time range changes.

30 days
Latest month
Sep 20, 2026 → Oct 20, 2026
$300
Pay now
183 days
Last 6 months
Apr 20, 2026 → Oct 20, 2026
$1,500
Pay now
365 days
Last 12 months
Oct 20, 2025 → Oct 20, 2026
$3,000
Pay now
In every window
  • The pumpfun_early_holder_transfers table, 47 columns
  • Parquet files in the layout under Delivery
  • S3 or R2 download, chosen at checkout
  • Licensed under the Data License

FAQ

7 questions
What dates are covered?

Tokens created from 28 October 2025, the first day with complete raw Solana trades in our archive. A 12-month purchase starts there until the rolling window passes that date. Earlier Pump.fun history exists only as aggregated candles and volume, which these tables do not use.

How current is it?

Each token's row needs its first 7 days, and our Solana pool and transfer archive runs about 8 days behind. A purchase covers tokens created up to about 15 days before delivery.

Why only the first 7 days?

That is where holder questions about launches sit, and it keeps every token's history complete from creation. Later transfers of long-lived tokens are not included.

How do I get holders at a time T?

Sum Transfer_Amount received minus sent per Transfer_Receiver_Token_Owner / Transfer_Sender_Token_Owner for rows before T, ignoring the bonding-curve account, and count owners above zero.

How do I load it?

With DuckDB: SELECT * FROM read_parquet('pumpfun_early_holder_transfers/*.parquet') LIMIT 10. pandas, Polars, Spark and ClickHouse read the same files.

Can I try before I buy?

Yes. Each table links to a public sample file from 1 October 2026: tokens created in slots 452,119,504 to 452,120,503 (the first 7 minutes of the day). Its trades and transfers stop at 02:14 UTC, so in the sample the 24-hour and 7-day figures cover about 2 hours. No email address required.

How is the data delivered?

As flat Parquet files (ZSTD) under a stable layout, one prefix per table, with a JSON manifest listing each file and its sha256. We prepare the files within 7 business days of purchase and email you the location. You choose at checkout where to collect them: a Requester Pays S3 bucket, downloaded with your own AWS account, or a Cloudflare R2 bucket with a read-only API key and no egress fees. Files stay available for 7 days from delivery.