---
title: "GET /api/v2/merkl/opportunity/{tokenId}"
method: GET
path: "/api/v2/merkl/opportunity/{tokenId}"
tags: ["merkl"]
---

# GET /api/v2/merkl/opportunity/{tokenId}

`GET /api/v2/merkl/opportunity/{tokenId}`

Get Merkl opportunity

## Path parameters

- `tokenId` string, required

## Response `200`

Merkl opportunity

- object
  - `id` string, required
  - `type` string, required
  - `identifier` string, required
  - `chainId` number, required
  - `name` string, required
  - `description` string, required
  - `howToSteps` string[], required
  - `status` 'LIVE' | 'NONE' | 'PAST' | 'SOON', required
  - `action` 'BORROW' | 'DROP' | 'HOLD' | 'INVALID' | 'LEND' | 'LONG' | 'POOL' | 'SHORT' | 'STAKE' | 'SWAP', required
  - `tags` string[], required
  - `mainProtocol` string
  - `depositUrl` string
  - `depositUrls` object[]
    - `id` string, required
    - `title` string, required
    - `url` string, required
    - `subtitle` string
    - `icon` string
    - `priority` number, required
  - `explorerAddress` string
  - `hidden` boolean
  - `tvl` number, required
  - `apr` number, required
  - `dailyRewards` number, required
  - `maxDailyRewards` number, nullable
  - `liveCampaigns` number, required
  - `lastCampaignCreatedAt` number, required
  - `earliestCampaignStart` union
    - string
    - number
  - `latestCampaignStart` union
    - string
    - number
  - `earliestCampaignEnd` union
    - string
    - number
  - `latestCampaignEnd` union
    - string
    - number
  - `nativeApr` number
  - `maxApr` number, nullable
  - `liveCampaignsForCreator` number
  - `soonCampaignsForCreator` number
  - `pastCampaignsForCreator` number
  - `distributionType` string
  - `tokens` object[], required
    - `id` string, required
    - `name` string, nullable, required
    - `chainId` number, required
    - `address` string, required
    - `decimals` number, required
    - `symbol` string, required
    - `icon` string, required
    - `verified` boolean, required
    - `isNative` boolean, required
    - `isTest` boolean, required
    - `type` 'POINT' | 'PRETGE' | 'TOKEN', required
    - `price` number, nullable
    - `updatedAt` number, nullable
    - `priceSource` string, nullable
    - `displaySymbol` string
    - `underlyingTokenId` string
    - `priceAlertDismissedAt` number
    - `priceAlertCount` number
  - `chain` object, required
    - `id` number, required
    - `name` string, required
    - `icon` string, required
    - `liveCampaigns` number, required
    - `endOfDisputePeriod` number, required
    - `explorers` object[]
      - `type` string, required
      - `url` string, required
      - `chainId` number, required
    - `lastClaimsOnchainFetchTimestamp` string, nullable, required
  - `activePrograms` object[], required
    - `id` string, required
    - `name` string, required
    - `slug` string, nullable
    - `description` string
    - `icon` string
  - `protocol` object, nullable
    - `id` string, required
    - `name` string, required
    - `icon` string, required
    - `tags` string[], required
    - `description` string, required
    - `url` string, required
    - `dailyRewards` number
    - `numberOfLiveCampaigns` number
    - `opportunityLiveTags` string[]
    - `banner` string, nullable, required
    - `opportunityBannerLight` string, nullable, required
    - `opportunityBannerDark` string, nullable, required
  - `aprRecord` object
    - `cumulated` number, required
    - `timestamp` union, required
      - string
      - number
    - `breakdowns` object[], required
      - `identifier` string, required
      - `type` 'CAMPAIGN' | 'PROTOCOL' | 'TOKEN', required
      - `value` number, required
      - `timestamp` union, required
        - string
        - number
      - `distributionType` string
  - `nativeAprRecord` object
    - `title` string, required
    - `description` string
    - `value` number, required
    - `timestamp` union, required
      - string
      - number
    - `amount` union
      - string
      - number
    - `rewardToken` object
      - `id` string, required
      - `name` string, nullable, required
      - `chainId` number, required
      - `address` string, required
      - `decimals` number, required
      - `symbol` string, required
      - `icon` string, required
      - `verified` boolean, required
      - `isNative` boolean, required
      - `isTest` boolean, required
      - `type` 'POINT' | 'PRETGE' | 'TOKEN', required
      - `price` number, nullable
      - `updatedAt` number, nullable
      - `priceSource` string, nullable
      - `displaySymbol` string
      - `underlyingTokenId` string
      - `priceAlertDismissedAt` number
      - `priceAlertCount` number
  - `tvlRecord` object
    - `total` number, required
    - `timestamp` union, required
      - string
      - number
    - `breakdowns` object[], required
      - `identifier` string, required
      - `type` 'PROTOCOL' | 'TOKEN', required
      - `value` number, required
  - `rewardsRecord` object
    - `total` number, required
    - `timestamp` union, required
      - string
      - number
    - `breakdowns` object[], required
      - `campaignId` string, required
      - `value` number, required
      - `maxValue` number
      - `timestamp` union, required
        - string
        - number
      - `token` object, required
        - `id` string, required
        - `name` string, nullable, required
        - `chainId` number, required
        - `address` string, required
        - `decimals` number, required
        - `symbol` string, required
        - `icon` string, required
        - `verified` boolean, required
        - `isNative` boolean, required
        - `isTest` boolean, required
        - `type` 'POINT' | 'PRETGE' | 'TOKEN', required
        - `price` number, nullable
        - `updatedAt` number, nullable
        - `priceSource` string, nullable
        - `displaySymbol` string
        - `underlyingTokenId` string
        - `priceAlertDismissedAt` number
        - `priceAlertCount` number
      - `amount` string, required
      - `distributionType` string
      - `onChainCampaignId` string
  - `campaigns` object[]
    - `id` string, required
    - `computeChainId` number, required
    - `distributionChainId` number, required
    - `campaignId` string, required
    - `type` string, required
    - `subType` number, nullable
    - `amount` string, required
    - `startTimestamp` union, required
      - string
      - number
    - `endTimestamp` union, required
      - string
      - number
    - `creatorAddress` string, required
    - `apr` number
    - `dailyRewards` number
    - `creator` object
      - `address` string, required
      - `tags` string[]
      - `creatorId` string, nullable
    - `params` unknown, required
    - `description` string
    - `chain` object, required
      - `id` number, required
      - `name` string, required
      - `icon` string, required
      - `liveCampaigns` number, required
      - `endOfDisputePeriod` number, required
      - `explorers` object[]
        - `type` string, required
        - `url` string, required
        - `chainId` number, required
      - `lastClaimsOnchainFetchTimestamp` string, nullable, required
    - `rewardTokenId` string
    - `rewardToken` object, required
      - `id` string, required
      - `name` string, nullable, required
      - `chainId` number, required
      - `address` string, required
      - `decimals` number, required
      - `symbol` string, required
      - `icon` string, required
      - `verified` boolean, required
      - `isNative` boolean, required
      - `isTest` boolean, required
      - `type` 'POINT' | 'PRETGE' | 'TOKEN', required
      - `price` number, nullable
      - `updatedAt` number, nullable
      - `priceSource` string, nullable
      - `displaySymbol` string
      - `underlyingTokenId` string
      - `priceAlertDismissedAt` number
      - `priceAlertCount` number
    - `opportunityId` string
    - `distributionChain` object
      - `id` number, required
      - `name` string, required
      - `icon` string, required
      - `liveCampaigns` number, required
      - `endOfDisputePeriod` number, required
      - `explorers` object[]
        - `type` string, required
        - `url` string, required
        - `chainId` number, required
      - `lastClaimsOnchainFetchTimestamp` string, nullable, required
    - `distributionType` string
    - `campaignStatus` object, required
      - `campaignId` string, required
      - `computedUntil` union, required
        - string
        - number
      - `processingStarted` union, required
        - string
        - number
      - `status` string, required
      - `preComputeProcessingStarted` union, required
        - string
        - number
      - `preComputeStatus` string, required
      - `delay` number
      - `error` string
      - `details` unknown
    - `createdAt` string, required
    - `rootCampaignId` string, nullable
    - `parentCampaignId` string, nullable
    - `childCampaignIds` string[]
    - `dailyRewardsBreakdown` object[]
      - `campaignId` string, required
      - `value` number, required
      - `maxValue` number
      - `timestamp` union, required
        - string
        - number
      - `token` object, required
        - `id` string, required
        - `name` string, nullable, required
        - `chainId` number, required
        - `address` string, required
        - `decimals` number, required
        - `symbol` string, required
        - `icon` string, required
        - `verified` boolean, required
        - `isNative` boolean, required
        - `isTest` boolean, required
        - `type` 'POINT' | 'PRETGE' | 'TOKEN', required
        - `price` number, nullable
        - `updatedAt` number, nullable
        - `priceSource` string, nullable
        - `displaySymbol` string
        - `underlyingTokenId` string
        - `priceAlertDismissedAt` number
        - `priceAlertCount` number
      - `amount` string, required
      - `distributionType` string
      - `onChainCampaignId` string
    - `pauseCompute` string, nullable
    - `pausePrecompute` string, nullable
    - `hasOverrides` boolean
    - `isPrivate` boolean, required
    - `campaignEncodingHash` string

---

[API](https://skmtc.net/originprotocol/apis/defi-analytics.md) · [All operations](https://skmtc.net/originprotocol/apis/defi-analytics/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/originprotocol/defi-analytics/revisions/71c64ee4f1f3/schema)
