Boost Boost API

The Boost API from Boost — 9 operation(s) for boost.

OpenAPI Specification

boost-boost-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: V2 Action Boost 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: Boost
paths:
  /known-signatures:
    get:
      operationId: getKnownSignatures
      summary: Find event and function signatures used in Boost configurations
      description: Retrieve event or function signatures, human readable signature and their ABI which can be used when configuring Boost Actions.
      tags:
      - Boost
      parameters:
      - schema:
          type:
          - integer
          - 'null'
          minimum: 0
          default: 1
          description: The desired page to return from the query
        required: false
        in: query
        name: page
      - schema:
          type:
          - integer
          - 'null'
          minimum: 0
          maximum: 100
          default: 10
          description: The amount of items to return from the query, defaults to 10, and must be <= 100
        required: false
        in: query
        name: pageSize
      responses:
        '200':
          description: Returns a list of Boosts
          content:
            application/json:
              schema:
                type: object
                properties:
                  signatures:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: A hexadecimal string representing the function or event signature. This string will always start with 0x, and end with the 32 byte signature. If selector is a function, then the 4 byte signature will be left padded with zeroes to 32 bytes.
                          example: '0x00000000000000000000000000000000000000000000000000000000a836f32f'
                        textSignature:
                          type: string
                          description: The human readable function or event signature from the smart contract
                          example: mint(address mintTo,uint256 quantity,address collection,uint256 tokenId,address mintReferral,string comment)
                        abiItem:
                          type: object
                          description: The JSON of the underlying contract's function or event ABI item
                          example:
                            name: mint
                            type: function
                            inputs:
                            - name: mintTo
                              type: address
                            - name: quantity
                              type: uint256
                            - name: collection
                              type: address
                            - name: tokenId
                              type: uint256
                            - name: mintReferral
                              type: address
                            - name: comment
                              type: string
                            outputs: []
                            stateMutability: nonpayable
                        signatureType:
                          type: string
                          description: Defines if this signature is an event or function
                          example: function
                      required:
                      - id
                      - textSignature
                      - signatureType
                      description: An object containing signatures, ABI item JSON, human readable signature, and whether the information is for an event or function
                  count:
                    type: number
                    description: The total number of signatures returned in this api call.
                required:
                - signatures
                - count
  /explore:
    get:
      operationId: exploreBoosts
      summary: Explore contracts with Boosts
      description: Discover Boosts with the most claim activity, along with their action and incentive configurations, and total USD distributed.
      tags:
      - Boost
      parameters:
      - schema:
          type:
          - integer
          - 'null'
          minimum: 0
          default: 1
          description: The desired page to return from the query
        required: false
        in: query
        name: page
      - schema:
          type:
          - integer
          - 'null'
          minimum: 0
          maximum: 100
          default: 10
          description: The amount of items to return from the query, defaults to 10, and must be <= 100
        required: false
        in: query
        name: pageSize
      - schema:
          type: string
          enum:
          - most-completions
          - total-spend
          - recently-deployed
          description: Sort by most total completions, total budget, or recent Boost creations
          example: most-completions
        required: true
        in: query
        name: sortBy
      - schema:
          type: string
          enum:
          - 6h
          - 24h
          - 7d
          default: 7d
          description: The time range to filter by
          example: 7d
        required: false
        in: query
        name: timePeriod
      - schema:
          description: A comma separated list of chain IDs for Boost actions to filter by
          example: 8453,10
        required: false
        in: query
        name: actionChainIds
      - schema:
          type: string
          description: Filter by Boosts created by a specific user address
          example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
          pattern: ^0x[a-fA-F0-9]{40}$
        required: false
        in: query
        name: userAddress
      responses:
        '200':
          description: Returns a list of Boosts
          content:
            application/json:
              schema:
                type: object
                properties:
                  boosts:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: System ID in the format chainId:boostCoreAddress:identifier
                          example: 8453:0x378632819f39c74c4f56b1429e760739c5fb51b7:1
                        action:
                          type: string
                          description: The address of the action
                          example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
                          pattern: ^0x[a-fA-F0-9]{40}$
                        allowList:
                          type:
                          - object
                          - 'null'
                          properties:
                            owner:
                              type: string
                              description: The owner of the allow list, who can modify allowed users
                              example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
                              pattern: ^0x[a-fA-F0-9]{40}$
                            contractAddress:
                              type: string
                              description: The contract address of the allow list
                              example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
                              pattern: ^0x[a-fA-F0-9]{40}$
                            type:
                              type: string
                              enum:
                              - SimpleAllowList
                              - SimpleDenyList
                              - OpenAllowList
                              - OffchainAccessList
                              description: The type of the allow list
                            addresses:
                              type:
                              - array
                              - 'null'
                              items:
                                type: string
                                description: Ethereum address
                                example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
                                pattern: ^0x[a-fA-F0-9]{40}$
                              description: List of addresses allowed or denied
                          required:
                          - owner
                          - contractAddress
                          - type
                          description: An object containing information on who is elligible to claim incentives
                        boostIndex:
                          type: string
                          description: The index of the Boost
                        budget:
                          type: string
                          description: The address of the backing budget contract
                          example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
                          pattern: ^0x[a-fA-F0-9]{40}$
                        incentiveCount:
                          type: string
                          description: The total number of incentives attached to the Boost
                        owner:
                          type: string
                          description: The owner of the Boost
                          example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
                          pattern: ^0x[a-fA-F0-9]{40}$
                        validator:
                          type: string
                          description: The address of the validator who can sign claim payloads
                          example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
                          pattern: ^0x[a-fA-F0-9]{40}$
                        blockTimestamp:
                          type: string
                          description: The timestamp of the block in which the Boost was created
                        txHash:
                          type: string
                          description: The hash of the transaction that created the Boost
                        chainId:
                          type: integer
                          description: The ID of the chain on which the Boost was created
                        actionSteps:
                          type:
                          - array
                          - 'null'
                          items:
                            type: object
                            properties:
                              chainId:
                                type: integer
                                description: ''
                              claimant:
                                type: string
                                description: ''
                                example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
                                pattern: ^0x[a-fA-F0-9]{40}$
                              signature:
                                type: string
                                description: ''
                              signatureName:
                                type: string
                                description: ''
                              signatureType:
                                type: string
                                enum:
                                - event
                                - function
                                description: ''
                              actionType:
                                type: number
                                description: ''
                              targetContract:
                                type: string
                                description: ''
                                example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
                                pattern: ^0x[a-fA-F0-9]{40}$
                              parameters:
                                type: object
                                properties:
                                  filterType:
                                    type: number
                                    description: ''
                                  fieldType:
                                    type: number
                                    description: ''
                                  fieldIndex:
                                    type: number
                                    description: ''
                                  filterData:
                                    type: string
                                    description: ''
                                required:
                                - filterType
                                - fieldType
                                - fieldIndex
                                - filterData
                                description: ''
                            required:
                            - chainId
                            - signature
                            - signatureName
                            - signatureType
                            - actionType
                            - targetContract
                            - parameters
                          description: A list of action steps associated with the Boost that must be completed before the Boost's incentives can be claimed
                        protocolFee:
                          type: string
                          description: A BigInt representing fees to collect on value distribution
                        maxParticipants:
                          type: string
                          description: Maximum amount of participants allowed
                        incentives:
                          type: array
                          items:
                            oneOf:
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                  - AllowListIncentive
                                  description: The type of the incentive, in this case "AllowListIncentive"
                                allowListAddress:
                                  type: string
                                  description: The address of the allow list to target
                                  example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
                                  pattern: ^0x[a-fA-F0-9]{40}$
                                limit:
                                  type: string
                                  description: The maximum number of users that can claim the incentive
                              required:
                              - type
                              - allowListAddress
                              - limit
                              description: An incentive that when claimed, adds the claimant's address to a Boost Protocol AllowList.
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                  - CGDAIncentive
                                  description: The type of the incentive, in this case "CGDAIncentive"
                                asset:
                                  type: string
                                  description: The address of the asset to target
                                  example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
                                  pattern: ^0x[a-fA-F0-9]{40}$
                                initialReward:
                                  type: string
                                  description: The initial reward amount that will scale over time
                                rewardDecay:
                                  type: string
                                  description: The amount to subtract from the current reward after each claim
                                rewardBoost:
                                  type: string
                                  description: The amount by which the reward increases for each hour without a claim (continuous linear increase)
                                totalBudget:
                                  type: string
                                  description: The total budget for the incentive
                              required:
                              - type
                              - asset
                              - initialReward
                              - rewardDecay
                              - rewardBoost
                              - totalBudget
                              description: An ERC20 incentive implementation with reward amounts adjusting dynamically based on claim volume.
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                  - ERC20Incentive
                                  description: The type of this incentive, in this case "ERC20Incentive"
                                asset:
                                  type: string
                                  description: The address of the underlying token
                                  example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
                                  pattern: ^0x[a-fA-F0-9]{40}$
                                strategy:
                                  type: number
                                  description: The strategy for the incentive (POOL=0, RAFFLE=1)
                                reward:
                                  type: string
                                  description: The fixed reward amount per claim
                                limit:
                                  type: string
                                  description: Maximum number of claims remaining
                                claimedAmount:
                                  type: string
                                  description: The total amount of tokens claimed
                                totalClaims:
                                  type: string
                                  description: The total number of claims made
                                totalAmountClaimed:
                                  type: string
                                  description: The total amount of tokens claimed
                                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 underlying token
                                remainingBalance:
                                  type: string
                                  description: The remaining balance of the underlying token for this incentive
                              required:
                              - type
                              - asset
                              - strategy
                              - reward
                              - limit
                              description: A simple ERC20 incentive implementation that allows claiming of tokens
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                  - PointsIncentive
                                  description: The type of this incentive, in this case "PointsIncentive"
                                venue:
                                  type: string
                                  description: The address of the backing token contract
                                selector:
                                  type: string
                                  description: The function selector of the transfer function on the underlying venue contract
                                reward:
                                  type: string
                                  description: The fixed amount of points rewarded per claim
                                limit:
                                  type: string
                                  description: The maximum number of claims allowed
                              required:
                              - type
                              - venue
                              - selector
                              - reward
                              - limit
                              description: A simple on-chain points incentive implementation that allows claiming of soulbound tokens
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                  - ERC20VariableIncentive
                                  description: The type of this incentive, in this case "ERC20VariableIncentive"
                                asset:
                                  type: string
                                  description: The address of the ERC20 token contract
                                  example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
                                  pattern: ^0x[a-fA-F0-9]{40}$
                                reward:
                                  type: string
                                  description: The scalar value specifying how much of the claim amount is transferred to the claimant
                                limit:
                                  type: string
                                  description: The total amount of tokens that can be claimed
                                claimedAmount:
                                  type: string
                                  description: The total amount claimed
                                totalAmountClaimed:
                                  type: string
                                  description: The total amount claimed
                                totalClaims:
                                  type: string
                                  description: The total number of claims
                                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 underlying token
                                remainingBalance:
                                  type: string
                                  description: The remaining balance of the token for this incentive
                              required:
                              - type
                              - asset
                              - reward
                              - limit
                              description: A modified ERC20 incentive implementation that allows claiming of variable token amounts with a spending limit
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                  - ERC20VariableCriteriaIncentive
                                  description: The type of the incentive, in this case, "ERC20VariableCriteriaIncentive"
                                asset:
                                  type: string
                                  description: The address of the ERC20 token used as the asset for the incentive
                                  example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
                                  pattern: ^0x[a-fA-F0-9]{40}$
                                reward:
                                  type: string
                                  description: The scalar value to multiply the claim amount by
                                limit:
                                  type: string
                                  description: The total token budget for this incentive
                                maxReward:
                                  type: string
                                  description: The maximum amount of tokens that can be claimed in a single claim transaction
                                criteria:
                                  type: object
                                  properties:
                                    criteriaType:
                                      type: integer
                                      enum:
                                      - 0
                                      - 1
                                      description: Extract claimable amount from event data or function arguments
                                    signature:
                                      type: string
                                      description: The 4 byte signature of the event or function
                                    fieldIndex:
                                      type: number
                                      description: The index of the function argument, or event log to extract the numerical claimable amount
                                    targetContract:
                                      type: string
                                      description: The target contract that contains the function or event signature
                                      example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
                                      pattern: ^0x[a-fA-F0-9]{40}$
                                  required:
                                  - criteriaType
                                  - signature
                                  - fieldIndex
                                  - targetContract
                                  description: Criteria determining how to extract the reward value from a transaction, by pulling a number out of either event log data or function arguments
                                claimedAmount:
                                  type: string
                                  description: The amount of tokens claimed by the user
                                totalAmountClaimed:
                                  type: string
                                  description: The total amount of tokens claimed between all claims
                                totalClaims:
                                  type: string
                                  description: The total number of claims made against this incentive
                                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:
                      

# --- truncated at 32 KB (243 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/boost/refs/heads/main/openapi/boost-boost-api-openapi.yml