Boost Boost API
The Boost API from Boost — 9 operation(s) for boost.
The Boost API from Boost — 9 operation(s) for boost.
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