openapi: 3.1.0 info: title: Boost V2 Action RewardKitTrending API description: Get Boosts and sign claims for the Boost Validator termsOfService: https://rabbithole-assets.s3.amazonaws.com/BoostStudios_Terms_Of_Service.pdf contact: url: https://airtable.com/appPys6nAx8smVpTA/shrqpPGsDx2W6oY24 email: support@boost.xyz version: 2.0.0 servers: - url: https://api-v2.boost.xyz description: Boost V2 tags: - name: RewardKitTrending paths: /reward-kit/trending: get: operationId: getRewardKitTrending summary: Get trending rewards description: Returns a list of boosts that are trending based on the volume in the specified time period (1h or 24h). tags: - RewardKitTrending parameters: - schema: type: string description: Filter boosts by budget account address(es). Accepts a single address or comma-separated list of addresses example: 0x378632819f39c74c4f56b1429e760739c5fb51b7,0x1234567890123456789012345678901234567890 required: false in: query name: budgetAccount - schema: type: string description: Filter boosts by a specific owner address example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ required: false in: query name: owner - schema: type: string description: Filter boosts by a specific autoboost ID required: false in: query name: autoboostId - schema: type: - integer - 'null' minimum: 0 description: Only retrieve Boosts for a specific chain ID. You must supply this parameter if also specifying `targetContract` required: false in: query name: chainId - schema: type: string description: Retrieve rewards configured with actions that target a specific contract i.e., Zora's address for all rewards that require a mint in order to claim a reward. If you supply this parameter, you must also supply chainId example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ required: false in: query name: targetContract - schema: type: string description: Retrieve rewards configured with specific token addresses example: chainId:tokenAddress,chainId:tokenAddress:collection,... required: false in: query name: tokens - schema: type: string description: Filter boosts by comma separated list of distribution channels example: distributionChannel=public,farcaster required: false in: query name: distributionChannel - schema: type: string enum: - 1h - 24h default: 1h description: Sort trending boosts by volume in the specified time period example: 24h required: false in: query name: sortBy - schema: type: - boolean - 'null' default: true description: Filter boosts by token whitelist required: false in: query name: tokenWhitelist - schema: type: string description: Filter rewards by a reward's creator address example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ required: false in: query name: creatorAddress - schema: type: string description: Show relevant rewards for this user's address example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ required: true in: query name: claimantAddress - schema: description: 'Filter by the type of actions that must be taken to claim the reward, eg: "mint", "swap"' example: swap,mint required: false name: actionType in: query - schema: description: 'Exclude rewards with these action types, eg: "mint", "swap"' example: mint,create-any-token required: false name: excludeActionType in: query - schema: type: - boolean - 'null' description: Include token metadata (price, market cap, etc.) for swap actions. Defaults to false. example: true required: false in: query name: includeTokenMetadata responses: '200': description: Returns a user's RewardKit profile content: application/json: schema: type: object properties: trendingBoosts: type: array items: type: object properties: id: type: string description: The reward identifier in the form of "chainId:boostCoreAddress:identifier" example: 8453:0x378632819f39c74c4f56b1429e760739c5fb51b7:1 chainId: type: number description: The chain id of the network where the reward is being offered incentives: type: array items: type: object properties: type: type: string enum: - AllowListIncentive - CGDAIncentive - ERC20Incentive - PointsIncentive - ERC20VariableIncentive - ERC20VariableCriteriaIncentive - ERC20VariableCriteriaIncentiveV2 - ERC20PeggedIncentive - ERC20PeggedVariableCriteriaIncentive - ERC20PeggedVariableCriteriaIncentiveV2 description: Human readable label for the incentive type assetAddress: type: string description: Address of the asset being rewarded example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ rewardPercentage: type: number description: For variable criteria incentives, the percent as a whole number (0-100) of the signed claim amount the claimant will receive example: 50 rebatePercentage: type: number description: 'Alias for rewardPercentage (for v2 parity). For variable criteria incentives, the rebate percentage as a whole number. Deprecated: use rewardPercentage instead.' example: 7 deprecated: true rewardAmount: type: string description: For variable criteria incentives, the maximum amount that can be claimed in a single transaction. Otherwise, the fixed reward value. If reward is queried with a claimant address, and the user has performed the requisite claim action, and reward is in a claimable state, this will be the claimable amount. rewardAmountFormatted: type: string description: Formatted amount of reward tokens maxReward: type: string description: Maximum amount of reward tokens that can be claimed maxRewardUsdValue: type: number description: Approximate USD value of the maximum reward that can be claimed rewardUsdValue: type: number description: Approximate amount of USD that can be claimed tokenSymbol: type: string description: 'The symbol of the token being rewarded, ie: USDC' tokenImageUri: type: string description: A url for the token image metadata: type: - object - 'null' properties: id: type: string description: The system ID of the token chainId: type: number description: The chain ID where this token is deployed address: type: string description: The address of the token example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ decimals: type: number description: The number of decimal places for the token, typically 18 name: type: string description: The display name for the token symbol: type: string description: The token's symbol, "DEGEN" for example imageUri: type: string description: A URI pointing to an image representing the token required: - id - chainId - address - decimals - name - symbol - imageUri description: Additional metadata about the asset being rewarded required: - type description: An individual incentive that can be offered as part of a reward description: The incentives that can be claimed as part of the reward status: type: string enum: - active - claimed - claimable description: The status of the reward, either active, claimable, or claimed txHash: type: string description: The transaction hash of the reward boostName: type: - string - 'null' description: The status of the reward, either active, claimable, or claimed nftImageUri: type: string description: The url of an image to present along with the reward nftName: type: string description: The name of the NFT associated with the reward tokenImageUri: type: string description: The url of an individual token to present along with the reward blockTimestamp: type: string description: The block timestamp of the reward projectUrl: type: string format: uri description: The URL where users can view or interact with this reward's associated project actionTemplate: type: - object - 'null' properties: id: type: string format: uuid description: The action template's system id projectId: type: string description: Human readable project name the action is designed for, eg. "zora" actionType: type: string description: 'Readable system type describing the type of action that must be taken to claim the reward, eg: "mint", "create-any-token"' example: mint projectImage: type: string description: A url for this action template's project image description: type: - string - 'null' description: A description of the action that must be taken to claim the reward category: type: - string - 'null' enum: - defi - nft - gaming - social - bridge - governance - payments - other description: 'The category of the boost action, eg: "defi", "nft", "gaming"' example: defi required: - id - projectId - actionType - projectImage description: An object containing information about the action that must be taken to claim the reward startTime: type: - string - 'null' format: date-time description: Start time of a boost endTime: type: - string - 'null' format: date-time description: End time of a boost claimCount: type: integer minimum: 0 description: The total number of claims for this reward totalBudget: type: string description: The total budget allocated for this reward across all incentives, in the reward token's smallest unit rewardsDistributed: type: string description: The total amount of rewards distributed for this reward, in the reward token's smallest unit signature: type: - object - 'null' properties: claimant: type: string description: Ethereum address example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ incentiveId: type: integer minimum: 0 signature: type: string referrer: type: string description: Ethereum address example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ required: - claimant - incentiveId - signature - referrer description: The claim signature for the reward accessStatus: type: - string - 'null' enum: - allowed - denied - not-allowed description: Determines the access status of the boost for a given address actionTokenMetadata: type: object properties: tokenSymbol: type: string description: The symbol of the token being swapped, e.g., "DEGEN" tokenContract: type: string description: The contract address of the token example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ tokenImage: type: string format: uri description: URL for the token image chainId: type: number description: The chain ID where the token exists decimals: type: number description: The number of decimals for the token marketCap: type: number description: Market capitalization in USD priceChange24Hr: type: number description: Price change percentage in the last 24 hours volume24Hr: type: number description: Trading volume in USD for the last 24 hours priceUsd: type: number description: Current price in USD holders: type: number description: Number of token holders required: - tokenSymbol - tokenContract - chainId description: Metadata for tokens, including price and market data verificationLevel: type: - string - 'null' description: Verification level required for boosts in the World ecosystem usdDistributed24Hr: type: number minimum: 0 description: Volume in USD for the last 24 hours example: 12345.67 usdDistributed1Hr: type: number minimum: 0 description: Volume in USD for the last hour example: 1234.56 required: - id - chainId - incentives - actionTemplate description: A single RewardKit reward, with incentives, and additional configuration description: An array of active RewardKit rewards that are trending required: - trendingBoosts description: Trending rewards and metadata that correspond to the RewardKit for a user's address '400': description: Validation failed content: application/json: schema: type: object properties: error: anyOf: - type: string - type: object properties: message: type: string description: Human readable message for error that occured code: type: number description: Error code for error that occured, will typically be the HTTP status code required: - message description: A generic error object that can be used to represent any error that occurs in the system. required: - error