get
/v4/opportunities/{id}/campaigns
Get a unique opportunity by ID (hash) or composite identifier (chainId-type-identifier), including related campaigns. Use query parameters to filter results.
Path parameters
idstringrequired
Query parameters
testbooleanpointbooleantokenTypesenum[]TOKENPRETGEPOINTcampaignsbooleandefault: falseexcludeSubCampaignsbooleandefault: falseResponses
200Response for status 200
Schema
object
idstringtypestringidentifierstringchainIdnumbernamestringdescriptionstringhowToStepsstring[]statusenumNONEPASTLIVESOONactionenumPOOLHOLDDROPLENDBORROWLONGSHORTSWAPINVALIDSTAKEtagsstring[]mainProtocolstringdepositUrlstringdepositUrlsobject[]
idstringtitlestringurlstringsubtitlestringiconstringprioritynumberexplorerAddressstringhiddenbooleantvlnumberaprnumberdailyRewardsnumbermaxDailyRewardsnumber | nullliveCampaignsnumberlastCampaignCreatedAtnumberearliestCampaignStartbigint | stringlatestCampaignStartbigint | stringearliestCampaignEndbigint | stringlatestCampaignEndbigint | stringnativeAprnumbertotalAprnumbermaxAprnumber | nullliveCampaignsForCreatornumbersoonCampaignsForCreatornumberpastCampaignsForCreatornumberdistributionTypestringtokensobject[]
idstringUnique identifier for the tokennamestring | nullFull name of the tokenchainIdintegerChain IdaddressstringAddressdecimalsnumberNumber of decimals for the tokensymbolstringSymbol of the tokeniconstringURL to the token icon imageverifiedbooleanWhether the token is verifiedisNativebooleanWhether this is a native blockchain tokenisTestbooleanWhether this is a test tokentypeenumType of the token (TOKEN, PRETGE, POINT)TOKENPRETGEPOINTpricenumber | nullCurrent price of the token in USDupdatedAtnumber | nullUnix timestamp of last price updatepriceSourcestring | nullSource of the price informationdisplaySymbolstringCustom display symbol overrideunderlyingTokenIdstringIf this token is a wrapper, the ID of the underlying tokenpriceAlertDismissedAtnumberpriceAlertCountnumberchainobjectChain
idintegerrequired
Chain Idnamestringrequired
Legible name of the chainiconstringrequired
URL to the icon of the chainliveCampaignsnumberrequired
Number of campaigns currently live on this chainendOfDisputePeriodnumberrequired
explorersobject[]
typeenumETHERSCANBLOCKSCOUTSOLSCANurlstringchainIdnumberlastClaimsOnchainFetchTimestampstring | nullrequired
Timestamp of the last claims onchain fetchactiveProgramsobject[]
idstringnamestringslugstring | nulldescriptionstringiconstringprotocolobject | null
idstringnamestringiconstringtagsstring[]descriptionstringurlstringdailyRewardsnumbernumberOfLiveCampaignsnumberopportunityLiveTagsstring[]bannerstring | nullopportunityBannerLightstring | nullopportunityBannerDarkstring | nulltrustDataobject | null
slugstringcategorystring | nullauditsstring | nullaudit_linksstring[]audit_notestring | nullgithubstring[]twitterstring | nulllistedAtnumber | nullparentProtocolstring | nulltvlnumber | nullhacksobject[]
datenumbernamestring | nullamountUSDnumber | nulltechniquestring | nullsourcestring | nullsyncedAtnumberaprRecordobject
cumulatednumberrequired
timestampbigint | stringrequired
breakdownsobject[]required
identifierstringtypeenumCAMPAIGNTOKENPROTOCOLvaluenumbertimestampbigint | stringdistributionTypeenumDUTCH_AUCTIONFIX_REWARD_VALUE_PER_LIQUIDITY_VALUEFIX_REWARD_AMOUNT_PER_LIQUIDITY_VALUEFIX_REWARD_VALUE_PER_LIQUIDITY_AMOUNTFIX_REWARD_AMOUNT_PER_LIQUIDITY_AMOUNTMAX_REWARD_VALUE_PER_LIQUIDITY_VALUEMAX_REWARD_AMOUNT_PER_LIQUIDITY_VALUEMAX_REWARD_VALUE_PER_LIQUIDITY_AMOUNTMAX_REWARD_AMOUNT_PER_LIQUIDITY_AMOUNTAAVE_NET_APRERC4626_APRERC4626_SPREAD_CAPPEDAAVE_V4_NET_APRDEEL_DISTRIBUTIONSOFR_SPREAD_RATCHETERC4626_TARGET_APR_WITH_MERKLTARGET_APR_WITH_MERKLNET_APRBORROW_SUBSIDYNET_APR_WITH_MERKLYIELD_BASIS_PIDnativeAprRecordobject
titlestringrequired
descriptionstringvaluenumberrequired
timestampbigint | stringrequired
amountbigintrewardTokenobjectToken
idstringrequired
Unique identifier for the tokennamestring | nullrequired
Full name of the tokenchainIdintegerrequired
Chain Idaddressstringrequired
Addressdecimalsnumberrequired
Number of decimals for the tokensymbolstringrequired
Symbol of the tokeniconstringrequired
URL to the token icon imageverifiedbooleanrequired
Whether the token is verifiedisNativebooleanrequired
Whether this is a native blockchain tokenisTestbooleanrequired
Whether this is a test tokentypeenumrequired
Type of the token (TOKEN, PRETGE, POINT)TOKENPRETGEPOINTpricenumber | nullCurrent price of the token in USDupdatedAtnumber | nullUnix timestamp of last price updatepriceSourcestring | nullSource of the price informationdisplaySymbolstringCustom display symbol overrideunderlyingTokenIdstringIf this token is a wrapper, the ID of the underlying tokenpriceAlertDismissedAtnumberpriceAlertCountnumbertvlRecordobject
totalnumberrequired
timestampbigint | stringrequired
breakdownsobject[]required
identifierstringtypeenumTOKENPROTOCOLvaluenumberrewardsRecordobject
totalnumberrequired
timestampbigint | stringrequired
breakdownsobject[]required
campaignIdstringvaluenumbermaxValuenumbertimestampbigint | stringtokenobjectToken
idstringrequired
Unique identifier for the tokennamestring | nullrequired
Full name of the tokenchainIdintegerrequired
Chain Idaddressstringrequired
Addressdecimalsnumberrequired
Number of decimals for the tokensymbolstringrequired
Symbol of the tokeniconstringrequired
URL to the token icon imageverifiedbooleanrequired
Whether the token is verifiedisNativebooleanrequired
Whether this is a native blockchain tokenisTestbooleanrequired
Whether this is a test tokentypeenumrequired
Type of the token (TOKEN, PRETGE, POINT)TOKENPRETGEPOINTpricenumber | nullCurrent price of the token in USDupdatedAtnumber | nullUnix timestamp of last price updatepriceSourcestring | nullSource of the price informationdisplaySymbolstringCustom display symbol overrideunderlyingTokenIdstringIf this token is a wrapper, the ID of the underlying tokenpriceAlertDismissedAtnumberpriceAlertCountnumberamountbigint | stringdistributionTypeenumDUTCH_AUCTIONFIX_REWARD_VALUE_PER_LIQUIDITY_VALUEFIX_REWARD_AMOUNT_PER_LIQUIDITY_VALUEFIX_REWARD_VALUE_PER_LIQUIDITY_AMOUNTFIX_REWARD_AMOUNT_PER_LIQUIDITY_AMOUNTMAX_REWARD_VALUE_PER_LIQUIDITY_VALUEMAX_REWARD_AMOUNT_PER_LIQUIDITY_VALUEMAX_REWARD_VALUE_PER_LIQUIDITY_AMOUNTMAX_REWARD_AMOUNT_PER_LIQUIDITY_AMOUNTAAVE_NET_APRERC4626_APRERC4626_SPREAD_CAPPEDAAVE_V4_NET_APRDEEL_DISTRIBUTIONSOFR_SPREAD_RATCHETERC4626_TARGET_APR_WITH_MERKLTARGET_APR_WITH_MERKLNET_APRBORROW_SUBSIDYNET_APR_WITH_MERKLYIELD_BASIS_PIDonChainCampaignIdstringExample
{}404Response for status 404
Schema
object
typestringrequired
default: "/errors/not-found"titlestringrequired
default: "Not Found"statusnumberrequired
default: 404detailstringrequired
default: "Not Found"Example
{
"type": "/errors/not-found",
"title": "Not Found",
"status": 404,
"detail": "Not Found"
}500Response for status 500
Schema
object
typestringrequired
URI reference identifying the problem typetitlestringrequired
Short, stable, human-readable summarystatusnumberrequired
HTTP status codedetailstringrequired
Human-readable explanation specific to this occurrenceExample
{
"type": "string",
"title": "string",
"status": 0,
"detail": "string"
}get
https://api.merkl.xyz/v4/opportunities/{id}/campaignscurl -X GET "https://api.merkl.xyz/v4/opportunities/{id}/campaigns"Fill the required path parameter id to send.