Claiming Market Rewards

This guide explains how to claim secondary market rewards through a coin's Bonding Curve contract after it has migrated to Uniswap. For coins using Uniswap V3, LP fees must be actively pulled from the Uniswap V3 pool into Base.meme’s Reward Protocol via the method below. For coins using Uniswap V4, LP fees are automatically forwarded into the Reward Protocol on each trade; recipients then claim from the Reward Protocol as usual. Note: For coin's Bonding Curve stage reward, it will automatically deposit into Base.meme's Reward Protocol. No additional step required before reward recipient claim it from Base.meme.

Claim Secondary Market Reward (Uniswap V3)

For coins that use Uniswap V3 pools (created before December 5, 2025), the claimSecondaryRewards method withdraws LP fees from the Uniswap V3 pool and deposits them into Base.meme's Reward Protocol according to the defined reward structure. After this step, reward recipients can claim their rewards from Base.meme’s Reward Protocol like other rewards.

Method Interface

// solidity interface
/// @notice Migrate a graduated token to Liquidity pool (DEX)
///
/// @param pushEthRewards Whether to automatically transfer ETH or native token rewards into receipient wallet
function claimSecondaryRewards(bool pushEthRewards) external;

Events

Upon successful claim a LiquidityRewardsDistributed event will be emitted

/// @notice emitted when claim secondary reward invoked
///
/// @param payoutRecipient The reward receiving address, usually creator
/// @param platformReferrer The Trade Referrer reward receiving address, if applicable
/// @param protocolRewardRecipient The platform fee receiving address
event LiquidityRewardsDistributed(
    address indexed payoutRecipient,
    address indexed platformReferrer,
    address protocolRewardRecipient,
    LiquidityRewards liquidityRewards
);

/// @notice The LiquidityRewards type
/// 
/// @params totalAmountCurrency The total collateral amount claimed
/// @params totalAmountCoin The total Coin amouint claimed
/// @params creatorPayoutAmountCurrency The total collateral amount for creator
/// @params creatorPayoutAmountCoin The total coin amount for creator
/// @params platformReferrerAmountCurrency The total collateral amount for Trade Referrer
/// @params platformReferrerAmountCoin The total coin amount for Trade Referrer
/// @params protocolAmountCurrency The total collateral amount for platform
/// @params protocolAmountCoin The total coin amount for platform
struct LiquidityRewards {
    uint256 totalAmountCurrency;
    uint256 totalAmountCoin;
    uint256 creatorPayoutAmountCurrency;
    uint256 creatorPayoutAmountCoin;
    uint256 platformReferrerAmountCurrency;
    uint256 platformReferrerAmountCoin;
    uint256 protocolAmountCurrency;
    uint256 protocolAmountCoin;
}

Last updated