Skip to main content

Supported Protocols

LaserSell routes swaps through multiple Solana DEX protocols. The market_type field in MarketContextMsg identifies which protocol is being used for a given token.
market_typeProtocolTypeDescription
pump_funPump.funBonding curveOriginal Pump.fun bonding curve.
pump_swapPumpSwapAMMGraduated Pump.fun tokens on the PumpSwap AMM.
meteora_dbcMeteora DBCDynamic bondingMeteora dynamic bonding curve pools.
meteora_damm_v2Meteora DAMM V2AMMMeteora dynamic AMM V2 pools.
raydium_launchpadRaydium LaunchpadBonding curveRaydium launchpad bonding curve tokens.
raydium_cpmmRaydium CPMMAMMRaydium constant product market maker pools.

Bonding Curves vs AMM Pools

Bonding curve protocols (pump_fun, meteora_dbc, raydium_launchpad) use a mathematical curve to determine price. Tokens on bonding curves may later graduate to a full AMM pool. AMM protocols (pump_swap, meteora_damm_v2, raydium_cpmm) use constant product or dynamic liquidity pools. These offer deeper liquidity and standard swap mechanics.

Graduation

Some tokens launch on a bonding curve and later “graduate” to an AMM when certain conditions are met (usually a market cap threshold). LaserSell detects graduation events and can automatically sell on graduation if sell_on_graduation: true is set in your strategy.
Source CurveGraduates To
pump_funpump_swap
meteora_dbcmeteora_damm_v2
raydium_launchpadraydium_cpmm
When graduation occurs, the Exit Intelligence Stream updates the market_context and continues tracking seamlessly.

Launchpad Coverage

LaserSell monitors all major Solana token launchpads:
  • Pump.fun: The most popular memecoin launchpad. Tokens start on a bonding curve and graduate to PumpSwap.
  • Meteora: Dynamic bonding curves that graduate to DAMM V2 pools.
  • Raydium Launchpad: Raydium’s native launchpad with graduation to CPMM pools.
New protocols are added as they gain adoption on Solana. The market_type enum will expand accordingly.

Using Market Context

The market_context is included in position_opened and exit_signal_with_tx events. You can also pass it in a BuildSellTxRequest to skip server side resolution:
{
  "market_type": "pump_swap",
  "pumpswap": {
    "pool": "PoolAddress..."
  }
}
See Market Context for the full nested schema per protocol.