# 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](/fees-rewards/rewards-on-base-meme.md). After this step, reward recipients can claim their rewards from Base.meme’s Reward Protocol like other rewards.

### Method Interface

```solidity
// 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

```solidity
/// @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;
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.base.meme/for-developers/claiming-market-rewards.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
