<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: CoolBB</title>
    <description>The latest articles on DEV Community by CoolBB (@coolbb).</description>
    <link>https://dev.to/coolbb</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3805424%2F9cbe9650-e163-4c6f-a7c6-803fb18438c8.png</url>
      <title>DEV Community: CoolBB</title>
      <link>https://dev.to/coolbb</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/coolbb"/>
    <language>en</language>
    <item>
      <title>The One Number in BAM Validator Economics</title>
      <dc:creator>CoolBB</dc:creator>
      <pubDate>Tue, 22 Sep 2026 07:34:27 +0000</pubDate>
      <link>https://dev.to/coolbb/the-one-number-in-bam-validator-economics-42oc</link>
      <guid>https://dev.to/coolbb/the-one-number-in-bam-validator-economics-42oc</guid>
      <description>&lt;p&gt;BAM validator economics are not “MEV tips got a new name.” The only number that explains why ~35% of stake flipped clients is this:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Until 30 September 2026, BAM adoption is paid by Jito protocol revenue diverted into a subsidy pool — not by traders buying preconfirmations.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Miss that and you will price October like September.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two cashflows, one client
&lt;/h2&gt;

&lt;p&gt;A validator on Agave-BAM or FireBAM sits in two ledgers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ledger A — the subsidy (JIP-31, extended by JIP-37).&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
100% of Jito protocol revenue goes to the BAM early-adopter pool through the end of Q3. Hard cut &lt;strong&gt;30 Sep 2026&lt;/strong&gt;. After that, that pipe is supposed to return to value accrual (buybacks / burns / whatever the live JIP says). This is why stake went from ~12% in January to ~34% by 9 Sep. Fastest client migration Jito has published. It was a &lt;strong&gt;paid switch&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ledger B — BAM preconfirmations (live 9 Sep).&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Helius / Triton sell early committed-orderflow to searchers. Split:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Share&lt;/th&gt;
&lt;th&gt;Who&lt;/th&gt;
&lt;th&gt;When cash actually moves&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;30%&lt;/td&gt;
&lt;td&gt;distributors&lt;/td&gt;
&lt;td&gt;they invoice now&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;35%&lt;/td&gt;
&lt;td&gt;BAM validators, stake-weighted&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;first expected October 2026&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;35%&lt;/td&gt;
&lt;td&gt;Jito DAO&lt;/td&gt;
&lt;td&gt;same cycle&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Ledger B is the story everyone wrote last week. Ledger A is why the machines are on. There is a &lt;strong&gt;gap&lt;/strong&gt;: subsidy dies at month-end; validator preconf checks start the month after. Anyone modeling “BAM APR” off September’s client share is mixing a grant with a product that has not paid operators yet.&lt;/p&gt;

&lt;p&gt;Classic Block Engine tips still exist. ~98% of stake still sees that auction. BAM share (~34–35%, ~383 validators, ~17 nodes) is the subset that can sell &lt;strong&gt;preconfs&lt;/strong&gt;. Tips on bundles are not replaced. They are a third line item.&lt;/p&gt;

&lt;h2&gt;
  
  
  What “35% to validators” is not
&lt;/h2&gt;

&lt;p&gt;It is not 35% of Solana MEV.&lt;br&gt;&lt;br&gt;
It is not 35% of Block Engine tips.&lt;br&gt;&lt;br&gt;
It is 35% of &lt;strong&gt;preconf product revenue&lt;/strong&gt; Helius/Triton collect from people who subscribe to the firehose.&lt;/p&gt;

&lt;p&gt;If searchers do not buy it, the 35% is 35% of zero. Subsidy did not care whether anyone subscribed. Preconfs do.&lt;/p&gt;

&lt;p&gt;Maker Priority Plugin (app-defined ordering) is a fourth product on the same client. Do not fold MPP, tips, subsidy, and preconfs into one “BAM yield” cell. They have different buyers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Concentration is the second-order risk
&lt;/h2&gt;

&lt;p&gt;Independent BAM scrapes in late September: &lt;strong&gt;~21.8% of BAM stake on the top node&lt;/strong&gt;, Frankfurt heavy, ~15 regions. Subsidy math is stake-weighted. So is the 35%. A “decentralized client” that pays like a stake-weighted pool will keep paying the same large operators first. Small validators who flipped for JIP-31 should run the October invoice against their &lt;strong&gt;own&lt;/strong&gt; stake weight, not the press-release 34%.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a bundler / searcher should take
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;September tip floors are &lt;strong&gt;subsidy-era&lt;/strong&gt;. October is the first month operators need Ledger B (and leftover tips) to justify the client. Expect preconf prices and maybe tip behavior to move when the grant ends.
&lt;/li&gt;
&lt;li&gt;A BAM leader and a non-BAM leader are different counterparties. Your pack still has to win whichever schedule is next.
&lt;/li&gt;
&lt;li&gt;DAO 35% is not validator APR. JTO unlocks and buyback policy sit on the token, not in the vote account.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The test on 1 October
&lt;/h2&gt;

&lt;p&gt;If BAM stake &lt;strong&gt;holds&lt;/strong&gt; after the subsidy cutoff and after the first preconf distribution, Ledger B works. If stake &lt;strong&gt;leaves&lt;/strong&gt; in October–November, the 34% was rented.&lt;/p&gt;

&lt;p&gt;That hold-or-leave print is the whole validator economy. Everything else is a slide.&lt;/p&gt;




&lt;p&gt;Telegram: &lt;a href="https://t.me/C00LBB" rel="noopener noreferrer"&gt;https://t.me/C00LBB&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Site: &lt;a href="https://coolbb.site" rel="noopener noreferrer"&gt;https://coolbb.site&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>The Latest Jito Update — BAM Preconfirmations Are Live</title>
      <dc:creator>CoolBB</dc:creator>
      <pubDate>Tue, 22 Sep 2026 07:17:56 +0000</pubDate>
      <link>https://dev.to/coolbb/the-latest-jito-update-bam-preconfirmations-are-live-284a</link>
      <guid>https://dev.to/coolbb/the-latest-jito-update-bam-preconfirmations-are-live-284a</guid>
      <description>&lt;p&gt;The Block Engine and 5-tx bundles did not get replaced last week. The new layer is &lt;strong&gt;BAM preconfirmations&lt;/strong&gt;, live &lt;strong&gt;9 September 2026&lt;/strong&gt;, sold through &lt;strong&gt;Helius&lt;/strong&gt; and &lt;strong&gt;Triton&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That is the update that matters if you ship Jito packs for Pump.fun. The rest of mid-September is product and treasury noise around it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What shipped
&lt;/h2&gt;

&lt;p&gt;BAM (Block Assembly Marketplace) has been on mainnet since late 2025. It is the TEE / plugin path for &lt;em&gt;how&lt;/em&gt; a leader builds a block — not just “pay a tip, hope.”&lt;/p&gt;

&lt;p&gt;Preconfirmations are the consumer API on that path: you get an early signal that a tx is &lt;strong&gt;committed in the BAM pipeline&lt;/strong&gt; before the slot is public on gossip. Coverage at launch: about &lt;strong&gt;34% of stake&lt;/strong&gt;, &lt;strong&gt;~383 / 665&lt;/strong&gt; validators, &lt;strong&gt;~17&lt;/strong&gt; BAM nodes. Independent scrapes around 21 Sep still sit near &lt;strong&gt;34.6%&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Latency claim from the rollout writeups: on the order of &lt;strong&gt;5–10 ms&lt;/strong&gt; p50 versus waiting for the shred. That is searcher time, not retail UI time.&lt;/p&gt;

&lt;p&gt;Revenue split on the preconf product:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Slice&lt;/th&gt;
&lt;th&gt;Who&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;30%&lt;/td&gt;
&lt;td&gt;Helius / Triton (they bill you)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;35%&lt;/td&gt;
&lt;td&gt;BAM validators (stake-weighted, first checks &lt;strong&gt;October 2026&lt;/strong&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;35%&lt;/td&gt;
&lt;td&gt;Jito DAO&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Opt-out today is manual (Discord). Self-serve comes later. Agave-BAM and FireBAM both count.&lt;/p&gt;

&lt;p&gt;Q3 &lt;strong&gt;BAM subsidy&lt;/strong&gt; (100% of protocol revenue to the adopter pool under JIP-37) &lt;strong&gt;hard-stops 30 September 2026&lt;/strong&gt;. After that, value accrual is supposed to flip back on. Do not mix “preconf fees start in October” with “subsidy still pays the client.” Different pipes.&lt;/p&gt;

&lt;h2&gt;
  
  
  What did &lt;em&gt;not&lt;/em&gt; change
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bundles are still &lt;strong&gt;≤5 txs&lt;/strong&gt;, atomic, sequential, one slot.
&lt;/li&gt;
&lt;li&gt;You still tip a &lt;strong&gt;current&lt;/strong&gt; tip account.
&lt;/li&gt;
&lt;li&gt;Block Engine still sees ~&lt;strong&gt;98%&lt;/strong&gt; of stake even where BAM share is a third. Classic &lt;code&gt;sendBundle&lt;/code&gt; is not dead.
&lt;/li&gt;
&lt;li&gt;Maker Priority Plugin (Q2) is a separate BAM plugin for app-defined ordering. Preconfs are a &lt;strong&gt;data&lt;/strong&gt; product. MPP is an &lt;strong&gt;ordering&lt;/strong&gt; product.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why a Pump.fun bundler should care
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Detect vs land is now two markets.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Preconf subscribers see committed orderflow earlier. If you only watch shreds / Geyser, you are late to people who paid Helius/Triton for the BAM firehose. Same create you were going to backrun may already be “preconfirmed” into a pack you cannot reorder.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Your bundle can be preconfirmed too.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
If you submit on a BAM-aware path, you get a faster yes/no than waiting for the explorer. Failed packs stop burning the next tip one slot sooner. That is operational, not alpha.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Leaders are not uniform.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
~35% stake is BAM. The other ~65% is still classic Jito-Solana / others. A bundle tuned only for BAM nodes misses the leader schedule most of the day. Fan-out: Block Engine regions &lt;strong&gt;and&lt;/strong&gt; the preconf pipe, then accept whichever slot actually fires.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Subsidy cliff is 8 days after this post’s week.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
When JIP-37 ends, validator economics on BAM change. Expect tip floors and preconf prices to reprice in October when validator checks actually start. Do not hardcode September tip tables.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What else moved in the last 10 days (not the bundler ABI)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;21 Sep:&lt;/strong&gt; JitoSOL (&lt;code&gt;J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn&lt;/code&gt;) listed as &lt;strong&gt;collateral on Bullet&lt;/strong&gt;. LST stays staked while you margin. Unrelated to &lt;code&gt;sendBundle&lt;/code&gt;.
&lt;/li&gt;
&lt;li&gt;Same week: Rettig / Fortune “onchain finance” piece; Jito still hiring for &lt;strong&gt;JTX&lt;/strong&gt; (self-custody trading app that public-launched in July).
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;~6M JTO&lt;/strong&gt; unlock around &lt;strong&gt;21 Sep&lt;/strong&gt;. Token supply ≠ Block Engine.
&lt;/li&gt;
&lt;li&gt;GitHub: &lt;code&gt;jito-solana&lt;/code&gt;, &lt;code&gt;jito-tip-router&lt;/code&gt;, &lt;code&gt;stakenet&lt;/code&gt; still pushing &lt;strong&gt;22 Sep&lt;/strong&gt;. Read the client tag you actually run; do not assume preconfs changed tip-account layout.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Practical takeaway
&lt;/h2&gt;

&lt;p&gt;Latest Jito update = &lt;strong&gt;BAM preconfs are a paid, partner-gated look at committed BAM orderflow, covering a third of stake, billed by Helius/Triton, validator paid in October.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If your Pump.fun bundler still only does:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;simulate pack → tip → sendBundle → wait for signature
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;you are on the 2025 path. The 2026 path is: sequential curve quotes (still the thing that reverts the atom) &lt;strong&gt;plus&lt;/strong&gt; knowing whether the next leader is BAM, and whether your competitors already saw the create on the preconf stream.&lt;/p&gt;

&lt;p&gt;Bundles did not get a sixth transaction. They got a faster rumor about who already won the five.&lt;/p&gt;




&lt;p&gt;Telegram: &lt;a href="https://t.me/C00LBB" rel="noopener noreferrer"&gt;https://t.me/C00LBB&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Site: &lt;a href="https://coolbb.site" rel="noopener noreferrer"&gt;https://coolbb.site&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>The One Thing That Matters in a Pump.fun Jito Bundle</title>
      <dc:creator>CoolBB</dc:creator>
      <pubDate>Tue, 22 Sep 2026 06:22:52 +0000</pubDate>
      <link>https://dev.to/coolbb/the-one-thing-that-matters-in-a-pumpfun-jito-bundle-4epd</link>
      <guid>https://dev.to/coolbb/the-one-thing-that-matters-in-a-pumpfun-jito-bundle-4epd</guid>
      <description>&lt;p&gt;A Pump.fun bundler is not “send create and a buy through Jito.” Jito’s rule is simple: &lt;strong&gt;up to 5 transactions, sequential, all-or-nothing, one slot.&lt;/strong&gt; If ix 4 reverts, &lt;strong&gt;create never happened&lt;/strong&gt;. That is the whole product and the whole way desks blow a launch.&lt;/p&gt;

&lt;p&gt;The important technical object is not the tip. It is &lt;strong&gt;whether every buy in the envelope is priced against the curve state left by the buy before it.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What the envelope actually is
&lt;/h2&gt;

&lt;p&gt;Typical skilled launch:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;create&lt;/code&gt; / &lt;code&gt;create_v2&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Dev buy
&lt;/li&gt;
&lt;li&gt;Wallet B buy
&lt;/li&gt;
&lt;li&gt;Wallet C buy
&lt;/li&gt;
&lt;li&gt;Tip transfer to a current Jito tip account
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Cap is &lt;strong&gt;5&lt;/strong&gt;. Extra “organic” wallets are a &lt;em&gt;second&lt;/em&gt; bundle or a later slot. They are not in this atom. Snipers cannot sit between (1) and (4) &lt;strong&gt;only if this bundle wins the Block Engine auction and every tx commits.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;People obsess over tip lamports. Tips buy a ticket to the auction. They do not fix a &lt;code&gt;SlippageExceeded&lt;/code&gt; on wallet C.&lt;/p&gt;

&lt;h2&gt;
  
  
  The failure mode that looks like “Jito is down”
&lt;/h2&gt;

&lt;p&gt;Each Pump buy consumes quote and writes new virtual/real reserves. Bundle order is execution order.&lt;/p&gt;

&lt;p&gt;Wrong (what most first bundlers ship):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;quote(B) = curve at empty
quote(C) = curve at empty
quote(D) = curve at empty
max_sol_cost_* = empty * (1 + slip)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On chain:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;create → empty curve
dev buy → reserves moved
B lands on moved curve → still maybe ok
C lands on twice-moved curve → max_sol_cost too low → revert
→ entire bundle dropped, mint never exists
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You paid the tip for a simulation that used three copies of the same book.&lt;/p&gt;

&lt;p&gt;Right:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;S0 = initial virtual reserves (known from create constants)
S1 = apply(dev buy, S0)
S2 = apply(B, S1)
S3 = apply(C, S2)
max_sol_cost_i = quote_needed(Si-1) * (1 + slip_i)
token_out_i    = tokens_out(Si-1, sol_i)   # buy wants exact tokens or exact SOL — pick one and stick
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Include &lt;strong&gt;1.25%&lt;/strong&gt; curve fees in &lt;code&gt;quote_needed&lt;/code&gt;. Include ATA create rent on first touch of each signer. Include Mayhem / Token-2022 / &lt;code&gt;buy_v2&lt;/code&gt; account lists if that flag is on. A missing &lt;code&gt;creator_vault&lt;/code&gt; or the post–2026-04-28 fee recipient reverts the same way as bad slippage: &lt;strong&gt;atomically.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Second, only after the math works: landing
&lt;/h2&gt;

&lt;p&gt;Then the auction matters.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tip to a &lt;strong&gt;live&lt;/strong&gt; tip account from &lt;code&gt;getTipAccounts&lt;/code&gt;, not a hardcoded pubkey from a gist.
&lt;/li&gt;
&lt;li&gt;Tip size tracks the slot’s competition, not a blog table from January.
&lt;/li&gt;
&lt;li&gt;Send the &lt;strong&gt;same&lt;/strong&gt; bundle to multiple Block Engine regions. First land wins; duplicates share a hash.
&lt;/li&gt;
&lt;li&gt;Fresh blockhash (or durable nonce) on every tx in the set. One stale hash = five wasted tips.
&lt;/li&gt;
&lt;li&gt;Compute unit limit for the fattest tx (create + metadata + ATA) — over the budget and Jito rejects the pack before the leader sees it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;jitodontfront&lt;/code&gt;-style guards only matter once the pack simulates clean against &lt;strong&gt;sequential&lt;/strong&gt; state. Protecting a bundle that cannot commit is paying validators to reject you politely.&lt;/p&gt;

&lt;h2&gt;
  
  
  What people still miss
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Quoting all wallets in parallel “to save time.”
&lt;/li&gt;
&lt;li&gt;Putting 8 buys in one mental bundle. The ninth is not in the atom. Snipers own slot+1.
&lt;/li&gt;
&lt;li&gt;Dev buy so large that wallets 2–3 cannot fit under any sane &lt;code&gt;max_sol_cost&lt;/code&gt;.
&lt;/li&gt;
&lt;li&gt;Simulating each tx in isolation on RPC (&lt;code&gt;simulateTransaction&lt;/code&gt; on create alone, then on a buy against current chain — current chain has no mint yet). You must &lt;strong&gt;simulate the pack as a pack&lt;/strong&gt;, or replay the curve in process.
&lt;/li&gt;
&lt;li&gt;Treating a landed bundle id as “we got supply.” Read the inner ix errors. Partial mental models do not apply; either all five committed or none did.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How you know you have it
&lt;/h2&gt;

&lt;p&gt;Decode a bundle that landed. Sum SOL in order. Recompute tokens out with the official fee function after each fill. If your off-chain quotes match the &lt;code&gt;TradeEvent&lt;/code&gt;s within 1 unit, the bundler is correct.&lt;/p&gt;

&lt;p&gt;If they only match wallet 1, you do not have a bundler. You have a create tx that sometimes survives because you only sent one buy.&lt;/p&gt;

&lt;p&gt;Win the auction after that. Not before.&lt;/p&gt;




&lt;p&gt;Telegram: &lt;a href="https://t.me/C00LBB" rel="noopener noreferrer"&gt;https://t.me/C00LBB&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Site: &lt;a href="https://coolbb.site" rel="noopener noreferrer"&gt;https://coolbb.site&lt;/a&gt;&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
    </item>
    <item>
      <title>How Skilled Solana Launch Teams Hit Trending in 2026</title>
      <dc:creator>CoolBB</dc:creator>
      <pubDate>Mon, 21 Sep 2026 06:24:10 +0000</pubDate>
      <link>https://dev.to/coolbb/how-skilled-solana-launch-teams-hit-trending-in-2026-2pkh</link>
      <guid>https://dev.to/coolbb/how-skilled-solana-launch-teams-hit-trending-in-2026-2pkh</guid>
      <description>&lt;p&gt;Solana prints tens of thousands of launchpad coins a day. Pump.fun still takes most of that flow. “Trend” is not a badge someone grants. It is a &lt;strong&gt;short window score&lt;/strong&gt;: recent buy notional, unique buyers, market-cap velocity, last-trade recency. Time-decay is aggressive — last 5–60 minutes beat last 6 hours.&lt;/p&gt;

&lt;p&gt;Skillful teams do not out-meme 263k daily mints. They &lt;strong&gt;feed that score without looking like one wallet&lt;/strong&gt;, then sell the attention, not the dream.&lt;/p&gt;

&lt;h2&gt;
  
  
  The rank function they actually optimize
&lt;/h2&gt;

&lt;p&gt;Unpublished, but stable enough that desks converge:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Signal&lt;/th&gt;
&lt;th&gt;What the UI wants&lt;/th&gt;
&lt;th&gt;What a desk does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Recent buy volume&lt;/td&gt;
&lt;td&gt;SOL in, last hour&lt;/td&gt;
&lt;td&gt;Real curve buys, not only wash&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Unique buyers&lt;/td&gt;
&lt;td&gt;many makers&lt;/td&gt;
&lt;td&gt;Many signers, small clips&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Velocity&lt;/td&gt;
&lt;td&gt;MC% up now&lt;/td&gt;
&lt;td&gt;Front-load the first 10 minutes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Recency&lt;/td&gt;
&lt;td&gt;last tx is now&lt;/td&gt;
&lt;td&gt;Bumps so the card does not fall off&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A fat bundle with 3 wallets and 40% of supply &lt;strong&gt;fails unique-buyer&lt;/strong&gt;. A wash loop with huge volume and 2 makers &lt;strong&gt;fails the same test&lt;/strong&gt;. The teams that trend use &lt;strong&gt;more signers, less size each&lt;/strong&gt;, then let outside flow fill the rest of the curve.&lt;/p&gt;

&lt;p&gt;KOTH cost is just competition: quiet UTC nights maybe tens of SOL of &lt;em&gt;buy&lt;/em&gt; flow; US/EU overlap can take hundreds. They pick the window on purpose. Peak hours cost more and convert better. Dead hours are cheap and die on an empty homepage.&lt;/p&gt;

&lt;h2&gt;
  
  
  Layer 1 — there is no “create then hope”
&lt;/h2&gt;

&lt;p&gt;Default 2026 launch is a &lt;strong&gt;Jito envelope&lt;/strong&gt;: &lt;code&gt;create&lt;/code&gt; + dev buy + 2–4 more buys, atomic, same slot. Jito cap is &lt;strong&gt;5 txs per bundle&lt;/strong&gt;, so extra “organic” wallets are a second wave, not magic.&lt;/p&gt;

&lt;p&gt;Why: snipers cannot sit between create and the first fill. The book starts already marked up. Dexscreener / Bubblemaps will still show a cluster if the funder is one treasury — skilled desks randomize size, stagger the second wave by a few slots, and do not park 60% in five keys. Over-bundling gets you supply and &lt;strong&gt;suppresses&lt;/strong&gt; the unique-buyer rank.&lt;/p&gt;

&lt;p&gt;Mayhem is a side bet, not the meta. Fee-free agent flow can print a tape and then sell it. Serious teams treat it as optional noise, not the plan.&lt;/p&gt;

&lt;h2&gt;
  
  
  Layer 2 — two bots, two jobs
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Volume&lt;/strong&gt; = notional for the 1h window.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bump&lt;/strong&gt; = last-tx recency so the card stays on the board.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They are not interchangeable. Volume without bumps falls off when a louder coin prints. Bumps without unique buyers look like a heartbeat on a corpse.&lt;/p&gt;

&lt;p&gt;Comments and favorites are the same game on the social slot of the Pump page. Phrase-bank comments are readable in five minutes. Teams that still do it mix real TG members in the first 3 minutes so the unique-buyer count is not 100% ATA clones.&lt;/p&gt;

&lt;h2&gt;
  
  
  Layer 3 — attention is scheduled, not hoped
&lt;/h2&gt;

&lt;p&gt;The CA drops the &lt;strong&gt;same second&lt;/strong&gt; the bundle lands. Pre-written CT, TG primed, image already on Arweave. Delay is how you trend to bots only.&lt;/p&gt;

&lt;p&gt;KOL use split in 2026:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Small engaged accounts (narrative-native) before or at T+0.
&lt;/li&gt;
&lt;li&gt;Large paid call &lt;em&gt;after&lt;/em&gt; the coin is already on the board — that call is often the &lt;strong&gt;exit liquidity&lt;/strong&gt; for the bundle, not the discovery.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the public KOL wallet buys 20 seconds after create and sells inside a minute, you are not looking at a believer. You are looking at the distribution pipe. Track the funder cluster, not the display name.&lt;/p&gt;

&lt;p&gt;Dexscreener paid boost is a second homepage for people who never open Pump. Same idea: rent the rank function of a different site once the curve is mid-fill.&lt;/p&gt;

&lt;h2&gt;
  
  
  Layer 4 — the second venue is the product
&lt;/h2&gt;

&lt;p&gt;Graduation (~85 SOL real on the classic Pump curve, then PumpSwap) is when amateurs disappear and desks keep working. Rank on Pump dies; rank on Dexscreener / Birdeye is now &lt;strong&gt;pool volume&lt;/strong&gt;. The same maker fleet rotates to the AMM. A launch that “died on the curve” and “woke up on PumpSwap” was not organic resurrection. It was a venue change.&lt;/p&gt;

&lt;p&gt;Other pads (Letsbonk, LaunchLab / StonkFun-style &lt;strong&gt;custom quote&lt;/strong&gt; coins) are used when the narrative is a stock ticker or a non-SOL pair. Same bonding-curve scoreboard, different quote mint. Teams pick the pad whose front page the target audience already lives on.&lt;/p&gt;

&lt;h2&gt;
  
  
  What “skill” actually is
&lt;/h2&gt;

&lt;p&gt;Not a bigger Jito tip. The tip only lands the envelope.&lt;/p&gt;

&lt;p&gt;Skill is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Leave float.&lt;/strong&gt; Enough unique outside buys that the algorithm and the later tape have someone to work with.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Time the decay window.&lt;/strong&gt; Do not dump the bundle into the same 5 minutes you need unique buyers.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Separate discovery from distribution.&lt;/strong&gt; Board first, KOL second.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Know which scoreboard you are on&lt;/strong&gt; (Pump recency vs Dex volume vs quote-asset pad).
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Have a sink.&lt;/strong&gt; SOL comes home to one treasury. Costume wallets do not.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  How to read it as a trader
&lt;/h2&gt;

&lt;p&gt;Same-slot create+buys + one funder = desk.&lt;br&gt;&lt;br&gt;
15 makers in 10 minutes with no shared funder = closer to a crowd.&lt;br&gt;&lt;br&gt;
Volume up, unique buyers flat, comments identical = rented tape.&lt;br&gt;&lt;br&gt;
KOL buy after the bundle, hold &amp;lt; 30s = you are the bid.&lt;/p&gt;

&lt;p&gt;Trending in 2026 is a &lt;strong&gt;manufactured liquidity event&lt;/strong&gt; aimed at a decaying rank function. The teams that keep doing it treat the homepage as a media buy they settle on-chain. The image and the ticker are packaging.&lt;/p&gt;




&lt;p&gt;Telegram: &lt;a href="https://t.me/C00LBB" rel="noopener noreferrer"&gt;https://t.me/C00LBB&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Site: &lt;a href="https://coolbb.site" rel="noopener noreferrer"&gt;https://coolbb.site&lt;/a&gt;&lt;/p&gt;

</description>
      <category>solana</category>
      <category>pumpfun</category>
      <category>launch</category>
      <category>trading</category>
    </item>
    <item>
      <title>How Pump.fun Mayhem Mode Can Backfire a Launch</title>
      <dc:creator>CoolBB</dc:creator>
      <pubDate>Mon, 21 Sep 2026 06:20:48 +0000</pubDate>
      <link>https://dev.to/coolbb/how-pumpfun-mayhem-mode-can-backfire-a-launch-56a9</link>
      <guid>https://dev.to/coolbb/how-pumpfun-mayhem-mode-can-backfire-a-launch-56a9</guid>
      <description>&lt;p&gt;Mayhem is sold as early volume: flip &lt;code&gt;mayhemMode: true&lt;/code&gt; on &lt;code&gt;create_v2&lt;/code&gt;, an agent random-walks the coin for 24 hours, leftover inventory burns. Creators turn it on because the chart looks alive.&lt;/p&gt;

&lt;p&gt;On the curve, “alive” and “launch-safe” are not the same variable.&lt;/p&gt;

&lt;h2&gt;
  
  
  What actually gets created
&lt;/h2&gt;

&lt;p&gt;Normal Pump mint: &lt;strong&gt;1B&lt;/strong&gt; supply, all on the bonding curve.&lt;/p&gt;

&lt;p&gt;Mayhem mint:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Total supply &lt;strong&gt;2B&lt;/strong&gt; (Token-2022).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1B&lt;/strong&gt; still seeds the curve (same virtual-reserve start as a normal coin).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1B&lt;/strong&gt; goes to the Mayhem agent (&lt;code&gt;MAyhSmzXzV1pTf7LsNkrNwkWKTo4ougAJ1PPg47MD4e&lt;/code&gt; path / disclosed agent wallets).&lt;/li&gt;
&lt;li&gt;Flag is &lt;strong&gt;immutable&lt;/strong&gt;. You cannot turn it off after create.&lt;/li&gt;
&lt;li&gt;Agent is &lt;strong&gt;not guaranteed&lt;/strong&gt; to trade every opted-in coin. Cap is about &lt;strong&gt;1 trade/sec/mint&lt;/strong&gt;, size capped, may react to slippage.&lt;/li&gt;
&lt;li&gt;Agent trades &lt;strong&gt;do not pay&lt;/strong&gt; protocol or &lt;strong&gt;creator&lt;/strong&gt; fees.&lt;/li&gt;
&lt;li&gt;Protocol fees that &lt;em&gt;humans&lt;/em&gt; pay on Mayhem coins route to a reserved recipient (&lt;code&gt;GesfTA3X2arioaHp8bbKdjG9vJtskViWACZoYvxp4twS&lt;/code&gt;), not the normal Pump fee set — they also stay off &lt;code&gt;fees.pump.fun&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;After 24 hours, unsold agent inventory burns. Tokens random people sent to the agent also burn if they were in-window Mayhem inventory.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Fee-tier math uses &lt;strong&gt;actual &lt;code&gt;mintSupply&lt;/code&gt;&lt;/strong&gt;, not the hardcoded 1B used for normal coins. Market-cap tiers and “this looks like a $X coin” screens lie if your bot still assumes 1B.&lt;/p&gt;

&lt;h2&gt;
  
  
  Backfire 1 — the agent is inventory, not a market maker
&lt;/h2&gt;

&lt;p&gt;A market maker quotes two sides and keeps inventory tight. Mayhem is documented as a &lt;strong&gt;random walk with equal buy/sell probability&lt;/strong&gt;, and the disclaimer says sell size can run &lt;strong&gt;slightly above or below&lt;/strong&gt; buy size on a discretionary bias.&lt;/p&gt;

&lt;p&gt;On a constant-product curve that is lethal:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Agent &lt;strong&gt;buy&lt;/strong&gt; lifts virtual SOL, snipers and copy-traders print the tape, Telegram calls “organic.”&lt;/li&gt;
&lt;li&gt;Agent &lt;strong&gt;sell&lt;/strong&gt; hits the same thin virtual reserves. Humans who bought the up-print are now exit for a wallet that paid &lt;strong&gt;zero&lt;/strong&gt; 1.25% fee.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You paid the fee. The bot that moved the candle did not. Creator fee on those agent fills is &lt;strong&gt;zero&lt;/strong&gt;. You bought volatility and sold your own fee stream.&lt;/p&gt;

&lt;p&gt;Users already reported the ugly version: agent flow that &lt;strong&gt;pulls SOL off the curve&lt;/strong&gt; until early wallets cannot sell into anything. That is not “discovery.” That is the reserved 1B being used as a dump clip against a 30 SOL virtual book.&lt;/p&gt;

&lt;h2&gt;
  
  
  Backfire 2 — price is not a function of the SOL you saw
&lt;/h2&gt;

&lt;p&gt;Decipher’s reconstruction of pre–May 13 2026 Mayhem agent fills is the important technical paper here.&lt;/p&gt;

&lt;p&gt;They watched an agent &lt;strong&gt;sell that paid ~0.01 SOL&lt;/strong&gt; while &lt;strong&gt;virtual SOL reserves dropped ~34 SOL versus the normal update rule&lt;/strong&gt;, and &lt;strong&gt;spot fell ~63%&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Normal human buy/sell:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;virtualSol'  = virtualSol ± solMoved
virtualTok'  = virtualTok ∓ tokensMoved
price        = virtualSol / virtualTok
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On the agent path they recovered, virtual SOL was &lt;strong&gt;recomputed from post-trade global state&lt;/strong&gt;, and the agent fill &lt;strong&gt;cancels against a term that tracks external users’ net token buys&lt;/strong&gt;. When that external net is small (exactly the start of a launch), a tiny real SOL transfer can reprice the whole book.&lt;/p&gt;

&lt;p&gt;So your sniper quotes &lt;code&gt;getBondingCurve&lt;/code&gt; like a normal Pump buy. The next agent ix is not the same state transition. Slippage that looked like 5% is a gap-down. This is why “I simulated 0.05 SOL and it was fine” dies on Mayhem mints.&lt;/p&gt;

&lt;p&gt;Treat agent signatures as a &lt;strong&gt;different pricing function&lt;/strong&gt; until you have verified the live program still uses the human update rule for that ix.&lt;/p&gt;

&lt;h2&gt;
  
  
  Backfire 3 — fake tape, real bundlers
&lt;/h2&gt;

&lt;p&gt;Mayhem volume is not unique makers. Screeners, bump bots, and KOLs still rank &lt;strong&gt;tx count and notional&lt;/strong&gt;. The agent manufactures both.&lt;/p&gt;

&lt;p&gt;What arrives:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Agent buy → trending.
&lt;/li&gt;
&lt;li&gt;Snipers and copy fleets hit the same curve.
&lt;/li&gt;
&lt;li&gt;Agent sell (or biased sell) + those fleets exiting.
&lt;/li&gt;
&lt;li&gt;Graduation math still needs &lt;strong&gt;real SOL in the curve&lt;/strong&gt;, not agent round-trips.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can look busy at 8% of the curve and never graduate. After 24h the leftover 1B burns — that does &lt;strong&gt;not&lt;/strong&gt; rewind the SOL the agent already extracted or the bags humans bought into the print.&lt;/p&gt;

&lt;h2&gt;
  
  
  Backfire 4 — the integration tax
&lt;/h2&gt;

&lt;p&gt;Mayhem is why half the public snipers revert:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Token-2022 vs classic SPL.&lt;/li&gt;
&lt;li&gt;Vault PDAs from the Mayhem program, not the Pump curve ATA.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;reservedFeeRecipient&lt;/code&gt; instead of &lt;code&gt;global.feeRecipient&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;buy_v2&lt;/code&gt; account lists that assume &lt;code&gt;is_mayhem_mode&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Market cap / fee bps computed off 2B supply.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A launch that “should have gotten sniper bid” gets silence because every bot’s ix list is wrong. Silence plus an agent that is allowed to sell is a one-sided book.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to check before you opt in
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Do you need &lt;strong&gt;fee-free&lt;/strong&gt; flow on your own curve for 24 hours?
&lt;/li&gt;
&lt;li&gt;Can your first buyers sell if the agent’s next fill is a sell with the &lt;strong&gt;recompute&lt;/strong&gt; path?
&lt;/li&gt;
&lt;li&gt;Are you okay with 2B circulating optics and every MC widget being wrong?
&lt;/li&gt;
&lt;li&gt;Did you confirm the agent even selected your mint? Opt-in ≠ scheduled.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Mayhem can backfire because it puts a &lt;strong&gt;large, fee-exempt, optionally biased inventory&lt;/strong&gt; on the same virtual reserves your launch price is made of — and in at least one program vintage, it did not even update those reserves with the same formula humans use. That is not extra liquidity. It is a second trader with a different state machine sitting in slot 1.&lt;/p&gt;




&lt;p&gt;Telegram: &lt;a href="https://t.me/C00LBB" rel="noopener noreferrer"&gt;https://t.me/C00LBB&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Site: &lt;a href="https://coolbb.site" rel="noopener noreferrer"&gt;https://coolbb.site&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Detecting and Grouping Related Wallets on Solana Memecoins</title>
      <dc:creator>CoolBB</dc:creator>
      <pubDate>Mon, 21 Sep 2026 06:16:57 +0000</pubDate>
      <link>https://dev.to/coolbb/detecting-and-grouping-related-wallets-on-solana-memecoins-4km3</link>
      <guid>https://dev.to/coolbb/detecting-and-grouping-related-wallets-on-solana-memecoins-4km3</guid>
      <description>&lt;p&gt;A Kolscan row is one pubkey. An operator is a &lt;strong&gt;component&lt;/strong&gt; in a graph. If you copy addresses one-by-one you will clone the billboard wallet and miss the ring that actually bought slot 0.&lt;/p&gt;

&lt;p&gt;This is how you group them on-chain. No off-chain stalking. Signatures, transfers, and program ix lists only.&lt;/p&gt;

&lt;h2&gt;
  
  
  The graph
&lt;/h2&gt;

&lt;p&gt;Nodes = wallets that touched a Pump / PumpSwap / Raydium mint you care about.&lt;br&gt;&lt;br&gt;
Edges = evidence they share control. Weight the edge by how many independent tests fire.&lt;/p&gt;

&lt;p&gt;Then run &lt;strong&gt;union-find&lt;/strong&gt; (disjoint set). Two wallets in the same parent are one persona for copy / snipe decisions.&lt;/p&gt;

&lt;p&gt;Do not require every test. Require &lt;strong&gt;two independent families&lt;/strong&gt;: money flow &lt;em&gt;and&lt;/em&gt; behavior.&lt;/p&gt;

&lt;h2&gt;
  
  
  Test family A — money flow
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;A1. Shared funder (the main edge).&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Walk inbound SOL / WSOL one hop. If 8 “unrelated” traders were funded from the same address inside a 15–60 minute window, they are a spray. Stronger if amounts are near-identical or a fixed grid (&lt;code&gt;0.101&lt;/code&gt;, &lt;code&gt;0.101&lt;/code&gt;, &lt;code&gt;0.102&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;edge(A, B) += 3  if funder(A) == funder(B)&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;             and |fundtime(A) - fundtime(B)| &amp;lt; T

             and count(siblings) &amp;gt;= 5
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;A2. Shared sink.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
After sells, SOL lands back on one treasury. Consolidation is quieter than the spray and more reliable. A KOL costume leaves PnL in the public key. A farm sweeps.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A3. Peel chain.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;code&gt;Treasury → W1 → W2 → W3&lt;/code&gt; where each hop only exists to trade once. Treat the leaf as the signer, the root as the person. Copying W3 without the root is how you miss the next leaf.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A4. Rent / ATA payer.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The wallet that paid rent for 40 ATAs is the operator even if those ATAs sit on other signers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Test family B — same-slot behavior
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;B1. Jito &lt;code&gt;bundle_id&lt;/code&gt;.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Create + N buys with one bundle id = one intent. Label every signer in that envelope &lt;code&gt;insider_bundle&lt;/code&gt; for that mint. They may never share a funder you have indexed yet. The bundle is enough.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;B2. First-buyer co-occurrence.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
For each mint, take wallets that buy in slots &lt;code&gt;[create, create+K]&lt;/code&gt; (K = 2 to 8). Build an undirected graph: edge if two wallets co-appear in that window on &lt;strong&gt;≥ N distinct mints&lt;/strong&gt; (N = 3 is already loud; N = 8 is a desk).&lt;/p&gt;

&lt;p&gt;This is how persistent sniper rings show up: they are not funded the same morning every time, but they keep arriving together.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;B3. Same compute budget + tip shape.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Identical CU limit, identical tip account class, identical &lt;code&gt;buy_v2&lt;/code&gt; account order bugs. Weak alone. Strong with A1 or B2.&lt;/p&gt;

&lt;h2&gt;
  
  
  Test family C — trade geometry (wash vs trader)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;C1. Round trip.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Same wallet buys and sells the same base amount inside one tx, or within a few seconds at the same curve price. That wallet is a volume machine. Do not put it on a “smart money” list.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;C2. Ping-pong.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
A buys, B sells the same size, funds return to A. Two nodes, one inventory.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;C3. Inventory vs volume.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;code&gt;net_sol_in ≈ 0&lt;/code&gt; across 50 swaps of one mint, but 24h volume is huge. Cluster as &lt;code&gt;washer&lt;/code&gt;, not &lt;code&gt;sniper&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Union-find recipe
&lt;/h2&gt;

&lt;p&gt;parent = {w: w for w in wallets}&lt;/p&gt;

&lt;p&gt;def find(w):&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;while parent[w] != w:

    parent[w] = parent[parent[w]]

    w = parent[w]

return w
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;def union(a, b):&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;parent[find(a)] = find(b)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;for (a, b, score) in edges:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if score &amp;gt;= THRESHOLD:

    union(a, b)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Store on the component:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;size
&lt;/li&gt;
&lt;li&gt;root funder / root sink
&lt;/li&gt;
&lt;li&gt;mints in common
&lt;/li&gt;
&lt;li&gt;median &lt;code&gt;entry_slot - create_slot&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;median hold slots
&lt;/li&gt;
&lt;li&gt;fraction of buys that share a bundle with &lt;code&gt;create&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A component with &lt;code&gt;median_hold_slots &amp;lt; 50&lt;/code&gt; and &lt;code&gt;bundle_with_create &amp;gt; 0.3&lt;/code&gt; is a launch desk. A component with long holds, many mints, no create-bundle overlap is closer to a real trader. Copy only the second, and even then as a &lt;strong&gt;classifier&lt;/strong&gt; (this mint has informed flow), not a market order.&lt;/p&gt;

&lt;h2&gt;
  
  
  What people skip
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Clustering only by “bought the same coin.” That merges the whole front page.
&lt;/li&gt;
&lt;li&gt;Using 24h PnL before the graph. The billboard wallet is often the last hop.
&lt;/li&gt;
&lt;li&gt;One-hop funding and stopping. Peel chains exist so that hop looks clean.
&lt;/li&gt;
&lt;li&gt;Ignoring sells. The sink is the identity.
&lt;/li&gt;
&lt;li&gt;Treating each mint independently. Rings are &lt;strong&gt;cross-mint&lt;/strong&gt;.
&lt;/li&gt;
&lt;li&gt;Copying every signer in a component at full size. You just cloned the farm’s impact.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How I check a cluster is real
&lt;/h2&gt;

&lt;p&gt;Pick 20 mints the component touched. For each mint list first 16 buyers. If the same 4–10 component wallets occupy that window again and again, it is not coincidence.&lt;/p&gt;

&lt;p&gt;Then replay: remove the component’s own buys from “organic flow.” If the mint had almost no other buyers in 30 minutes, the cluster &lt;em&gt;was&lt;/em&gt; the market. Copying them is buying their bag.&lt;/p&gt;

&lt;p&gt;Last sanity check: destroy the public KOL address and see if the component still trades next week. If yes, you grouped the desk. If the graph dies with the tweet wallet, you grouped a costume.&lt;/p&gt;

&lt;p&gt;That component id — not the Kolscan handle — is what a sniper watchlist should store.&lt;/p&gt;

&lt;p&gt;Telegram: &lt;a href="https://t.me/C00LBB" rel="noopener noreferrer"&gt;https://t.me/C00LBB&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Site: &lt;a href="https://coolbb.site" rel="noopener noreferrer"&gt;https://coolbb.site&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Tracking KOL / Smart-Money Wallets for Memecoin Snipes — What People Don’t Solve</title>
      <dc:creator>CoolBB</dc:creator>
      <pubDate>Mon, 21 Sep 2026 06:13:58 +0000</pubDate>
      <link>https://dev.to/coolbb/tracking-kol-smart-money-wallets-for-memecoin-snipes-what-people-dont-solve-3ole</link>
      <guid>https://dev.to/coolbb/tracking-kol-smart-money-wallets-for-memecoin-snipes-what-people-dont-solve-3ole</guid>
      <description>&lt;p&gt;Copying a Kolscan / GMGN / Dexscreener “top wallet” feels like sniping with a brain. On a bonding curve it is usually buying the same person’s &lt;strong&gt;exit&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The technical job is not “subscribe to a pubkey and buy the same mint.” It is answering three questions &lt;strong&gt;before&lt;/strong&gt; you fire:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Is this wallet a &lt;em&gt;trader&lt;/em&gt;, a &lt;em&gt;bundled farm&lt;/em&gt;, or a &lt;em&gt;caller dumping into followers&lt;/em&gt;?
&lt;/li&gt;
&lt;li&gt;Did their fill happen on the curve, in a Jito envelope, or after graduation?
&lt;/li&gt;
&lt;li&gt;Can your tx arrive close enough that the curve move they caused is still smaller than their edge?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you skip any of those, you are not tracking alpha. You are indexing someone else’s distribution.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to track (the actual objects)
&lt;/h2&gt;

&lt;p&gt;A useful watchlist is not Twitter handles. It is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Signer set&lt;/strong&gt; — one persona is 5–40 wallets. Funding graph first, PnL second.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Venue&lt;/strong&gt; — Pump program &lt;code&gt;6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P&lt;/code&gt; vs PumpSwap &lt;code&gt;pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA&lt;/code&gt; vs Raydium. Copying a curve buy through an aggregator hop is a different trade.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Slot distance&lt;/strong&gt; — their buy slot vs first public mention vs your land slot.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hold clock&lt;/strong&gt; — entry signature → first sell of that mint. Median copied Solana meme holds are measured in &lt;strong&gt;seconds&lt;/strong&gt;, not hours.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Size in curve space&lt;/strong&gt; — SOL in as a fraction of &lt;code&gt;real_sol_reserves&lt;/code&gt;, not USD PnL screenshots.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Detection path that is late by design: REST leaderboard → Telegram alert → human tap. Path that can even &lt;em&gt;see&lt;/em&gt; the trade: Yellowstone / shred filter on those pubkeys, decode &lt;code&gt;buy&lt;/code&gt; / &lt;code&gt;buy_v2&lt;/code&gt; / &lt;code&gt;sell&lt;/code&gt; from the ix list, no second RPC of the curve.&lt;/p&gt;

&lt;h2&gt;
  
  
  What people miss
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The imitation penalty is math, not lag.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
On a constant-product curve, the next buyer always pays a worse average than the last. A paper that copied “smart money” on ~6k meme coins still saw the &lt;em&gt;source&lt;/em&gt; green and the &lt;em&gt;copier&lt;/em&gt; red under the same rules. Faster copy shrinks the gap. It does not delete it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Leaderboard PnL is the wrong random variable.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Mean PnL is one 50x plus nine deaths. You want &lt;strong&gt;median trade&lt;/strong&gt;, sample size (hundreds, not 12), token diversity, and &lt;strong&gt;realized&lt;/strong&gt; SOL back to a sink — not mark-to-curve on inventory they never sold. Wash loops inflate win rate: buy and sell the same size, net position ~0, volume and “trades” look elite.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The wallet you copy is rarely the wallet that ate the cheap supply.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Dev bundles 5 txs in one Jito envelope (create + buys). Cohort rings co-fire in the first-buyer window across many launches (research has pulled &lt;strong&gt;1,000+&lt;/strong&gt; persistent 2–12 wallet rings on Pump.fun). The public “KOL” address buys 20 seconds later for the screenshot. You copy the screenshot wallet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Followers are the product.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
A wallet with 1,500 copiers is a known order. Sandwich searchers love identical direction + predictable size. Hold times around &lt;strong&gt;20–25 seconds&lt;/strong&gt; plus a tweet is not skill. It is a pipeline: accumulate quiet → announce → sell into copies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You copy the buy and sleep on the sell.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Their edge is often the &lt;em&gt;exit&lt;/em&gt;. Your bot mirrors entry, then holds because “the KOL is still in” — while they already rotated to a sibling wallet. Cluster the graph or you will invent conviction they do not have.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Size does not scale.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Their 0.3 SOL into a 4 SOL curve is not your 5 SOL into the same curve after 40 copiers. Impact is &lt;code&gt;Δx / (x + Δx)&lt;/code&gt;. Copy ratio without reserve context is how you become the candle.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wrong chain of custody for “smart money.”&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
CEX → mixer → 40 fresh wallets → one “clean” trader. If you only watch the last hop, you label a farm as a genius. If you only watch the tweet wallet, you miss the farm that actually sniped.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I figured it out
&lt;/h2&gt;

&lt;p&gt;Not from a leaderboard. From joining &lt;strong&gt;their signature to the mint’s first 32 slots&lt;/strong&gt;.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Build the person, not the address.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
For every “smart” pubkey, walk inbound SOL one hop. Group wallets that share a funder inside a few hours and reuse the same program id + similar &lt;code&gt;max_sol_cost&lt;/code&gt;. Union-find on co-occurrence: wallets that appear together in the first-buyer window of many &lt;em&gt;different&lt;/em&gt; mints are a ring, not 12 independent alphas.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Score the fill, not the PnL tile.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
For each of their buys: slot of create, slot of their ix, &lt;code&gt;real_sol_reserves&lt;/code&gt; &lt;em&gt;before&lt;/em&gt; their fill (from the parent tx or pre-ix state), SOL in, tokens out, slot of first sell. Wallets that are green only when &lt;code&gt;entry_slot - create_slot ≤ 2&lt;/code&gt; and &lt;code&gt;hold_slots &amp;lt; 50&lt;/code&gt; are snipers or dumpers. Copying them with +8 slots is buying the dump.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Split bundled vs organic.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Same Jito &lt;code&gt;bundle_id&lt;/code&gt; as &lt;code&gt;create&lt;/code&gt; → insider. Same-block non-creator buys with a shared funder → farm. A lone buy 15 slots later from a wallet that also pays a known fee program of a Telegram bot → copy-of-a-copy. I stopped treating those three as one “KOL class.”&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Replay myself as the copier.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Take their historical buys, shift them +1 / +3 / +10 slots, fill against the &lt;em&gt;next&lt;/em&gt; curve state (or the next on-chain swap). That curve is the real backtest. The leaderboard is theirs. The shifted tape is yours. The delta is the tax you will pay in production.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Watch the sink.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Profitable farms consolidate to one address. Callers leave inventory in the public wallet until the reply guys finish buying. If SOL does not come home, the PnL is a costume.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The sniper use of this stack is narrow: treat a clustered wallet as a &lt;strong&gt;launch classifier&lt;/strong&gt; (this mint has informed flow), not as a market order to clone. If their buy is inside the create bundle, you already lost the cheap side. If it is a quiet wallet with long holds, diversified mints, and a funder that is not a mixer spray — then you have a signal worth racing. Everything on the front page of a copy-trade app failed at least two of those tests.&lt;/p&gt;




&lt;p&gt;Telegram: &lt;a href="https://t.me/C00LBB" rel="noopener noreferrer"&gt;https://t.me/C00LBB&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Site: &lt;a href="https://coolbb.site" rel="noopener noreferrer"&gt;https://coolbb.site&lt;/a&gt;&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
    </item>
    <item>
      <title>Pump.fun Snipers — The One Technical Thing That Actually Matters</title>
      <dc:creator>CoolBB</dc:creator>
      <pubDate>Sun, 20 Sep 2026 06:46:56 +0000</pubDate>
      <link>https://dev.to/coolbb/pumpfun-snipers-the-one-technical-thing-that-actually-matters-4oed</link>
      <guid>https://dev.to/coolbb/pumpfun-snipers-the-one-technical-thing-that-actually-matters-4oed</guid>
      <description>&lt;p&gt;People treat a Pump.fun sniper like a latency toy. Faster gRPC, fatter Jito tip, more endpoints. That is how you lose slower.&lt;/p&gt;

&lt;p&gt;The thing that actually decides the trade is this:&lt;/p&gt;

&lt;p&gt;The create transaction is already the full buy template. If you wait for a second read of the curve, you are not sniping. You are auctioning leftovers after the atomic bundle.&lt;/p&gt;

&lt;p&gt;What the chain actually does&lt;/p&gt;

&lt;p&gt;A launch is create / create_v2 on 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P. Bonding curve PDA is deterministic:&lt;/p&gt;

&lt;p&gt;bonding_curve = PDA(["bonding-curve", mint])&lt;/p&gt;

&lt;p&gt;CreateEvent already carries mint, creator, quote mint, mayhem/cashback flags, virtual reserves. A serious buyer never calls getAccountInfo between detect and send. They patch a pre-built buy / buy_v2 at fixed byte offsets and fire.&lt;/p&gt;

&lt;p&gt;Creators know this. In 2026 the default defense is a Jito bundle: create + creator buy + N wallet buys as one atomic envelope. Nothing inserts between those instructions. Your earliest legal slot is after that envelope. “Block 0 snipe” against a bundled launch is a slogan. You are block 0 of the remainder.&lt;/p&gt;

&lt;p&gt;Virtual reserves start around 30 SOL / ~1.073B tokens. Real tokens sold on the curve are the usual ~800M-class slice. Price is the product, plus 1.25% on every fill (0.30% creator + 0.95% protocol on the curve). You pay that on the way in and on the way out.&lt;/p&gt;

&lt;p&gt;Why people miss&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;They listen to the wrong layer.
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;logsSubscribe and third-party “new coin” APIs are late. Some feeds still drop tx v1 creates. Shred / Geyser sees the create bytes in the first shred of the segment, not after the block is cooked. If your detector is HTTP, the bundle already landed.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The instruction layout moved and their tx never simulates.
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Pump is not a stable ABI. buy vs buy_v2 (27 accounts). Creator vault. Volume accumulators. Fee program. The 2026-04-28 trailing fee-recipient account. USDC-paired curves that reject SOL. A bot that still sends the 2025 account list fails 100% of the time and still burns priority fees. Misses look like “RPC is slow.” They are InstructionError.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;They quote a curve that no longer exists.
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By the time a Telegram bot paints the mint, the bundle already lifted virtual SOL. Your 5% slippage is a coin flip against 16 bundled wallets. Simulation used empty reserves. Execution used post-bundle reserves. SlippageExceeded. You paid the tip anyway.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;ATA + compute.
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;First buy must create the ATA. That extra ix + account data size limit is why “it worked on paper” dies in the slot.&lt;/p&gt;

&lt;p&gt;Why people lose after they “win”&lt;/p&gt;

&lt;p&gt;Landing a fill is not a PnL.&lt;/p&gt;

&lt;p&gt;Graduation is rare (often &amp;lt;1%). Most snipes are inventory in a token that dies at 3% of the curve.&lt;/p&gt;

&lt;p&gt;The other side of your bid is the same desks. They exit into you.&lt;/p&gt;

&lt;p&gt;Jito tip + priority + 1.25% × 2 + the Telegram bot’s 0.5–1% is a tax on attempts, including fails.&lt;/p&gt;

&lt;p&gt;You sized like you were first. You were tenth through the same product. Tokens per SOL collapsed; your average is already mid-curve.&lt;/p&gt;

&lt;p&gt;Speed without an exit that does not share the entry cluster is just a faster donation.&lt;/p&gt;

&lt;p&gt;How I figured it out&lt;/p&gt;

&lt;p&gt;Not from a vendor blog. From the txs that landed versus the ones that did not.&lt;/p&gt;

&lt;p&gt;Diff a bundled launch against a naked create. Same program, same slot shape. One has create then N buys in one Jito bundle. The other is create-only. Every “I was first” fill I logged sat after the first pattern. Once you see that, racing Yellowstone against a bundle is a category error.&lt;/p&gt;

&lt;p&gt;Replay failed signatures. The error was almost never “lost the race.” It was missing creatorvault, wrong fee recipient after Apr 28, stale buy instead of buyv2, or maxsolcost computed on pre-bundle reserves.&lt;/p&gt;

&lt;p&gt;Time the path. Detect timestamp (shred 0) vs signed send vs landed slot. Code after the event was microseconds. The hole was: RPC fetch of the curve, ATA rent check, fresh blockhash wait. Remove those and you still lose to atomic order, not to 2 ms of RTT.&lt;/p&gt;

&lt;p&gt;Watch net SOL on the curve, not volume. Wash and snipes both print volume. Only one moves realsolreserves from new wallets. When volume spiked and unique funders did not, the “snipe” was circular. Exit liquidity was a ghost.&lt;/p&gt;

&lt;p&gt;The important technical object is not the sniper. It is the create transaction as a closed set of accounts. Decode that set, pre-sign against it, and treat a Jito create+buy envelope as a filled book. Everything else is paying Solana to learn the same lesson again.&lt;/p&gt;




&lt;p&gt;Telegram: &lt;a href="https://t.me/C00LBB" rel="noopener noreferrer"&gt;https://t.me/C00LBB&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;Site: &lt;a href="https://coolbb.site" rel="noopener noreferrer"&gt;https://coolbb.site&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Volume Boosters on Pump.fun — What They Are, Why They Exist, What They Don’t Buy</title>
      <dc:creator>CoolBB</dc:creator>
      <pubDate>Sat, 19 Sep 2026 16:59:27 +0000</pubDate>
      <link>https://dev.to/coolbb/volume-boosters-on-pumpfun-what-they-are-why-they-exist-what-they-dont-buy-5e5g</link>
      <guid>https://dev.to/coolbb/volume-boosters-on-pumpfun-what-they-are-why-they-exist-what-they-dont-buy-5e5g</guid>
      <description>&lt;p&gt;A “volume booster” on Pump.fun is not a market maker in the exchange sense. It is a paid fleet of wallets that &lt;strong&gt;buy and sell the same mint&lt;/strong&gt; so the coin’s &lt;strong&gt;volume, tx count, and sometimes holder count&lt;/strong&gt; move. The product exists because the homepage is an auction for attention.&lt;/p&gt;

&lt;p&gt;Pump.fun ranks the live board (trending / King of the Hill) on a mix of &lt;strong&gt;recent buy volume, velocity, unique traders, and tx frequency&lt;/strong&gt;. Exact weights are unpublished. Operators inferred the rest: if the list is scored on activity, you can rent activity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two different machines
&lt;/h2&gt;

&lt;p&gt;Do not mix these up.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;What it optimizes&lt;/th&gt;
&lt;th&gt;Typical pattern&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Volume bot&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;SOL notional on the curve or PumpSwap&lt;/td&gt;
&lt;td&gt;buy → sell loops, sized to print “24h volume”&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Bump bot&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;recency / tx count&lt;/td&gt;
&lt;td&gt;tiny buys so the coin keeps “last traded now”&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Same industry. Different scoreboard. Volume without bumps can still fall off the front page. Bumps without volume look like a dead chart with a noisy tape.&lt;/p&gt;

&lt;p&gt;After graduation the same desks switch venue: curve → &lt;strong&gt;PumpSwap&lt;/strong&gt; (or whatever pool the mint landed in). DexScreener / Birdeye still sort on volume, so the incentive does not end at the curve.&lt;/p&gt;

&lt;h2&gt;
  
  
  What actually hits the chain
&lt;/h2&gt;

&lt;p&gt;Conceptually: fund N throwaway wallets from a treasury, jitter size and delay, buy the curve, sell some or all back, recycle SOL, optionally drop comments and “favorites.” Fees and slippage are the &lt;strong&gt;burn rate&lt;/strong&gt;. You are paying Pump.fun (curve fee is SOL-denominated) plus Jito/priority plus the desk’s cut (vendors advertise flat percents of target volume or per-maker fees).&lt;/p&gt;

&lt;p&gt;That last part matters. &lt;strong&gt;Wash volume on the bonding curve still pays real SOL fees.&lt;/strong&gt; It is expensive theater. Wash volume on some PumpSwap pools is a different animal: if a washer makes their junk token the &lt;em&gt;quote&lt;/em&gt;, they can inflate notional while paying fees in a token they print. Blockworks-style filters exist because raw PumpSwap volume and &lt;strong&gt;fee-wallet inflows&lt;/strong&gt; diverge hard. Protocol revenue is the fee wallets, not the unfiltered ticker.&lt;/p&gt;

&lt;p&gt;A 2026 arXiv pass on pump.fun still found millions of wash-shaped txs (tight buy/sell, same cluster) and a higher graduation rate on coins that ran them. That is a ranking exploit, not proof of buyers.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does not buy
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Holders who stay.&lt;/strong&gt; Makers that round-trip are not a community.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A bid when the bot stops.&lt;/strong&gt; The chart gap after the session is the tell.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Safety from screeners.&lt;/strong&gt; Clustered funding, identical size bands, comment spam, 200 “holders” with the same parent — terminals show this now.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Legal cover.&lt;/strong&gt; Coordinated wash to mislead a market is market manipulation in a lot of jurisdictions. This article is how the metric works, not a playbook.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to read a boosted tape
&lt;/h2&gt;

&lt;p&gt;Look for:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Volume up, &lt;strong&gt;unique funded wallets&lt;/strong&gt; and &lt;strong&gt;net SOL into the curve&lt;/strong&gt; flat.
&lt;/li&gt;
&lt;li&gt;Buys and sells &lt;strong&gt;paired in time&lt;/strong&gt; from wallets that were dusted from one source.
&lt;/li&gt;
&lt;li&gt;Graduation, then an empty PumpSwap book.
&lt;/li&gt;
&lt;li&gt;Comments that read like a phrase bank.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Organic KOTH still happens — real SOL in, holders that do not recycle, curve progress that survives a 30-minute pause. Boosters exist because &lt;strong&gt;that&lt;/strong&gt; is rare and the UI pays for the fake version of it.&lt;/p&gt;

&lt;p&gt;If you trade these boards, treat 24h volume as a &lt;strong&gt;visibility score&lt;/strong&gt;, not demand. If you launch, assume anyone who can read a funding graph will discount rented tape. The only volume that survives the bot turning off is the volume that was never the bot.&lt;/p&gt;




&lt;p&gt;Telegram: &lt;a href="https://t.me/C00LBB" rel="noopener noreferrer"&gt;https://t.me/C00LBB&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Site: &lt;a href="https://coolbb.site" rel="noopener noreferrer"&gt;https://coolbb.site&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Why Ponsfamily and Robinhood Chain Memecoins Are Cooling</title>
      <dc:creator>CoolBB</dc:creator>
      <pubDate>Sat, 19 Sep 2026 16:48:14 +0000</pubDate>
      <link>https://dev.to/coolbb/why-ponsfamily-and-robinhood-chain-memecoins-are-cooling-1p4i</link>
      <guid>https://dev.to/coolbb/why-ponsfamily-and-robinhood-chain-memecoins-are-cooling-1p4i</guid>
      <description>&lt;p&gt;This is not “Pons is dead.” It is a cooldown after a two-month blow-off.&lt;/p&gt;

&lt;p&gt;Early September: Pons printed days near &lt;strong&gt;$6M fees&lt;/strong&gt; and &lt;strong&gt;$500M+&lt;/strong&gt; launch volume, briefly ahead of Pump.fun. Robinhood Chain logged a &lt;strong&gt;$6M&lt;/strong&gt; fee day (Sep 4) and week DEX volume around &lt;strong&gt;$12B&lt;/strong&gt;. PONS tagged an ATH near &lt;strong&gt;$0.97&lt;/strong&gt; (Sep 5). Tens of thousands of tokens launched in a single day.&lt;/p&gt;

&lt;p&gt;Mid-to-late September: Pons V2 &lt;strong&gt;curve&lt;/strong&gt; volume sat near &lt;strong&gt;$113M&lt;/strong&gt; on Sep 13 and &lt;strong&gt;~$50M&lt;/strong&gt; on Sep 17–18. Daily fees slid from the $5–6M spike toward &lt;strong&gt;~$3M&lt;/strong&gt;. On Sep 19, GMGN showed a broad 12-hour drawdown across the stack: PONS &lt;strong&gt;&amp;gt;7%&lt;/strong&gt; (MC ~$687M), AI ~14%, BONER ~15%, MEME ~13%, SHROOM ~20%. CMC framed PONS −10% on a report of a sharp drop in Robinhood Chain fee income.&lt;/p&gt;

&lt;p&gt;Cooling is real. Collapse-to-zero is not what the 30-day tape says — Pons still did &lt;strong&gt;~$2.2B&lt;/strong&gt; V2 curve volume and &lt;strong&gt;~$135M&lt;/strong&gt; fees over 30 days. The story is &lt;em&gt;mean reversion after a subsidy-fueled mania&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it cooled
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Meme seasons are inventory cycles.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Pons minted on the order of &lt;strong&gt;hundreds of thousands&lt;/strong&gt; of tokens since July. Graduation has hovered near &lt;strong&gt;1–1.5%&lt;/strong&gt;. Most names never leave the curve. Traders rotate into &lt;em&gt;this week’s&lt;/em&gt; mint. A Dune cut already showed &lt;strong&gt;&amp;gt;50%&lt;/strong&gt; of a week’s DEX volume in tokens that had &lt;strong&gt;zero volume the week before&lt;/strong&gt;. When the new-mint firehose slows, charts look empty even if the protocol is still large.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. The token is a leveraged fee token.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
~70% of the 1% trade fee goes to creators. Protocol share funds &lt;strong&gt;PONS buybacks/burns&lt;/strong&gt; (team has cited ~80% of protocol revenue; ~29–31% of supply burned by mid-September). That loop runs &lt;strong&gt;forward&lt;/strong&gt; in a boom and &lt;strong&gt;backward&lt;/strong&gt; in a fade: less volume → less burn → weaker bid → more selling in names that only existed as a fee multiple.&lt;/p&gt;

&lt;p&gt;Same trap on “coin-equity” memes (stock-paired names, holder dividends). Those payouts are just &lt;strong&gt;fee residue&lt;/strong&gt;. Volume down, dividend story dies. Ignas said that out loud before this dip.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Attention left the chain, not just the pad.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
StonkFun on Solana took the stock-pair meme and LaunchLab narrative in the same window Pons peaked. Launchpad traders are one roster. They do not need Robinhood Chain if Solana is printing the same ticker against SPYx with better wallets and faster social density.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. The free-gas clock.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Robinhood Chain’s &lt;strong&gt;90-day gas waiver&lt;/strong&gt; (from Jul 1) is slated to end &lt;strong&gt;~Sep 30&lt;/strong&gt;. Sub-$1 launches and washy volume only exist while blockspace is a gift. Markets price the end of a subsidy &lt;em&gt;before&lt;/em&gt; the date.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. V2 made the casino slower on purpose.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Snipe tax (99% → 0% in seconds), reserved pool slice, ~1% graduation. That cut the “same-block free money” flow that inflated July–August prints. Healthier microstructure, lower bot volume. Both can be true.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Peak fees per user were unsustainable.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The Block noted fees per active account jumping from &lt;strong&gt;~$0.13&lt;/strong&gt; in mid-August to &lt;strong&gt;~$15.90&lt;/strong&gt; by early September while &lt;em&gt;daily actives did not rise as fast as fees&lt;/em&gt;. That is the same users pressing harder, not a new nation onboarded. Mean revert that intensity and fees fall even if wallet counts look “fine.”&lt;/p&gt;

&lt;h2&gt;
  
  
  How to read it
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Signal&lt;/th&gt;
&lt;th&gt;Peak (early Sep)&lt;/th&gt;
&lt;th&gt;Cool (mid/late Sep)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Pons daily fees&lt;/td&gt;
&lt;td&gt;~$5–6M&lt;/td&gt;
&lt;td&gt;~$3M&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pons V2 curve vol&lt;/td&gt;
&lt;td&gt;$100M+ days&lt;/td&gt;
&lt;td&gt;~$50M&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PONS&lt;/td&gt;
&lt;td&gt;~$0.97 ATH&lt;/td&gt;
&lt;td&gt;~$0.60 area&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Chain story&lt;/td&gt;
&lt;td&gt;“new pump.fun”&lt;/td&gt;
&lt;td&gt;rotation + gas cliff&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A cooldown is default after a pad does Pump.fun numbers in week eight on a new L2. What matters next is not a 12-hour red candle. It is whether &lt;strong&gt;quote-asset pairs and graduated V4 pools&lt;/strong&gt; still trade when gas is no longer free, and whether burns still clear when daily fees live at $2–3M instead of $6M.&lt;/p&gt;

&lt;p&gt;Do not annualize the peak. Do not write the chain off at $50M/day of curve flow either.&lt;/p&gt;




&lt;p&gt;Telegram: &lt;a href="https://t.me/C00LBB" rel="noopener noreferrer"&gt;https://t.me/C00LBB&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Site: &lt;a href="https://coolbb.site" rel="noopener noreferrer"&gt;https://coolbb.site&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>StonkFun Bonding Curve Math (LaunchLab, Not a Custom AMM)</title>
      <dc:creator>CoolBB</dc:creator>
      <pubDate>Sat, 19 Sep 2026 14:54:22 +0000</pubDate>
      <link>https://dev.to/coolbb/stonkfun-bonding-curve-math-launchlab-not-a-custom-amm-pf2</link>
      <guid>https://dev.to/coolbb/stonkfun-bonding-curve-math-launchlab-not-a-custom-amm-pf2</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fab6eeygn73v9j8d7ap63.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fab6eeygn73v9j8d7ap63.png" alt=" " width="800" height="281"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;StonkFun is a Solana launchpad that pairs a new mint with &lt;strong&gt;any quote the UI allows&lt;/strong&gt;: SOL, tokenized stocks (SPYx, NVDAx), pre-IPO tokens, or other crypto. Since early September 2026 new launches do not open a one-sided CLMM first. They run on &lt;strong&gt;Raydium LaunchLab&lt;/strong&gt; (&lt;code&gt;LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj&lt;/code&gt;), then &lt;code&gt;migrate_to_cpswap&lt;/code&gt; into a Raydium CPMM at the 0.25% fee tier.&lt;/p&gt;

&lt;p&gt;The curve math is LaunchLab’s constant-product engine. StonkFun’s product surface is the &lt;strong&gt;quote asset&lt;/strong&gt; and two platform configs.&lt;/p&gt;

&lt;h2&gt;
  
  
  What gets minted
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Supply: &lt;strong&gt;1,000,000,000&lt;/strong&gt; tokens, &lt;strong&gt;6 decimals&lt;/strong&gt;, Token-2022.&lt;/li&gt;
&lt;li&gt;Sold on the curve: &lt;strong&gt;793,100,000&lt;/strong&gt; (79.31%).&lt;/li&gt;
&lt;li&gt;Held for the pool: &lt;strong&gt;206,900,000&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those 206.9M plus the raised quote seed the CPMM. That is why you can read progress from the &lt;strong&gt;base reserve alone&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;progress% = 100 - ((baseReserve - 206_900_000) * 100 / 793_100_000)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Do not hard-code “85 SOL” as the only finish line.&lt;/p&gt;

&lt;h2&gt;
  
  
  Graduation is a quote amount, not a ticker
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;total_quote_fund_raising&lt;/code&gt; is set at &lt;code&gt;initialize_with_token_2022&lt;/code&gt; from a &lt;strong&gt;fixed dollar target&lt;/strong&gt;, converted into the chosen quote at launch time.&lt;/p&gt;

&lt;p&gt;UI copy for SOL pairs: raise &lt;strong&gt;85 SOL&lt;/strong&gt;, then graduate. Same dollar size in another asset is a different number — roughly 0.112 WBTC or ~11.5 SPYx in published examples, and it moves with the quote’s price. Always read the launch args.&lt;/p&gt;

&lt;p&gt;Configs:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Mode&lt;/th&gt;
&lt;th&gt;Platform config&lt;/th&gt;
&lt;th&gt;Extra&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Standard&lt;/td&gt;
&lt;td&gt;&lt;code&gt;4E876qZTE9FJMrBzgVtBrSrzz2TLivB5Y5QXPjB4gZL7&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;no transfer tax&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reward&lt;/td&gt;
&lt;td&gt;&lt;code&gt;6BwHHDg3u1854jC8PDLXvR4spTcLNaoBxLJNGC4nTESt&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Token-2022 transfer fee 1% or 3%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Reward tax is &lt;strong&gt;on transfers&lt;/strong&gt;, not a second AMM fee. It is a separate haircut after the curve.&lt;/p&gt;

&lt;h2&gt;
  
  
  Price = constant product in the quote
&lt;/h2&gt;

&lt;p&gt;$$x \cdot y = k$$&lt;/p&gt;

&lt;p&gt;&lt;code&gt;x&lt;/code&gt; = quote reserve (SOL, SPYx, …). &lt;code&gt;y&lt;/code&gt; = tokens still on the curve.&lt;/p&gt;

&lt;p&gt;Curve fee is &lt;strong&gt;1% of the quote leg&lt;/strong&gt; (&lt;code&gt;fee_rate = 10_000 / 1_000_000&lt;/code&gt; on the platform config):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Buy:&lt;/strong&gt; fee comes off quote &lt;strong&gt;before&lt;/strong&gt; the product.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sell:&lt;/strong&gt; fee comes off quote &lt;strong&gt;after&lt;/strong&gt; the product.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Raydium’s 0.25% (RAY buyback) is taken &lt;strong&gt;from&lt;/strong&gt; that 1%, not stacked on top. Creator curve-fee rate on LaunchLab is 0 in the documented StonkFun configs; the site’s “~0.5% to creator, auto-forwarded” is the platform payout path after the split, including post-graduation pool fees — confirm live config per launch.&lt;/p&gt;

&lt;p&gt;Net buy sketch:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;netQuote   = quoteIn * (1 - 0.01)
tokensOut  = y * netQuote / (x + netQuote)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A buy that would pass the reserved 206.9M is the graduation trade; after &lt;code&gt;migrate_to_cpswap&lt;/code&gt; the curve stops.&lt;/p&gt;

&lt;h2&gt;
  
  
  What bots get wrong
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Treating every pair as SOL. You pay &lt;strong&gt;in the quote mint&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Using 85 SOL on a SPYx curve.&lt;/li&gt;
&lt;li&gt;Ignoring Token-2022 transfer fee on reward mints when simulating a sell.&lt;/li&gt;
&lt;li&gt;Routing to CPMM while the pool account is still the LaunchLab curve.&lt;/li&gt;
&lt;li&gt;Assuming first-slot snipes work like the old one-sided CLMM path. The curve is the sniper tax.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Detect: &lt;code&gt;initialize_with_token_2022&lt;/code&gt; whose accounts include a StonkFun platform config. Sixth account = pool state, seventh = base mint, eighth = quote. Graduate: &lt;code&gt;migrate_to_cpswap&lt;/code&gt; on the same program.&lt;/p&gt;

&lt;p&gt;Same (k) as every other LaunchLab pad. The StonkFun-specific math is &lt;strong&gt;which reserve is (x)&lt;/strong&gt;, and that 793.1 / 206.9 split.&lt;/p&gt;




&lt;p&gt;Telegram: &lt;a href="https://t.me/C00LBB" rel="noopener noreferrer"&gt;https://t.me/C00LBB&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Site: &lt;a href="https://coolbb.site" rel="noopener noreferrer"&gt;https://coolbb.site&lt;/a&gt;&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
    </item>
    <item>
      <title>Ponsfamily V2 Bonding Curve Math (What Your Quoter Must Mirror)</title>
      <dc:creator>CoolBB</dc:creator>
      <pubDate>Fri, 18 Sep 2026 10:01:16 +0000</pubDate>
      <link>https://dev.to/coolbb/ponsfamily-v2-bonding-curve-math-what-your-quoter-must-mirror-323h</link>
      <guid>https://dev.to/coolbb/ponsfamily-v2-bonding-curve-math-what-your-quoter-must-mirror-323h</guid>
      <description>&lt;p&gt;Ponsfamily V2 does not price on a Uniswap pool first. The full supply mints to a constant-product bonding curve that already trades in the &lt;strong&gt;same quote asset&lt;/strong&gt; the future V4 pool will use (native ETH or &lt;code&gt;pairToken&lt;/code&gt;). Graduation later seeds that pool from the curve’s real reserves — no router, no oracle.&lt;/p&gt;

&lt;p&gt;There is &lt;strong&gt;no &lt;code&gt;quote()&lt;/code&gt; on the curve&lt;/strong&gt;. You rebuild the price from &lt;code&gt;getReserves()&lt;/code&gt;, &lt;code&gt;feeBps&lt;/code&gt;, &lt;code&gt;creatorTaxBps&lt;/code&gt;, &lt;code&gt;sellableTokens()&lt;/code&gt;, and &lt;code&gt;currentSnipeTaxBps(recipient)&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Invariant
&lt;/h2&gt;

&lt;p&gt;The curve is Uniswap-v2-style:&lt;/p&gt;

&lt;p&gt;$$x \cdot y = k$$&lt;/p&gt;

&lt;p&gt;&lt;code&gt;x&lt;/code&gt; is the &lt;strong&gt;quote reserve&lt;/strong&gt; (phantom + real). &lt;code&gt;y&lt;/code&gt; is the &lt;strong&gt;token reserve&lt;/strong&gt;. A phantom quote reserve sets the opening price so the first buy is not free. &lt;code&gt;realQuoteReserve()&lt;/code&gt; is what actually arrived from traders; graduation watches that against the launch’s threshold.&lt;/p&gt;

&lt;p&gt;Core output (from &lt;code&gt;PonsV2BondingCurveMath&lt;/code&gt;):&lt;/p&gt;

&lt;p&gt;$$&lt;br&gt;
\Delta y = \frac{\Delta x_{\text{net}} \cdot y}{x + \Delta x_{\text{net}}}&lt;br&gt;
$$&lt;/p&gt;

&lt;p&gt;On-chain they pass &lt;code&gt;feeBps = 0&lt;/code&gt; into the AMM helper because &lt;strong&gt;fees are applied on the quote leg first&lt;/strong&gt;, not inside the product.&lt;/p&gt;
&lt;h2&gt;
  
  
  Buy: fees come off the input
&lt;/h2&gt;

&lt;p&gt;Order of operations on &lt;code&gt;buy(quoteIn, minTokensOut, recipient)&lt;/code&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Read snipe tax for this recipient (decays from 99% toward 0 over ~5s; exempt addresses skip it).&lt;/li&gt;
&lt;li&gt;Take protocol &lt;code&gt;feeBps&lt;/code&gt; and optional &lt;code&gt;creatorTaxBps&lt;/code&gt; from the quote spent.&lt;/li&gt;
&lt;li&gt;Feed &lt;strong&gt;what remains&lt;/strong&gt; into &lt;code&gt;getAmountOut&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;If the buy would eat the reserved graduation slice, fill only &lt;code&gt;sellableTokens()&lt;/code&gt; and refund the rest.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Sketch:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;spent     = quoteIn                       // may clamp to sellable
snipe     = spent * snipeTaxBps / 10_000  // buys only
fee       = spent * feeBps / 10_000
tax       = spent * creatorTaxBps / 10_000
netIn     = spent - snipe - fee - tax
tokensOut = getAmountOut(netIn, quoteReserve, tokenReserve, 0)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Caps: curve fee ≤ 10%, creator tax ≤ 10%, total trade fee ≤ 20%, snipe start ≤ 99%. A taxed buy still nets something.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sell: fees come off the output
&lt;/h2&gt;

&lt;p&gt;Sells never pay snipe tax.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gross     = getAmountOut(tokensIn, tokenReserve, quoteReserve, 0)
fee       = gross * feeBps / 10_000
tax       = gross * creatorTaxBps / 10_000
quoteOut  = gross - fee - tax
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When &lt;code&gt;readyToGraduate()&lt;/code&gt; is true, sells revert (&lt;code&gt;CurveGraduated&lt;/code&gt;) even before &lt;code&gt;graduate()&lt;/code&gt; runs. The curve is already holding pool seed; selling would move the price the pool is supposed to inherit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Graduation price
&lt;/h2&gt;

&lt;p&gt;After drain, &lt;code&gt;PonsV2GraduationMath&lt;/code&gt; seeds V4 with&lt;/p&gt;

&lt;p&gt;$$\texttt{sqrtPriceX96} = \sqrt{\frac{\text{amount1}}{\text{amount0}}} \cdot 2^{96}$$&lt;/p&gt;

&lt;p&gt;from the curve’s final token and quote amounts. Full-range position. Same quote asset the curve already collected.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a bot gets wrong
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Quoting like V3 / V4 before &lt;code&gt;phase == 0&lt;/code&gt; (still on curve).&lt;/li&gt;
&lt;li&gt;Putting fee inside &lt;code&gt;getAmountOut&lt;/code&gt; &lt;strong&gt;and&lt;/strong&gt; subtracting it from quote (double fee).&lt;/li&gt;
&lt;li&gt;Ignoring phantom vs real quote when estimating “how close to graduate.”&lt;/li&gt;
&lt;li&gt;Buying at t=0: ~99% snipe tax vs ~1–3% a couple of seconds later. Price impact rarely outruns that decay unless the curve is already graduating.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Read reserves, subtract quote-leg haircuts, then run the product. That is the whole market until the pool exists.&lt;/p&gt;




&lt;p&gt;Telegram: &lt;a href="https://t.me/C00LBB" rel="noopener noreferrer"&gt;https://t.me/C00LBB&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Site: &lt;a href="https://coolbb.site" rel="noopener noreferrer"&gt;https://coolbb.site&lt;/a&gt;&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>web3</category>
      <category>solidity</category>
      <category>defi</category>
      <category>math</category>
    </item>
  </channel>
</rss>
