Market cap $2.63 T −1.41 % over 24 hours24h volume $61.69 BBTC dominance 59.3 %ETH 10.6 %Fear & Greed 26 FearCoins 22,751

How Curve Finance works: StableSwap, Balancer, Solana DEXs and pump.fun

Curve Finance explained with Balancer, Maverick, Solana DEXs and pump.fun: the formulas, worked numbers, exploits and the Balancer winddown of 2026.

Advanced 22 min readUpdated Read first: Uniswap v3 concentrated liquidity: how ranges and v4 hooks work
A gear and a liquidity drop beside an hourglass and stacked coins
Table of contents
  1. One formula per job: what an invariant decides
  2. How Curve Finance works: a curve that stays flat near the peg
    1. StableSwap sits between constant sum and constant product
    2. What the flat curve costs LPs when a peg breaks
    3. CryptoSwap, Tricrypto and FXSwap follow a moving price
    4. July 2023: the compiler was the vulnerability
  3. Balancer pools: weights instead of a 50/50 split
    1. From the v2 Vault to v3: boosted pools, hooks and LBPs
    2. 3 November 2025: a rounding error in stable pools
    3. Balancer is winding down: what the vote decided
  4. Maverick moves liquidity for the LP
  5. Raydium, Orca and Meteora: Solana DEXs built on cheap transactions
    1. Meteora and the LIBRA case: what a court did and did not decide
  6. Bonding curves: how pump.fun prices a token before it has a market
    1. The 85 SOL figure is a result of the parameters
    2. Graduation to PumpSwap, and how few tokens get there
    3. Are meme coin launchpads legal? One lawsuit and two regulators
  7. Choosing between AMM designs, and reading the next one
  8. Tax and rules for US and UK readers

blockchain, where users swap tokens directly from their own wallets without handing custody of their funds to a company.">Swap $1 million of USDC for USDT against $20 million of liquidity. In a plain constant-product smart contract holding reserves of two or more tokens, supplied by users, that a decentralized exchange uses to execute trades automatically at a price set by a formula.">pool, the trade loses about 9% to price impact. In a Curve Finance pool with an amplification setting of 1,000, the same trade loses about 0.01%. Those are our own example numbers, before fees, but the gap is real: same money, same pair, and a gap of about 900 times that comes from one line of maths.

That line of maths is why specialised AMMs exist. Curve flattened the pricing curve around a peg. Balancer let a pool hold several assets at any weights. Maverick made liquidity follow the price. The Solana DEXs paired concentrated liquidity with very cheap transactions, and pump.fun used a bonding curve to price a token that has no market yet.

One of those names now carries a date. Balancer’s token holders voted to wind the protocol down, and the published schedule sets 30 October 2026 as the day its pausable pools move to withdrawals only. If you have ever held a Balancer position, go first to the section on the winddown below.

This lesson continues from Uniswap v3 and v4 concentrated liquidity. A quick reminder of the base case: a two-token pool keeps x·y=k, the price is the ratio of reserves, and larger trades move it further, as derived in our lesson on AMM maths. wallet. It becomes permanent when the provider withdraws.">Impermanent loss is covered in the liquidity pools lesson; here we only compare how each design changes it.

One formula per job: what an invariant decides

Every AMM in this lesson answers the same question: which combinations of balances does the pool accept? The rule is the invariant. Plot it and you get a curve, and that curve is the price list: its slope at the current balances is the marginal price, and the distance you travel along it is your price impact.

Change the rule and you change who the pool suits. Constant product works for any pair but spreads liquidity from zero to infinity, so most of it sits at prices that never trade. Each design below moves liquidity to where one kind of asset actually trades, then accepts a specific weakness in return. Keep asking what the weakness is. The two largest incidents in this lesson came from below the pool design itself: one from a compiler, one from a rounding step.

How Curve Finance works: a curve that stays flat near the peg

One paper started Curve Finance. Michael Egorov’s StableSwap whitepaper, dated 10 November 2019, describes a design for stablecoins that he says “could be called ‘Uniswap with leverage'”. Its token, CRV, followed in August 2020, according to Curve’s documentation.

StableSwap sits between constant sum and constant product

Start from two extremes. A constant-sum pool, x+y=D, always pays 1:1. No slippage at all, until an arbitrageur empties one side after the first depeg. A constant-product pool can never be emptied, but it charges slippage on every trade. Egorov blends the two with a weight, the coefficient χ, that is large when the pool is balanced and collapses when it is not.

χ·Dⁿ⁻¹·Σxᵢ + Πxᵢ = χ·Dⁿ + (D/n)ⁿ
χ = A·Πxᵢ / (D/n)ⁿ

A·nⁿ·Σxᵢ + D = A·D·nⁿ + Dⁿ⁺¹ / (nⁿ·Πxᵢ)

Here xᵢ are the balances, n is the number of coins, and D is the total value of the pool when all coins are at equal price. In a balanced pool, Πxᵢ equals (D/n)ⁿ, so χ equals A and the constant-sum term dominates. As the pool tilts, the product shrinks, χ falls toward zero, and the formula slides back to constant product. That is the whole trick: flat where the coins should trade, safe where they should not.

A is the amplification coefficient. The paper says of it that “the lower it is, the closer the invariant is to the constant product”. It used a practical value of 100 for its slippage charts. Its backtest on DAI, USDC and USDT from May to October 2019, on $30,000 of liquidity, found an optimum of A = 85 and a fee of 0.06%. The 312% APR in that simulation came from one thin 2019 backtest and says nothing about today’s pools.

The table applies the invariant to a two-coin pool holding 10 million of each stablecoin, with no fee. We calculated it ourselves with the routines of Curve’s 3pool contract, where Ann = A·n takes the place of the paper’s A·nⁿ. So in a two-coin pool the contract’s A is twice the paper’s A, and the figures below use the contract’s.

Swap in (example)Constant productA = 10A = 100A = 1,000
$100,0000.99%0.091%0.0099%0.0010%
$1,000,0009.09%0.908%0.0999%0.0101%
$5,000,00033.33%5.32%0.649%0.0665%
$9,000,00047.37%14.38%3.37%0.451%

Curve’s own documentation gives a matching order of magnitude: in a healthy $20 million USDC/USDT pool, a $1 million swap would likely incur less than 0.01% slippage. Notice the last row, though. A $9 million swap into a $20 million pool costs 0.45% even at A = 1,000, because the trade pushes the pool far from balance and the curve starts to bend.

Banknotes beside balanced scales and a bar chart on a dark background
Same swap, same liquidity: the amplification setting decides how much price impact a stablecoin trade pays.

What the flat curve costs LPs when a peg breaks

A high A hides stress. Take the same example pool after it has tilted to 18 million of one coin and 2 million of the other. Selling the abundant coin at A = 1,000 still returns 0.988 of the scarce coin per unit, so the price looks almost normal. At A = 100 it returns 0.894, so the abundant coin trades 10.6% below the scarce one. The lower setting signals the imbalance sooner, and that is our calculation on an example, not a rule for choosing pools.

LPs in a StableSwap pool are fully passive: they set no range, and the pool holds liquidity across all prices. The price of that comfort is written in Curve’s docs: if an asset permanently depegs or is exploited, LPs “can incur significant losses”, because arbitrageurs sell them the failing coin and leave them holding it. The same docs warn against using Stableswap for a forex pair such as USDC and EURC, whose rate is not fixed. Curve’s own stablecoin, crvUSD, is a separate system covered in our lesson on CDP stablecoins.

CryptoSwap, Tricrypto and FXSwap follow a moving price

“Curve v2” is a name you will meet everywhere, and Curve’s technical docs call it misleading. The official name is CryptoSwap, from Egorov’s paper of 9 June 2021, “Automatic market-making with dynamic peg”. Pools hold 2 or 3 volatile assets, Tricrypto being the three-asset family. The paper claims 5 to 10 times higher liquidity than the Uniswap invariant, which is the author’s own simulation result.

The idea is to keep a StableSwap-like shape around an internal reference price, the price_scale, and to move that reference as the market moves. Two parameters set the shape: A concentrates liquidity around the centre, and gamma sets how wide it spreads. A higher gamma gives a wider curve.

Moving the centre has a cost. The docs put it in four words: “rebalancing realizes impermanent loss”. So the pool re-centres only when the price has moved beyond an adjustment step and the cost is below 50% of the fees earned. If fees run short, the liquidity stays behind the market. That is the weakness: passive for the LP, but stranded in a fast trend.

FXSwap, which Curve’s January 2026 recap presents as launched that month, is the newest branch. Its documentation describes two-asset markets whose price discovery happens outside the pool, such as forex pairs, with a finite “refuel” budget that helps pay for re-centring.

July 2023: the compiler was the vulnerability

On 30 July 2023, several Curve pools were drained through a flaw that was not in Curve’s code as written. The Vyper post-mortem shows that compiler versions 0.2.15, 0.2.16 and 0.3.0 gave each reentrancy lock its own storage slot, so functions meant to share a lock did not block each other. Totals vary by source and by how returned funds are counted: DefiLlama lists about $62 million, while CertiK counts about $69.3 million taken and $16.7 million returned, a net loss of about $52 million. Our composability lesson covers how the damage spread to CRV-backed loans.

Balancer pools: weights instead of a 50/50 split

The Balancer whitepaper by Fernando Martinelli and Nikolai Mushegian, dated 19 September 2019, turned the index fund around. Its pitch: “you collect fees from traders, who rebalance your portfolio by following arbitrage opportunities”. A pool can hold several tokens, each with a fixed weight, and the invariant is a weighted product.

V = Π Bₜ^Wₜ    (the weights Wₜ sum to 1)
spot price = (B_in / W_in) / (B_out / W_out)
out = B_out · (1 − (B_in / (B_in + Δ))^(W_in / W_out))

Set two weights to 0.5 and you are back at x·y=k. Take instead an example pool of 80% TOKEN and 20% USDC holding 8,000,000 TOKEN and 200,000 USDC. The spot price is (200,000 / 0.2) / (8,000,000 / 0.8), or 0.10 USDC per TOKEN. The table shows buys without fees.

USDC paid in (example)TOKEN receivedAverage pricePrice impact
1,0009,968.90.100310.31%
10,00096,987.60.103113.11%
50,000434,067.10.1151915.19%

The weights also change what an LP gives up. The value of a pool against simply holding is rw / (w·r + 1 − w), where w is the weight of the volatile token and r is its price ratio. The 50/50 column matches our impermanent loss lesson.

Volatile token’s price50/50 pool vs holding80/20 pool vs holding
Halves (r = 0.5)−5.72%−4.28%
Doubles (r = 2)−5.72%−3.27%
Rises 4 times (r = 4)−20.0%−10.84%
Rises 10 times (r = 10)−42.5%−23.05%

An 80/20 pool sells less of the volatile token on the way up, so it loses less to holding. It also gives thinner depth on the 20% side, which is what the price impact table shows.

From the v2 Vault to v3: boosted pools, hooks and LBPs

Later versions moved token custody into a shared Vault. Balancer v3 reached DefiLlama’s listings in December 2024, and its docs name three additions: native support for yield-bearing tokens, 100% boosted pools, and a hooks system for custom pool logic. Boosted pools keep part or all of their tokens in yield-bearing form. AutoRange Pools add fungible concentrated liquidity using virtual balances, and liquidity bootstrapping pools, or LBPs, change weights over time to run a token launch or sale.

3 November 2025: a rounding error in stable pools

On 3 November 2025, an attacker drained Balancer v2 Composable Stable Pools across several networks. Check Point Research traced it to balances pushed down to a few wei, where a rounding-down step in the scaling code understated the invariant D and so the price of the pool token. Repeated micro-swaps inside a single batch did the rest. Trail of Bits called it “a rounding direction issue that had been present in the code for many years” and independently confirmed that v3 was not affected.

Reported totals run from about $110 million (CoinDesk) to about $128 million (Check Point, DefiLlama), and Trail of Bits says “more than $100M”. The sources do not reconcile those figures, and they differ even on the number of networks, six or nine. According to BIP-892, whitehats and internal rescue work recovered about $8 million of user funds, with about $19.7 million more in osETH and osGNO handled separately by StakeWise.

DateProtocolFlawAmount, by source
30 July 2023Curve poolsVyper compiler reentrancy lockAbout $62M (DefiLlama) to $69.3M taken (CertiK), about $52M net of returns (CertiK)
3 November 2025Balancer v2 Composable Stable PoolsRounding directionAbout $110M (CoinDesk) to $128M (Check Point)
31 August 2026Balancer V1 poolsRounding in single-sided joins$1.39M (BIP-930)

The third line came ten months later. V1 pools, deployed in 2020 with immutable code and no pause switch, were hit on 31 August 2026 through a fixed-point rounding weakness, then by copycats, while whitehats raced them with block-builder payments, according to BIP-930, which counts 120 affected pools.

Balancer is winding down: what the vote decided

On 23 March 2026, Martinelli announced the closure of Balancer Labs, the company behind the protocol, writing that it “has become a liability rather than an asset” and citing legal exposure from the exploit and a lack of revenue. Token holders then backed a restructuring. It did not produce the growth it needed, according to the proposal that followed: most revenue still came from v2.

That proposal, BIP-928, was posted on 14 September 2026. After a voting-power error was fixed and the Snapshot vote reset, it closed on 29 September with about 17.1 million BAL-weighted votes in favour across two Yes options and about 140,000 against. Only 42 voters took part. The published schedule says:

  • On 30 October 2026, pools that can be paused move to withdrawals only. Where a pool’s contracts require it, recovery mode is enabled so that withdrawals stay open.
  • Pools that cannot be paused keep working, with the protocol fee set to zero where the contracts allow it.
  • Some v3 pools stay live until 30 November 2026 at their partners’ request. BIP-936 names nine partners, including Rocket Pool and StakeWise. The v3 Vault is then paused.
  • Bug bounty coverage ends on 30 October for every pool.
  • The treasury, at least $9 million at the token prices of September, goes to BAL holders who burn their tokens, in a first round opening at the end of May 2027. BIP-936 ends DAO governance on 1 June 2027.

This lesson was written on 30 October itself: we verified the votes and the published schedule, not whether each step has been executed on-chain. BIP-936 also limits the pause to pools still inside their pausable window. BIP-928 says the contracts are non-custodial, so withdrawing does not depend on anyone continuing to operate them. It also says that pools differ, so the treatment of your own pool is the one to look up. BIP-936 adds a detail for the long term: the v3 Vault unpauses by itself on 12 May 2029, which its authors call unavoidable.

Forgotten positions are the practical risk. A forum post of 23 October reports more than $500,000 of assets found in v3 buffer shares and legacy rewards, which portfolio dashboards can miss. It points to the legacy interface and a manual exit guide. Reach those from the official forum post, because a shutdown is an easy cover for fake “claim” and “migration” sites. None of this is advice on what to do with a position.

As of 30 October 2026, DefiLlama shows $16.6 million in Balancer V2, $14.1 million in V3 and $5.2 million in V1. An official, grant-funded fork, BIP-929, was rejected. BIP-932, a blessing for an independent fork without a grant, passed with nine voters, and we found no launch.

Maverick moves liquidity for the LP

Concentrated positions fall out of range and must be moved, by the LP or by a manager. Maverick builds the move into the contract. Its documentation offers four modes. Mode Right follows the price up, Mode Left follows it down, Mode Both follows it either way, and Mode Static stays put. Liquidity shifts according to a time-weighted average price, and the LP pays no gas for the shift.

A trailing position has its own cost, and Maverick’s docs have a page on “permanent loss”. When a position follows the price, it no longer waits for a return to the entry price, so the loss that is only “impermanent” in a fixed range can stop being temporary.

Maverick is active but small. On 30 October 2026, DefiLlama shows $0.97 million of staking or liquidity, measured at current market prices. It is the main size metric in DeFi.">TVL for Maverick V2 across four chains, against $134.8 million of volume in 30 days and $5,800 of fees. We could not establish why usage stayed this low.

Raydium, Orca and Meteora: Solana DEXs built on cheap transactions

Concentrated liquidity asks LPs to adjust often. On Ethereum mainnet that means gas every time. On Solana, Orca’s docs put a typical transaction at about 0.000005 to 0.00001 SOL, plus a refundable position rent of 0.0088 SOL. Frequent rebalancing stops being a cost that decides the strategy, and that shapes everything these venues build. Over the 30 days to 30 October 2026, DefiLlama counts $59.3 billion of DEX volume on Solana against $39.6 billion on Ethereum.

Protocol (DefiLlama name)TVL24h volume30d volume30d fees
Curve DEX$1,117M$1,074M$3,221M$4.12M
Balancer V2$16.6M$3.0M$62.1M$75,600
Balancer V3$14.1M$1.71M$71.5M$43,400
Maverick V2$0.97M$4.6M$134.8M$5,800
Raydium (AMM listing)$1,090M$213.4M$5,236M$11.86M
Orca DEX$290.7M$448.8M$7,477M$7.06M
Meteora DLMM$147.6M$130.3M$3,708M$24.3M
PumpSwap$328.0M$118.7M$8,952M$105.9M
pump.fun (bonding curve)n/a$122.7M$4,541M$61.9M

All figures are from DefiLlama, retrieved on 30 October 2026, and they are reported volume, which says nothing about how many distinct traders stand behind it. Fees are what traders paid, not what LPs kept. Curve’s line covers all its chains. On Ethereum alone DefiLlama counts $3.03 billion, which by our calculation is about 7.7% of that chain’s DEX volume over 30 days. PumpSwap took about 15% of Solana’s.

Raydium went live in February 2021, according to its docs, as a hybrid AMM tied to Serum’s on-chain order book. Today it offers constant-product pools and concentrated pools in the Uniswap v3 style, plus LaunchLab, a bonding-curve launchpad that competes with pump.fun.

Orca centres on Whirlpools, its concentrated liquidity protocol. Its docs list fee tiers from 0.01% to 2.00%, adaptive fees that rise with volatility, and a split of each trade’s fee: 87% to LPs, 12% to the Orca DAO treasury and 1% to a climate fund.

Meteora’s DLMM takes another route. Liquidity sits in discrete price bins, a ladder in which each step is one “bin step” away from the next. Its formulas show a constant-sum rule inside each bin, L = P·x + y, so a trade has zero price impact until it uses up the active bin. With a bin step of 25 basis points, neighbouring prices sit about 0.25% apart. Curve stayed flat around one peg; DLMM builds a staircase of small flat steps wherever the LP places them.

Meteora and the LIBRA case: what a court did and did not decide

The LIBRA token launched on Solana on 14 February 2025. Trading surged after a post by Argentina’s president, Javier Milei, and the price collapsed within hours. Investors sued in New York, alleging fraud and racketeering around LIBRA and an earlier token, M3M3. They alleged that Meteora and former chief executive Benjamin Chow took part, including through help with liquidity infrastructure.

On 29 September 2026, Judge Jennifer Rochon of the Southern District of New York dismissed the amended complaint with prejudice and closed the case, in an opinion and order in Hurlock v. Kelsier Labs. She found no pattern of racketeering, because the conduct alleged was too short and showed no continuing threat, no adequately pleaded fraudulent intent by Chow, and no pleading that Meteora is capable of being sued. Non-RICO claims against the Kelsier defendants fell for lack of personal jurisdiction, which is no ruling on their substance. She also refused a second amended complaint as futile. It was a decision on the pleadings, not a finding that the launches were clean. Crypto.news reported on 2 October that separate proceedings continue in Argentina, and we found no report of an appeal.

Bonding curves: how pump.fun prices a token before it has a market

A bonding curve is a price formula with one seller: the contract itself. It needs no LPs and no starting liquidity, because the curve quotes a price for every token sold. For a brand-new coin, that solves the problem an AMM cannot: nobody has to fund a pool first.

Pump.fun uses a familiar shape. Its public documentation says the curve “is based on Uniswap V2 and uses synthetic x and y reserves”. That is the x·y=k of our AMM maths lesson, seeded with virtual balances that nobody deposited.

The 85 SOL figure is a result of the parameters

The program’s settings read 1,073,000,000 virtual tokens, 30 virtual SOL, 793,100,000 tokens for sale and a supply of 1 billion. The rest is arithmetic, and we ignore fees here. k is 1.073 billion times 30, or 32.19 billion. The first price is 30 / 1.073 billion, about 0.000000028 SOL per token. Selling all 793.1 million tokens leaves 279.9 million virtual tokens, which forces virtual SOL to 115.0. Subtract the virtual 30 and the buyers have paid in 85 SOL.

So the “85 SOL graduation” often quoted is no setting. It follows from those reserve parameters, and it would change if they did. The last price on the curve is about 14.7 times the first. The remaining 206.9 million tokens and the 85 SOL then seed the AMM pool at about the same price, 410.8 against 410.9 SOL of implied full value, so the market continues without a jump.

A rocket above a rising line with a warning sign nearby
The price at the end of the pump.fun curve is about 14.7 times the first price, and early buyers hold the gap.

The curve rewards being early by a wide margin, as these fee-free amounts show.

SOL paid at the startTokens receivedShare of supply
1 SOL34.6 million3.46%
10 SOL268.3 million26.8%
50 SOL670.6 million67.1%

One buyer with 50 SOL would hold two thirds of the supply. A bot that buys in the first block pays the first price. Everyone else buys higher, and the only exit before graduation is selling back into the same curve.

Graduation to PumpSwap, and how few tokens get there

Tokens used to move to Raydium for a 6 SOL fee. On 20 March 2025, The Block reported that pump.fun had launched PumpSwap, its own constant-product AMM, with no migration fee and a 0.25% trade fee: 0.20% to LPs and 0.05% to the protocol. The program notes say the LP tokens received at migration are burned. Fees have since become dynamic and depend on market cap, so check the current schedule rather than rely on those launch figures. In July 2026, The Block described a mechanism called BOOST, which uses part of the migration liquidity for automatic buys in the five minutes after graduation and burns what it buys.

Few tokens reach that stage. Reports from mid-June 2026 put the seven-day average graduation rate at 0.26%, a figure KuCoin relayed from Odaily. The Block wrote on 29 July that the rate had reached 6.7% the previous Friday, about eight times June’s average, and linked the jump to BOOST, which acts only after a token has bonded and so works by making traders bid harder. One is a weekly average and the other a single day, so they cannot be compared directly. A widely repeated claim that 98% of pump.fun tokens lose their value has no study behind it that we could find; it seems to come from graduation rates, and failing to graduate is not the same as losing value, even if the trader’s result may be similar. Our guide to how rug pulls work covers what to look at on a new token, and this lesson gives no opinion on buying one.

In the United States, the Division of Corporation Finance at the SEC said on 27 February 2025 that transactions in the meme coins it described “do not involve the offer and sale of securities under the federal securities laws”. That is a staff view with no legal force, it does not settle any specific coin, and it leaves fraud open to other authorities.

The class action against Baton Corporation, the company behind pump.fun, went further than a statement. In an opinion of 31 August 2026 in Aguilar v. Baton (S.D.N.Y.), Judge Colleen McMahon granted the motions to dismiss in part. RICO claims by two of the three named plaintiffs continue against Baton and three co-founders: she held wire fraud and unlicensed money transmission adequately pleaded as predicate acts, and rejected the illegal gambling theory. She dismissed all claims against Solana Labs, the Solana Foundation and the five Solana executives named, the third plaintiff’s claims, the unjust enrichment count and the Securities Act counts: for the FRED and GRIFFAIN tokens, with prejudice, because no common enterprise was pleaded, and for 18 other tokens, without prejudice, for lack of class standing. What remains against Baton and the co-founders are allegations. Surviving a motion to dismiss is not a finding of liability, and we found no later ruling.

EU law takes another route: a public offer of crypto-assets generally needs a compliant white paper under MiCA. Italy gave a concrete case: Consob decision 23815 of 8 January 2026 found that Fabrizio Corona’s offer of the $CORONA memecoin breached the regulation, with no compliant white paper. Consob’s public notice gives no amount; Italian press citing the decision reported a fine of €200,000.

Choosing between AMM designs, and reading the next one

DesignBuilt forWho adjusts the positionMain weakness
Constant productAny pairNobodyThin depth near the price
StableSwapPegged assetsNobodyA permanent depeg leaves LPs with the failing asset
CryptoSwap, FXSwapVolatile or externally priced pairsThe algorithm, within limitsLiquidity can be left behind in a fast move
Weighted poolsPortfolios, uneven exposureNobody; arbitrage rebalancesThinner depth on the small side
Concentrated rangesActive LPsThe LP or a managerOut-of-range time and amplified loss
Directional modesLPs with a directional viewThe contractLoss may not reverse
Bins (DLMM)Tailored liquidity shapesThe LPUpkeep; the active bin can drain quickly
Bonding curveLaunching a tokenNobodyLate buyers pay the top of the curve

Before trusting any new curve, whichever chain it runs on, a short list catches most of what this lesson has shown:

  • Check who audited which version, and when. A 2021 audit says little about a 2026 deployment.
  • Find the compiler and its version. Curve’s pools were hit through theirs.
  • Ask what happens at extreme balances. Balancer’s bugs appeared near dust amounts, far from normal use.
  • See whether the contract can be paused or upgraded, and by whom. V1’s immutable pools could not be stopped.
  • Separate what traders paid from what LPs kept: DefiLlama’s fee figures show the first.
  • Read the protocol’s governance forum. Balancer’s schedule was public there for six weeks.

Tax and rules for US and UK readers

The IRS digital assets page, last reviewed on 2 September 2026, lists exchanging one digital asset for another as a disposition, so a USDC to USDT swap on Curve counts, even at almost no gain. Non-custodial brokers fall outside the final Form 1099-DA rules, so expect no form from a DEX. Liquidity provider transactions are among those brokers need not report for now under Notice 2024-57, but the page does not say how adding liquidity is taxed. Our US crypto tax guide has the general rules.

For UK readers, HMRC’s Cryptoassets Manual has a DeFi section focused on lending and staking. Its chargeable gains page briefly mentions liquidity providers and liquidity tokens without defining how pools work, so a specific pool may need specific analysis.

The next lesson moves up one layer, to the aggregators that split a single order across all of these pools.

Sources

  1. StableSwap whitepaper, Michael Egorov, 10 November 2019 curve.fi
  2. Curve docs: Stableswap and Cryptoswap pools docs.curve.finance
  3. Curve docs: Cryptoswap in depth docs.curve.finance
  4. Balancer whitepaper, Martinelli and Mushegian, 19 September 2019 docs.balancer.fi
  5. BIP-928, Orderly Winddown of Balancer and Distribution of the Treasury forum.balancer.fi
  6. BIP-936, Onchain Wind-down of Protocol: Specs forum.balancer.fi
  7. Trail of Bits, Balancer hack analysis, 7 November 2025 blog.trailofbits.com
  8. Aguilar v. Baton Corporation, opinion and order, S.D.N.Y., 31 August 2026 storage.courtlistener.com
  9. pump.fun public documentation github.com
  10. Meteora DLMM formulas docs.meteora.ag
  11. Curve 3pool contract (Ann = A·n) github.com
  12. Vyper post-mortem, July 2023 hackmd.io
  13. CertiK, Vyper incident analysis certik.com
  14. Check Point Research, Balancer exploit research.checkpoint.com
  15. BIP-930, Balancer V1 exploit forum.balancer.fi
  16. Hurlock v. Kelsier Labs, opinion and order, S.D.N.Y., 29 September 2026 storage.courtlistener.com
  17. The Block, pump.fun graduation rate and BOOST, 29 July 2026 theblock.co
  18. Consob notice on $CORONA, 23 January 2026 consob.it
Coindaro Editorial Team

Who wrote this article

Editorial team

Guides, reviews and glossary checked against primary sources

  • Crypto education
  • Exchange reviews
  • Wallets
  • Glossary

The Coindaro editorial team researches and writes every article, review and guide published on Coindaro. Each fact is checked against primary sources such as official documents, regulators and project documentation, and every page lists its sources. We cover crypto markets, technology and regulation for readers in the United States and Europe, independently and without paid placements.

Keep learning