Boost RewardKitTrending API

The RewardKitTrending API from Boost — 1 operation(s) for rewardkittrending.

OpenAPI Specification

boost-rewardkittrending-api-openapi.yml Raw ↑
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