pump.fun launches with outcomes and early features, one UTC day per file. Every launch our own capture saw that day, with the outcomes under the label rules at /v1/labels (true graduation, rug flag, timing); the last three days are rebuilt nightly because outcomes settle late. Facts from public on-chain activity, computed from our independent capture, not resold data and not advice. Coverage: 2026-08-31 to 2026-10-28, 59 day files, 2,378,371 launches in total.
free 200-row CSV sample · column schema (JSON) · index (JSON) · API front page · terms
Free history: every day file at least 7 days old is also published free on Hugging Face at https://huggingface.co/datasets/loopholetape/pumpfun-launches (the same files under the project's own account, with the dataset card's known issues; three day files there differ by six removed third-party e-mail addresses). The newest 7 days are sold here only.
GET https://api.loopholetape.com/v1/datasets/pumpfun_launches/{day} answers 402 with the payment terms (USDC on Solana or Base); the paid retry returns the parquet bytes with the sha256 in a header. Any x402 client works; in a browser with a Solana wallet the 402 shows a pay page.GET https://api.loopholetape.com/v1/keys/new ($2.00 credit; add credit by buying again) and send X-API-Key; a day file needs $5.00 of credit.buy_dataset(day) on https://api.loopholetape.com/mcp returns a one-hour download URL.Unknown days answer 404 and nothing is charged. A day's sha256 and row count are published below and in the index before you pay.
| UTC day | launches | graduated | rug flags | size | sha256 | |
|---|---|---|---|---|---|---|
| 2026-10-28 | 46426 | 417 | 22027 | 5.72 MB | feabd8413750f411 | buy $5.00 |
| 2026-10-27 | 54321 | 562 | 27971 | 7.53 MB | fd3133de6ab4efb6 | buy $5.00 |
| 2026-10-26 | 46664 | 604 | 24076 | 6.61 MB | ce9aaff544df2d0b | buy $5.00 |
| 2026-10-25 | 40321 | 494 | 21212 | 5.9 MB | af29cae4f3620aa8 | buy $5.00 |
| 2026-10-24 | 42008 | 584 | 22416 | 5.99 MB | c0bf9a4ae4b5f14b | buy $5.00 |
| 2026-10-23 | 48704 | 667 | 24139 | 6.82 MB | 4e7bcc8cf9b0cde8 | buy $5.00 |
| 2026-10-22 | 46521 | 604 | 22429 | 6.48 MB | 5e596bb7e39e1767 | buy $5.00 · free on Hugging Face |
| 2026-10-21 | 48886 | 585 | 22770 | 6.72 MB | 91cfd3119485549a | buy $5.00 · free on Hugging Face |
| 2026-10-20 | 50857 | 578 | 24033 | 7.09 MB | be4bd642437f26ae | buy $5.00 · free on Hugging Face |
| 2026-10-19 | 52196 | 578 | 25531 | 7.17 MB | 74c15b7be115f6b0 | buy $5.00 · free on Hugging Face |
| 2026-10-18 | 43316 | 554 | 22458 | 6.12 MB | f29247cd689cb880 | buy $5.00 · free on Hugging Face |
| 2026-10-17 | 44819 | 612 | 23114 | 6.29 MB | 81f1ac1a8872de92 | buy $5.00 · free on Hugging Face |
| 2026-10-16 | 49822 | 634 | 26331 | 6.81 MB | de1e504daea9e3dc | buy $5.00 · free on Hugging Face |
| 2026-10-15 | 46421 | 617 | 27604 | 6.76 MB | 58698e924c4de5a7 | buy $5.00 · free on Hugging Face |
| 2026-10-14 | 41600 | 707 | 24604 | 6.24 MB | 9261c36d5e72ba15 | buy $5.00 · free on Hugging Face |
| 2026-10-13 | 42638 | 764 | 24951 | 6.36 MB | 452f9bd5fcfb4afb | buy $5.00 · free on Hugging Face |
| 2026-10-12 | 49568 | 786 | 27022 | 7.14 MB | 901b7085a6cea12a | buy $5.00 · free on Hugging Face |
| 2026-10-11 | 42618 | 660 | 24577 | 6.42 MB | 2c8b077864505eef | buy $5.00 · free on Hugging Face |
| 2026-10-10 | 48417 | 715 | 26526 | 7.01 MB | 834a35d9e17c4af0 | buy $5.00 · free on Hugging Face |
| 2026-10-09 | 47021 | 823 | 27553 | 7.2 MB | 6b771e410f7016c0 | buy $5.00 · free on Hugging Face |
| 2026-10-08 | 55476 | 867 | 30728 | 8.14 MB | 1fe8183be86a5f1f | buy $5.00 · free on Hugging Face |
| 2026-10-07 | 55702 | 896 | 31810 | 7.92 MB | 51dcd5bbbdd8a417 | buy $5.00 · free on Hugging Face |
| 2026-10-06 | 53155 | 897 | 29496 | 7.89 MB | 7d4ebaa1351c0b21 | buy $5.00 · free on Hugging Face |
| 2026-10-05 | 49337 | 812 | 27102 | 7.4 MB | 9212a8796430be8f | buy $5.00 · free on Hugging Face |
| 2026-10-04 | 50688 | 946 | 29768 | 7.75 MB | 69c351a402152b97 | buy $5.00 · free on Hugging Face |
| 2026-10-03 | 52123 | 944 | 30924 | 7.66 MB | c0cde0744d887577 | buy $5.00 · free on Hugging Face |
| 2026-10-02 | 46645 | 921 | 29813 | 7.18 MB | 298c5bef70dab01c | buy $5.00 · free on Hugging Face |
| 2026-10-01 | 50350 | 974 | 32826 | 7.51 MB | 21131b02678e05b8 | buy $5.00 · free on Hugging Face |
| 2026-09-30 | 49042 | 918 | 30378 | 7.09 MB | 83afd4a0948af971 | buy $5.00 · free on Hugging Face |
| 2026-09-29 | 43327 | 817 | 27239 | 6.66 MB | 41ca49ead5b3d6ef | buy $5.00 · free on Hugging Face |
| 2026-09-28 | 42266 | 908 | 26907 | 6.65 MB | 062de05587af957e | buy $5.00 · free on Hugging Face |
| 2026-09-27 | 37908 | 723 | 25546 | 6.01 MB | c08d9771d87e0f61 | buy $5.00 · free on Hugging Face |
| 2026-09-26 | 43058 | 829 | 28113 | 5.79 MB | 5cbc9c578f4aba1f | buy $5.00 · free on Hugging Face |
| 2026-09-25 | 34576 | 749 | 21224 | 4.74 MB | ecd21c2b726f3d5f | buy $5.00 · free on Hugging Face |
| 2026-09-24 | 34510 | 813 | 21559 | 4.65 MB | f52391c8219285f3 | buy $5.00 · free on Hugging Face |
| 2026-09-23 | 34644 | 779 | 21624 | 4.67 MB | 1670a39418e1b509 | buy $5.00 · free on Hugging Face |
| 2026-09-22 | 32988 | 814 | 19839 | 4.48 MB | f8c6db4af7501883 | buy $5.00 · free on Hugging Face |
| 2026-09-21 | 34565 | 794 | 20659 | 4.73 MB | fd6cc693ebc7d73f | buy $5.00 · free on Hugging Face |
| 2026-09-20 | 30672 | 812 | 17781 | 4.14 MB | 375087c28f7282c8 | buy $5.00 · free on Hugging Face |
| 2026-09-19 | 31901 | 760 | 18269 | 4.35 MB | 8137aae7ec4a8bf2 | buy $5.00 · free on Hugging Face |
| 2026-09-18 | 36003 | 787 | 21502 | 4.75 MB | ea59e754b08ef342 | buy $5.00 · free on Hugging Face |
| 2026-09-17 | 38884 | 806 | 24761 | 5.12 MB | 4674d196080f048a | buy $5.00 · free on Hugging Face |
| 2026-09-16 | 33867 | 759 | 22612 | 4.73 MB | b176f685c86e803f | buy $5.00 · free on Hugging Face |
| 2026-09-15 | 34272 | 705 | 20544 | 4.72 MB | d4d9913bdf83bb10 | buy $5.00 · free on Hugging Face |
| 2026-09-14 | 29760 | 653 | 15960 | 4.03 MB | b7acdce2d3b94147 | buy $5.00 · free on Hugging Face |
| 2026-09-13 | 24806 | 606 | 11863 | 3.33 MB | e95635e1a1eee31d | buy $5.00 · free on Hugging Face |
| 2026-09-12 | 28257 | 621 | 14678 | 3.71 MB | 3f4b0cb2b21e81cf | buy $5.00 · free on Hugging Face |
| 2026-09-11 | 28530 | 609 | 17873 | 3.86 MB | 196377eee70cd0a0 | buy $5.00 · free on Hugging Face |
| 2026-09-10 | 31196 | 683 | 18957 | 4.18 MB | 55d9c893374314c1 | buy $5.00 · free on Hugging Face |
| 2026-09-09 | 33580 | 752 | 19497 | 4.49 MB | 6641d934440e6c7f | buy $5.00 · free on Hugging Face |
| 2026-09-08 | 29446 | 720 | 19368 | 3.95 MB | f93fd0247c5cc532 | buy $5.00 · free on Hugging Face |
| 2026-09-07 | 26951 | 791 | 16893 | 3.71 MB | 63b6fefc741b6f7b | buy $5.00 · free on Hugging Face |
| 2026-09-06 | 22327 | 639 | 13597 | 3.06 MB | 2120646c27e8ad92 | buy $5.00 · free on Hugging Face |
| 2026-09-05 | 21184 | 605 | 13554 | 2.96 MB | 7cd874d9fb52517e | buy $5.00 · free on Hugging Face |
| 2026-09-04 | 29467 | 632 | 17482 | 3.92 MB | f0fffde2d3e0b050 | buy $5.00 · free on Hugging Face |
| 2026-09-03 | 32926 | 639 | 12741 | 4.18 MB | ca41ea2573e3cb54 | buy $5.00 · free on Hugging Face |
| 2026-09-02 | 32899 | 583 | 8060 | 3.73 MB | 1fcf1ae24bbc8fc9 | buy $5.00 · free on Hugging Face |
| 2026-09-01 | 36202 | 757 | 18854 | 4.17 MB | cbfc874ed6d918f3 | buy $5.00 · free on Hugging Face |
| 2026-08-31 | 31737 | 648 | 20710 | 3.65 MB | 40e8b0289b212583 | buy $5.00 · free on Hugging Face |
| column | meaning |
|---|---|
mint | pump.fun mint address (base58) |
creator | creator wallet |
t0 | launch time, unix seconds (UTC) |
launched_at | launch time, ISO 8601 UTC |
name | token name at launch (text written by the creator) |
symbol | token symbol at launch (creator's text) |
uri | metadata URI (creator's text) |
mayhem | 1 = a mayhem-mode launch: the curve account's is_mayhem_mode where the account was read, else our launch table's own mark (the two agree on every launch from 2026-09-01 to 09-30, 978 thousand; the table's mark is missing on 1,509 launches of 08-31). About a quarter of launches; a few percent of these curves are marked complete far below 85 SOL, so their `curve_complete` is not a graduation |
quote_asset | what the curve is quoted in: sol, usdc, pyusd, stock (a tokenized equity), other; null = not established |
quote_mint | mint address of the quote asset; null for SOL and when not established |
quote_basis | where quote_asset comes from: curve_account (read from the chain), curve_stream (our capture's curve feed; the asset is then sol or other, its mint unknown); null = not established |
holder_reward | 1 = the creator fee is paid to holders (the curve account's is_holder_reward); null where the curve account is an older, shorter layout without the field (115 and 124 byte accounts: 185,824 launches 08-31..09-12, none after 2026-09-12) and when the account was not read |
creator_fee_bps | the curve account's creator_fee_bps; null where the curve account is the older 115 byte layout without the field (144,564 launches, none after 2026-09-09) and when the account was not read |
dev_buy_sol | creator's first buy, SOL (null on a curve not quoted in SOL) |
dev_share | creator's share of supply after the first buy |
graduated | 1 = true graduation per our label rules (curve completed at about 85 SOL, or a migration seen while the curve was near completion); 0 otherwise; null on a curve not quoted in SOL |
migrate_dt_s | seconds from launch to the first migration/pool sighting, null if none (kept even when graduated = 0: a mayhem close or a fake pool) |
rugged | 1 = the public rug rule fired: DRAIN (the curve held >= 5 SOL of real reserve and fell to <= 25 % of its running peak before any migration) or DEV DUMP (the creator sold >= 50 % of its holding within 300 s of launch and the reserve then fell); an observation rule, not verified fraud; most rugs are creator dumps on small curves (see rug_branch_inferred); a graduated launch can also be rugged; see /v1/labels; null on a curve not quoted in SOL and while unresolved |
rug_dt_s | seconds from launch to the rug, null if none |
dev_first_sell_dt_s | seconds from launch to the creator's first sell, null if none |
peak_rs | peak real SOL reserve of the curve (null on a curve not quoted in SOL) |
terminal_rs | last observed real SOL reserve (null on a curve not quoted in SOL) |
curve_complete | the curve account's own `complete` flag when it was read (curve_read_at): 1 on a graduated curve AND on a mayhem curve marked complete far below 85 SOL; null when not read |
curve_read_at | when the curve account was read from the chain, unix seconds |
decoder_complete | 1 = launched after 2026-09-27T00:18:34Z, when the capture began decoding every buy instruction (before it about 48 % of buy rows and 32 % of curve SOL were invisible: n_buys, bundle wallets, holder shares and the rug rule's inputs are undercounted on 0-rows); 0 before |
rugged_not_graduated | 1 = rugged and not graduated (the rug rule and a true graduation can both hold: a curve drained early, revived and graduated); 0 otherwise; null while rugged is unresolved |
rug_branch_inferred | drain | dev_dump_or_recovered | null: which branch of the rug rule the stored terminal state is consistent with (the table keeps the flag without its branch): drain = the curve held >= 5 SOL and ended at <= 25 % of its peak; dev_dump_or_recovered = the creator sold >= 50 % of its holding within 300 s and the reserve fell (most rugs on small curves), or a drain that recovered; null = not rugged |
f10_dev_share | dev_share at the launch's early snapshot, f10_age seconds old (which snapshot: see features_basis) (harness_sample: null when the harness did not sample the mint, and on the ~8% of sampled rows whose short snapshot carries just insider_share, rs and age; tape_replay: null only where create_lag_s > 1) |
f10_insider_share | insider_share at the launch's early snapshot, f10_age seconds old (which snapshot: see features_basis) (harness_sample: null when the harness did not sample the mint; tape_replay: null only where create_lag_s > 1) |
f10_bundle_wallets | bundle_wallets at the launch's early snapshot, f10_age seconds old (which snapshot: see features_basis) (harness_sample: null when the harness did not sample the mint, and on the ~8% of sampled rows whose short snapshot carries just insider_share, rs and age; tape_replay: null only where create_lag_s > 1) |
f10_rep_n | rep_n at the launch's early snapshot, f10_age seconds old (which snapshot: see features_basis) (harness_sample: null when the harness did not sample the mint, and on the ~8% of sampled rows whose short snapshot carries just insider_share, rs and age; tape_replay: null only where create_lag_s > 1. Counts the creator's earlier launches in our table, identical on both bases) |
f10_rep_rug | rep_rug at the launch's early snapshot, f10_age seconds old (which snapshot: see features_basis) (harness_sample: null when the harness did not sample the mint, and on the ~8% of sampled rows whose short snapshot carries just insider_share, rs and age; tape_replay: null only where create_lag_s > 1; null too when the creator has no earlier resolved launch in our table. tape_replay: the creator's record as it stood at the launch, from the final launch table; harness_sample: as the harness's live table stood, which wrote a rug an hour or more late, so the two bases differ) |
f10_rep_grad | rep_grad at the launch's early snapshot, f10_age seconds old (which snapshot: see features_basis) (harness_sample: null when the harness did not sample the mint, and on the ~8% of sampled rows whose short snapshot carries just insider_share, rs and age; tape_replay: null only where create_lag_s > 1; null too when the creator has no earlier resolved launch in our table. Bases differ as for rep_rug) |
f10_rs | rs at the launch's early snapshot, f10_age seconds old (which snapshot: see features_basis) (null on a curve not quoted in SOL; otherwise harness_sample: null when not sampled; tape_replay: null only where create_lag_s > 1. harness_sample rows before 2026-09-30T02:26:35Z read about 0.0004 SOL low on curves created after the 2026-09 rent change (one rent constant for every curve); tape_replay uses each curve's own rent) |
f10_n_buys | n_buys at the launch's early snapshot, f10_age seconds old (which snapshot: see features_basis) (harness_sample: null when the harness did not sample the mint, and on the ~8% of sampled rows whose short snapshot carries just insider_share, rs and age; tape_replay: null only where create_lag_s > 1) |
f10_age | age of the early snapshot, s. tape_replay: age of the launch's first buy or sell once its creation slot had passed, when that came within 3 s of the launch, else exactly 3.0 (the state at 3 s: nobody had traded yet, n_buys counts only creation-slot buys); harness_sample: age of the first snapshot under 10 s that the harness sampled (negative on a few rows). null where the early features are null |
f60_rs | rs at the launch's snapshot between 10 and 60 s of age, f60_age seconds old (null on a curve not quoted in SOL; otherwise harness_sample: null when not sampled between 10 and 60 s; tape_replay: null only where create_lag_s > 1) |
f60_insider_share | insider_share at the launch's snapshot between 10 and 60 s of age, f60_age seconds old (harness_sample: null when unsampled; tape_replay: null only where create_lag_s > 1) |
f60_age | age of that snapshot, s. tape_replay: age of the launch's first buy or sell from 10 s on, else exactly 10.0 (the state at 10 s: no trade since); harness_sample: age of the first snapshot between 10 and 60 s that one of the harness's strategies produced. null where the features are null |
features_basis | where this row's f10_* and f60_* come from. tape_replay: replayed offline from our archived event tape for EVERY launch of the day with the harness's own snapshot rule, null only where create_lag_s > 1. harness_sample: read from our live shadow harness's sampled snapshots, so only the launches it happened to sample have values (about half, a biased half: known issue features_are_a_sample). Days from 2026-09-27 are tape_replay once their replay exists (the newest day file is harness_sample until then, about a day after the day ends); launches before the decoder fix of 2026-09-27T00:18:34Z are never replayed (the tape holds only part of their buys) and stay harness_sample. Never null |
create_lag_s | seconds between the validator's own time stamp of the launch's create transaction and the moment our capture received it: how late we learned of the launch. Above 1 s the early state we computed is not the launch's true state at that age, so every f10_* and f60_* of the row is null; our harness's rows share the defect and are not corrected. A few milliseconds below 0 on some rows (clock skew). Null on harness_sample rows (not measured there) and on any tape_replay row whose create line carries no validator time stamp (none on 2026-09-27..09-30) |
silence_3s | seconds inside the launch's first 3 s with our capture receiving no pump.fun curve event at all for at least 1 s (a stalled stream or a reconnect), so trades of the launch may be missing from its f10_* values; 0 = none. The f10_* values are kept, not nulled: read them with this column. Null on harness_sample rows |
silence_60s | seconds inside the launch's first 60 s (the f60_* window) with our capture receiving no pump.fun curve event at all for at least 1 s, so trades of the launch may be missing from its f60_* values; 0 = none. Kept, not nulled: read the f60_* values with it. Null on harness_sample rows |
Read these before modelling on the files; the same list is in the schema document.
On 1,379,897 launches quoted in SOL and not in mayhem mode (59 day files), the curve account's own complete flag is set on 42,893. Our graduated label names 42,333 of them (98.7%) and 70 launches the chain does not call complete (99.8% of the launches it names are complete on the chain).