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: - id - chainId - address - decimals - name - symbol - imageUri description: Optional token metadata remainingBalance: type: string description: The remaining token balance for this incentive rebatePercentage: type: number description: The rebate percentage for the Boost if applicable required: - type - asset - reward - limit - maxReward - criteria description: An ERC20 incentive with variable reward amounts - type: object properties: type: type: string enum: - ERC20VariableCriteriaIncentiveV2 description: The type of incentive, in this case, "ERC20VariableCriteriaIncentiveV2" 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}$ valueType: type: integer enum: - 0 - 1 description: The type of value used for the scalar value (RAW or WAD). required: - criteriaType - signature - fieldIndex - targetContract - valueType 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: - id - chainId - address - decimals - name - symbol - imageUri description: Optional token metadata remainingBalance: type: string description: The remaining token balance for this incentive rebatePercentage: type: number description: The rebate percentage for the Boost if applicable required: - type - asset - reward - limit - maxReward - criteria description: An ERC20 incentive with variable reward amounts - type: object properties: type: type: string enum: - ERC20PeggedIncentive description: The type of incentive, in this case "ERC20PeggedIncentive" asset: type: string description: The reward asset address example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ peg: type: string description: The address of the peg asset, zero address for the native token example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ reward: type: string description: The amount of the pegged asset to reward a corresponding amount of the reward asset limit: type: string description: The total budget of the reward asset claimedAmount: type: string description: The total amount of the reward asset claimed totalClaims: type: string description: The total number of claims made for this incentive totalAmountClaimed: type: string description: The total amount of the reward asset 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: Metadata for the reward asset remainingBalance: type: string description: The remaining balance of the reward asset for this incentive required: - type - asset - peg - reward - limit description: An ERC20 incentive with reward amounts pegged to the value of a configured peg asset - type: object properties: type: type: string enum: - ERC20PeggedVariableCriteriaIncentive description: The incentive type, in this case "ERC20PeggedVariableCriteriaIncentive" asset: type: string description: The address of the reward asset example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ peg: type: string description: The address of the peg asset example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ reward: type: string description: The amount to scale the pegged asset value to reward a corresponding amount of the reward asset limit: type: string description: The total reward asset budget maxReward: type: string description: The maximum reward asset amount that can be claimed in a single 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 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: Metadata about the incentive remainingBalance: type: string description: The remaining balance of the reward asset spendable by this incentive rebatePercentage: type: number description: The rebate percentage for the Boost if applicable required: - type - asset - peg - reward - limit - maxReward - criteria description: An ERC20 incentive with variable reward amounts pegged to the value of a configured peg asset - type: object properties: type: type: string enum: - ERC20PeggedVariableCriteriaIncentiveV2 description: The incentive type, in this case "ERC20PeggedVariableCriteriaIncentiveV2" asset: type: string description: The address of the reward asset example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ peg: type: string description: The address of the peg asset example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ reward: type: string description: The amount to scale the pegged asset value to reward a corresponding amount of the reward asset limit: type: string description: The total reward asset budget maxReward: type: string description: The maximum reward asset amount that can be claimed in a single 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}$ valueType: type: integer enum: - 0 - 1 description: The type of value used for the scalar value (RAW or WAD). required: - criteriaType - signature - fieldIndex - targetContract - valueType 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 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: Metadata about the incentive remainingBalance: type: string description: The remaining balance of the reward asset spendable by this incentive rebatePercentage: type: number description: The rebate percentage for the Boost if applicable required: - type - asset - peg - reward - limit - maxReward - criteria description: A list of the incentives associated with the Boost createdAtChainBlockNumbers: type: - object - 'null' additionalProperties: type: string description: A record of the chain block numbers at which the Boost was created usdSpend: type: number description: The total USD amount spent on the Boost to fund incentives tokenSpend: type: number description: Total token spend amount createdAtBlockTimestamp: type: string description: The block timestamp at which the Boost was created isActive: type: boolean description: Whether the Boost is active and still eligible to be claimed availableBudgetUsd: type: - string - 'null' description: The current available budget for incentives in USD templateId: type: - string - 'null' description: System ID of the template defining what actions must be taken to claim the Boost actionTemplateId: type: - string - 'null' description: System ID for the action template used to create this Boost nftImageUri: type: - string - 'null' description: URI of the NFT image associated with the Boost nftName: type: - string - 'null' description: Name of the NFT associated with the Boost boostName: type: - string - 'null' description: Human readable name of the Boost, typically describing what action must be taken to claim incentives projectImageUri: type: - string - 'null' description: An image URI associated with Boost incentive projects tokenImageUri: type: - string - 'null' description: An image URI associated with Boost incentive tokens required: - id - action - allowList - boostIndex - budget - incentiveCount - owner - validator - blockTimestamp - txHash - chainId - protocolFee - maxParticipants - incentives - createdAtBlockTimestamp description: An array of Boosts totalCount: type: number description: The total number of Boosts returned in this API call required: - boosts - totalCount '400': description: Invalid Time Period Used 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 /signatures: get: tags: - Boost operationId: getSignatures summary: Generate a claim signature that can be used to submit a claim description: Given a tx hash, id, and valid claim data hash, generate a valid signature that can be used to claim a reward on chain. parameters: - schema: type: string description: Transaction hash of transaction that satisfies a reward's action that unlocks claim rewards. required: true description: Hex in format 0x[0-9a-fA-F]{64} in: query name: txHash - schema: type: string description: System reward ID in the format chainId:boostCoreAddress:identifier example: 8453:0x378632819f39c74c4f56b1429e760739c5fb51b7:1 required: true description: BoostID in format chainId:boostCoreAddress:identifier in: query name: boostId - schema: description: Additional encoded claim data to submit along with the transaction for a claim required: false name: claimData in: query responses: '200': description: Successfully generated a claim signature content: application/json: schema: type: array items: type: object properties: signature: type: string description: Claim signature that can be used with the Boost Protocol V2's claim/claimIncentiveFor methods claimant: type: string description: The address for the user making the claim example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ referrer: type: string description: The address of the referrer example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ incentiveId: type: number description: The index of the incentive being claimed, typically 0 required: - signature - claimant - referrer - incentiveId '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 '404': description: Reward not found 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 '410': description: Reward is not active 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 '500': description: Upstream server error 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 /signatures/claimable/{address}: get: tags: - Boost operationId: getClaimableSignatures summary: Get claimable signatures for an address description: Returns all signatures for an address that have not yet been used to claim their associated boost. parameters: - schema: type: string description: The wallet address to find claimable signatures for example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ required: true in: path name: address responses: '200': description: Claimable signatures for the given address content: application/json: schema: type: array items: type: object properties: boostId: type: string description: The boost ID associated with the signature example: 8453:0x378632819f39c74c4f56b1429e760739c5fb51b7:1 signature: type: string description: Claim signature that can be used with the Boost Protocol V2 claim methods claimant: type: string description: The address for the user making the claim example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ incentiveId: type: number description: The index of the incentive being claimed referrer: type: string description: The address of the referrer example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ required: - boostId - signature - claimant - incentiveId - referrer /boosts: get: operationId: getBoosts summary: Get a list of Boosts description: Accepts pagination, and filter options to return a list of boosts 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 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: - active - recently-deployed description: Sort by active or recently deployed 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: Is the Boost action template only, or has a more customized action configuration required: false name: actionTemplateOnly in: query - schema: type: string description: Is the Boost active only, or has a more customized action configuration required: false name: showActiveOnly in: query 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: - id - chainId - address - decimals - name - symbol - imageUri description: Optional token metadata remainingBalance: type: string description: The remaining token balance for this incentive rebatePercentage: type: number description: The rebate percentage for the Boost if applicable required: - type - asset - reward - limit - maxReward - criteria description: An ERC20 incentive with variable reward amounts - type: object properties: type: type: string enum: - ERC20VariableCriteriaIncentiveV2 description: The type of incentive, in this case, "ERC20VariableCriteriaIncentiveV2" 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}$ valueType: type: integer enum: - 0 - 1 description: The type of value used for the scalar value (RAW or WAD). required: - criteriaType - signature - fieldIndex - targetContract - valueType 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: - id - chainId - address - decimals - name - symbol - imageUri description: Optional token metadata remainingBalance: type: string description: The remaining token balance for this incentive rebatePercentage: type: number description: The rebate percentage for the Boost if applicable required: - type - asset - reward - limit - maxReward - criteria description: An ERC20 incentive with variable reward amounts - type: object properties: type: type: string enum: - ERC20PeggedIncentive description: The type of incentive, in this case "ERC20PeggedIncentive" asset: type: string description: The reward asset address example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ peg: type: string description: The address of the peg asset, zero address for the native token example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ reward: type: string description: The amount of the pegged asset to reward a corresponding amount of the reward asset limit: type: string description: The total budget of the reward asset claimedAmount: type: string description: The total amount of the reward asset claimed totalClaims: type: string description: The total number of claims made for this incentive totalAmountClaimed: type: string description: The total amount of the reward asset 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: Metadata for the reward asset remainingBalance: type: string description: The remaining balance of the reward asset for this incentive required: - type - asset - peg - reward - limit description: An ERC20 incentive with reward amounts pegged to the value of a configured peg asset - type: object properties: type: type: string enum: - ERC20PeggedVariableCriteriaIncentive description: The incentive type, in this case "ERC20PeggedVariableCriteriaIncentive" asset: type: string description: The address of the reward asset example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ peg: type: string description: The address of the peg asset example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ reward: type: string description: The amount to scale the pegged asset value to reward a corresponding amount of the reward asset limit: type: string description: The total reward asset budget maxReward: type: string description: The maximum reward asset amount that can be claimed in a single 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 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: Metadata about the incentive remainingBalance: type: string description: The remaining balance of the reward asset spendable by this incentive rebatePercentage: type: number description: The rebate percentage for the Boost if applicable required: - type - asset - peg - reward - limit - maxReward - criteria description: An ERC20 incentive with variable reward amounts pegged to the value of a configured peg asset - type: object properties: type: type: string enum: - ERC20PeggedVariableCriteriaIncentiveV2 description: The incentive type, in this case "ERC20PeggedVariableCriteriaIncentiveV2" asset: type: string description: The address of the reward asset example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ peg: type: string description: The address of the peg asset example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ reward: type: string description: The amount to scale the pegged asset value to reward a corresponding amount of the reward asset limit: type: string description: The total reward asset budget maxReward: type: string description: The maximum reward asset amount that can be claimed in a single 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}$ valueType: type: integer enum: - 0 - 1 description: The type of value used for the scalar value (RAW or WAD). required: - criteriaType - signature - fieldIndex - targetContract - valueType 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 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: Metadata about the incentive remainingBalance: type: string description: The remaining balance of the reward asset spendable by this incentive rebatePercentage: type: number description: The rebate percentage for the Boost if applicable required: - type - asset - peg - reward - limit - maxReward - criteria description: A list of the incentives associated with the Boost createdAtChainBlockNumbers: type: - object - 'null' additionalProperties: type: string description: A record of the chain block numbers at which the Boost was created usdSpend: type: number description: The total USD amount spent on the Boost to fund incentives tokenSpend: type: number description: Total token spend amount createdAtBlockTimestamp: type: string description: The block timestamp at which the Boost was created isActive: type: boolean description: Whether the Boost is active and still eligible to be claimed availableBudgetUsd: type: - string - 'null' description: The current available budget for incentives in USD templateId: type: - string - 'null' description: System ID of the template defining what actions must be taken to claim the Boost actionTemplateId: type: - string - 'null' description: System ID for the action template used to create this Boost nftImageUri: type: - string - 'null' description: URI of the NFT image associated with the Boost nftName: type: - string - 'null' description: Name of the NFT associated with the Boost boostName: type: - string - 'null' description: Human readable name of the Boost, typically describing what action must be taken to claim incentives projectImageUri: type: - string - 'null' description: An image URI associated with Boost incentive projects tokenImageUri: type: - string - 'null' description: An image URI associated with Boost incentive tokens required: - id - action - allowList - boostIndex - budget - incentiveCount - owner - validator - blockTimestamp - txHash - chainId - protocolFee - maxParticipants - incentives - createdAtBlockTimestamp description: An array of rewards matching provided criteria totalBoosts: type: integer minimum: 0 description: The total number of rewards matching the provided criteria required: - boosts - totalBoosts '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 /boosts/:id/activity: get: operationId: getBoostActivity summary: Get events for a specific Boost description: Retrieve a history of claimed incentives tags: - Boost parameters: - schema: type: string description: BoostID in format chainId:boostCoreAddress:identifier example: 8453:0x378632819f39c74c4f56b1429e760739c5fb51b7:1 required: true description: BoostID in format chainId:boostCoreAddress:identifier in: path name: id - 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 description: Retrieve Boost activity for this claimant address example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ required: false in: query name: claimant responses: '200': description: Returns a list of Boosts content: application/json: schema: type: object properties: activityEvents: type: array items: type: object properties: claimant: type: string description: The claimant's address example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ blockTimestamp: type: string description: The block number when this claim was made txHash: type: string description: The claim transaction hash 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: - id - chainId - address - decimals - name - symbol - imageUri description: Optional token metadata remainingBalance: type: string description: The remaining token balance for this incentive rebatePercentage: type: number description: The rebate percentage for the Boost if applicable required: - type - asset - reward - limit - maxReward - criteria description: An ERC20 incentive with variable reward amounts - type: object properties: type: type: string enum: - ERC20VariableCriteriaIncentiveV2 description: The type of incentive, in this case, "ERC20VariableCriteriaIncentiveV2" 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}$ valueType: type: integer enum: - 0 - 1 description: The type of value used for the scalar value (RAW or WAD). required: - criteriaType - signature - fieldIndex - targetContract - valueType 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: - id - chainId - address - decimals - name - symbol - imageUri description: Optional token metadata remainingBalance: type: string description: The remaining token balance for this incentive rebatePercentage: type: number description: The rebate percentage for the Boost if applicable required: - type - asset - reward - limit - maxReward - criteria description: An ERC20 incentive with variable reward amounts - type: object properties: type: type: string enum: - ERC20PeggedIncentive description: The type of incentive, in this case "ERC20PeggedIncentive" asset: type: string description: The reward asset address example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ peg: type: string description: The address of the peg asset, zero address for the native token example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ reward: type: string description: The amount of the pegged asset to reward a corresponding amount of the reward asset limit: type: string description: The total budget of the reward asset claimedAmount: type: string description: The total amount of the reward asset claimed totalClaims: type: string description: The total number of claims made for this incentive totalAmountClaimed: type: string description: The total amount of the reward asset 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: Metadata for the reward asset remainingBalance: type: string description: The remaining balance of the reward asset for this incentive required: - type - asset - peg - reward - limit description: An ERC20 incentive with reward amounts pegged to the value of a configured peg asset - type: object properties: type: type: string enum: - ERC20PeggedVariableCriteriaIncentive description: The incentive type, in this case "ERC20PeggedVariableCriteriaIncentive" asset: type: string description: The address of the reward asset example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ peg: type: string description: The address of the peg asset example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ reward: type: string description: The amount to scale the pegged asset value to reward a corresponding amount of the reward asset limit: type: string description: The total reward asset budget maxReward: type: string description: The maximum reward asset amount that can be claimed in a single 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 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: Metadata about the incentive remainingBalance: type: string description: The remaining balance of the reward asset spendable by this incentive rebatePercentage: type: number description: The rebate percentage for the Boost if applicable required: - type - asset - peg - reward - limit - maxReward - criteria description: An ERC20 incentive with variable reward amounts pegged to the value of a configured peg asset - type: object properties: type: type: string enum: - ERC20PeggedVariableCriteriaIncentiveV2 description: The incentive type, in this case "ERC20PeggedVariableCriteriaIncentiveV2" asset: type: string description: The address of the reward asset example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ peg: type: string description: The address of the peg asset example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ reward: type: string description: The amount to scale the pegged asset value to reward a corresponding amount of the reward asset limit: type: string description: The total reward asset budget maxReward: type: string description: The maximum reward asset amount that can be claimed in a single 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}$ valueType: type: integer enum: - 0 - 1 description: The type of value used for the scalar value (RAW or WAD). required: - criteriaType - signature - fieldIndex - targetContract - valueType 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 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: Metadata about the incentive remainingBalance: type: string description: The remaining balance of the reward asset spendable by this incentive rebatePercentage: type: number description: The rebate percentage for the Boost if applicable required: - type - asset - peg - reward - limit - maxReward - criteria description: A list of the incentives that were claimed required: - claimant - blockTimestamp - txHash - incentives description: A list of claim activity events totalActivityCount: type: integer minimum: 0 description: The total number of claims required: - activityEvents - totalActivityCount '404': description: Not found 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 /boosts/:id: get: operationId: getBoost summary: Get details for a Boost description: Return detailed information about a Boost, including budget, allowlist, incentives, actions, and token metadata tags: - Boost parameters: - schema: type: string description: The ID of the reward to retrieve details for example: 8453:0x378632819f39c74c4f56b1429e760739c5fb51b7:1 required: true description: BoostID in format chainId:boostCoreAddress:identifier in: path name: id responses: '200': description: Returns a list of Boosts content: application/json: schema: type: object properties: id: type: string description: The reward's ID example: 8453:0x378632819f39c74c4f56b1429e760739c5fb51b7:1 actionSteps: type: array 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: An array of the reward's action steps, the actions required for a user to claim actionClaimant: type: - object - 'null' properties: signature: type: string description: '' signatureName: type: string description: '' signatureType: type: string enum: - event - function description: '' fieldIndex: type: integer description: '' targetContract: type: string description: '' example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ targetContractName: type: - string - 'null' description: '' chainId: type: integer description: '' required: - signature - signatureName - signatureType - fieldIndex - targetContract - targetContractName - chainId description: An object containing information on how to extract a claimant address from a valid action transaction allowList: type: object 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 specifying configuration for who can claim protocolFee: type: string description: The reward protocol fee, if any maxParticipants: type: string description: The maximum number of users that can claim a reward 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: - id - chainId - address - decimals - name - symbol - imageUri description: Optional token metadata remainingBalance: type: string description: The remaining token balance for this incentive rebatePercentage: type: number description: The rebate percentage for the Boost if applicable required: - type - asset - reward - limit - maxReward - criteria description: An ERC20 incentive with variable reward amounts - type: object properties: type: type: string enum: - ERC20VariableCriteriaIncentiveV2 description: The type of incentive, in this case, "ERC20VariableCriteriaIncentiveV2" 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}$ valueType: type: integer enum: - 0 - 1 description: The type of value used for the scalar value (RAW or WAD). required: - criteriaType - signature - fieldIndex - targetContract - valueType 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: - id - chainId - address - decimals - name - symbol - imageUri description: Optional token metadata remainingBalance: type: string description: The remaining token balance for this incentive rebatePercentage: type: number description: The rebate percentage for the Boost if applicable required: - type - asset - reward - limit - maxReward - criteria description: An ERC20 incentive with variable reward amounts - type: object properties: type: type: string enum: - ERC20PeggedIncentive description: The type of incentive, in this case "ERC20PeggedIncentive" asset: type: string description: The reward asset address example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ peg: type: string description: The address of the peg asset, zero address for the native token example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ reward: type: string description: The amount of the pegged asset to reward a corresponding amount of the reward asset limit: type: string description: The total budget of the reward asset claimedAmount: type: string description: The total amount of the reward asset claimed totalClaims: type: string description: The total number of claims made for this incentive totalAmountClaimed: type: string description: The total amount of the reward asset 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: Metadata for the reward asset remainingBalance: type: string description: The remaining balance of the reward asset for this incentive required: - type - asset - peg - reward - limit description: An ERC20 incentive with reward amounts pegged to the value of a configured peg asset - type: object properties: type: type: string enum: - ERC20PeggedVariableCriteriaIncentive description: The incentive type, in this case "ERC20PeggedVariableCriteriaIncentive" asset: type: string description: The address of the reward asset example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ peg: type: string description: The address of the peg asset example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ reward: type: string description: The amount to scale the pegged asset value to reward a corresponding amount of the reward asset limit: type: string description: The total reward asset budget maxReward: type: string description: The maximum reward asset amount that can be claimed in a single 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 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: Metadata about the incentive remainingBalance: type: string description: The remaining balance of the reward asset spendable by this incentive rebatePercentage: type: number description: The rebate percentage for the Boost if applicable required: - type - asset - peg - reward - limit - maxReward - criteria description: An ERC20 incentive with variable reward amounts pegged to the value of a configured peg asset - type: object properties: type: type: string enum: - ERC20PeggedVariableCriteriaIncentiveV2 description: The incentive type, in this case "ERC20PeggedVariableCriteriaIncentiveV2" asset: type: string description: The address of the reward asset example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ peg: type: string description: The address of the peg asset example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ reward: type: string description: The amount to scale the pegged asset value to reward a corresponding amount of the reward asset limit: type: string description: The total reward asset budget maxReward: type: string description: The maximum reward asset amount that can be claimed in a single 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}$ valueType: type: integer enum: - 0 - 1 description: The type of value used for the scalar value (RAW or WAD). required: - criteriaType - signature - fieldIndex - targetContract - valueType 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 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: Metadata about the incentive remainingBalance: type: string description: The remaining balance of the reward asset spendable by this incentive rebatePercentage: type: number description: The rebate percentage for the Boost if applicable required: - type - asset - peg - reward - limit - maxReward - criteria description: An array of rewards that can be claimed createdAtBlockchainNumbers: type: - object - 'null' additionalProperties: type: string description: The block number when this reward was created owner: type: string description: The address of this reward's owner example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ isActive: type: boolean description: Is the reward still eligible to be claimed createdAt: type: string description: The date and time when this Boost was created availableBudgetUsd: type: - string - 'null' description: The available budget in USD for this Boost budget: type: string description: Address of the Boost's funding budget account example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ templateId: type: - string - 'null' description: System ID for the action template, which describes the action that needs to be taken to be eligible for a claim actionTemplateId: type: - string - 'null' description: System ID for the action template, which describes the action that needs to be taken to be eligible for a claim nftImageUri: type: - string - 'null' description: URI of an image for the reward NFT nftName: type: - string - 'null' description: Name of the NFT, if applicable boostName: type: - string - 'null' description: Human readable name describing the Boost, typically the action that needs to be taken to be eligible for a claim nftMetadataId: type: - string - 'null' description: System ID for the reward NFT metadata, if it exists projectImageUri: type: - string - 'null' description: URI of an image for the reward token tokenImageUri: type: - string - 'null' description: URI of an image for the token 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 required: - id - actionSteps - allowList - protocolFee - maxParticipants - incentives - owner - isActive - createdAt - budget '404': description: Not found 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 /budget-accounts/:id: get: tags: - Boost operationId: getBudgetAccount summary: Retrieve a single Budget by its system ID description: Retrieve detailed information about a Budget Account, including contract address, chain ID, owner address, label, and members if applicable. parameters: - schema: type: string description: Query for a Budget Account by system ID in the format of "chainId:address" example: 8453:0xa904ef32d569e2ada8f4de6244bf68f36fa219f6 required: true description: ID in format chainId:identifier name: id in: path responses: '200': description: Returns whether or not the token is blocked on given chain id content: application/json: schema: type: object properties: id: type: string description: The system ID in the format of "chainId:address" example: 8453:0xa904ef32d569e2ada8f4de6244bf68f36fa219f6 identifier: type: string description: The address of the deployed Budget Account registryType: type: string enum: - ACTION - ALLOW_LIST - BUDGET - INCENTIVE - VALIDATOR description: The type of Boost Protocol V2 component; either ACTION, ALLOW_LIST, BUDGET, INCENTIVE, or VALIDATOR baseImplementation: type: string description: The contract address of the base implementation registered with the protocol example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ deployedInstance: type: string description: The address of the deployed contract example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ txHash: type: string description: The transaction hash of the contract deployment blockTimestamp: type: string description: A bigint string representing the block timestamp for this contract deployment blockNumber: type: string description: A bigint string representing the blocknumber for this contract deployment chainId: type: integer minimum: 0 description: The chainID where this Budget is deployed name: type: string description: A unique name for the Budget, if not updated later, then this will be a random UUID address: type: string description: The address of the deployed Budget Account example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ owner: type: string description: The address of the Budget's owner example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ ownerEmail: type: - string - 'null' description: The email address of the Budget's owner, if available hidden: type: boolean description: Whether or not the Budget should be included in API responses label: type: - string - 'null' description: A label for the Budget, if available. members: type: array items: type: object properties: memberAddress: type: string description: The address of the Budget Account member, someone with either ADMIN or MANAGER permissions example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ roles: type: array items: type: number description: A list of numbers representing role enums, where 1 is MANAGER, and 2 is ADMIN. Managers can manage funds, while Admins can manage permissioned users. email: type: - string - 'null' description: The email address associated with this member, if available status: type: - string - 'null' enum: - wallet_created - invited - accepted - cancelled description: The invitation status of this member, if available required: - memberAddress - roles description: A list of members with any amount of permissions deprecated: type: boolean description: Will be true if Budget Account is based off of a deprecated budget implementation. required: - id - identifier - registryType - baseImplementation - deployedInstance - txHash - blockTimestamp - blockNumber - chainId - address - owner - hidden - members - deprecated description: Details for a single Budget Account '404': description: Not Found 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 /budget-accounts: get: tags: - Boost operationId: getBudgetAccounts summary: Get Budgets description: Accepts pagination, and filter options like owner address, chain ID, and permissioned member address. parameters: - schema: type: - integer - 'null' minimum: 0 description: Query for Budget Accounts deployed to this chain ID example: 10 required: false name: chainId in: query - schema: type: string description: Query for Budget Accounts where this member has permissions example: '0x0d288362c8bfe919dd02fb96ee1642aaae0185e7' pattern: ^0x[a-fA-F0-9]{40}$ required: false name: member in: query - schema: type: string description: Query for Budget Accounts owned by this address example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ required: false name: owner in: query - schema: type: - integer - 'null' minimum: 0 default: 1 description: Query for a specific page of results required: false name: page in: query - schema: type: - integer - 'null' minimum: 0 default: 10 description: How many items should be returned per page required: false name: pageSize in: query responses: '200': description: Returns whether or not the token is blocked on given chain id content: application/json: schema: type: array items: type: object properties: id: type: string description: The system ID in the format of "chainId:address" example: 8453:0xa904ef32d569e2ada8f4de6244bf68f36fa219f6 identifier: type: string description: The address of the deployed Budget Account registryType: type: string enum: - ACTION - ALLOW_LIST - BUDGET - INCENTIVE - VALIDATOR description: The type of Boost Protocol V2 component; either ACTION, ALLOW_LIST, BUDGET, INCENTIVE, or VALIDATOR baseImplementation: type: string description: The contract address of the base implementation registered with the protocol example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ deployedInstance: type: string description: The address of the deployed contract example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ txHash: type: string description: The transaction hash of the contract deployment blockTimestamp: type: string description: A bigint string representing the block timestamp for this contract deployment blockNumber: type: string description: A bigint string representing the blocknumber for this contract deployment chainId: type: integer minimum: 0 description: The chainID where this Budget is deployed name: type: string description: A unique name for the Budget, if not updated later, then this will be a random UUID label: type: - string - 'null' description: A label for the Budget, if available. address: type: string description: The address of the deployed Budget Account example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ owner: type: string description: The address of the Budget's owner example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ hidden: type: boolean description: Whether or not the Budget should be included in API responses members: type: array items: type: object properties: memberAddress: type: string description: The address of the Budget Account member, someone with either ADMIN or MANAGER permissions example: '0x378632819f39c74c4f56b1429e760739c5fb51b7' pattern: ^0x[a-fA-F0-9]{40}$ roles: type: array items: type: number description: A list of numbers representing role enums, where 1 is MANAGER, and 2 is ADMIN. Managers can manage funds, while Admins can manage permissioned users. email: type: - string - 'null' description: The email address associated with this member, if available status: type: - string - 'null' enum: - wallet_created - invited - accepted - cancelled description: The invitation status of this member, if available required: - memberAddress - roles description: A list of members with any amount of permissions deprecated: type: boolean description: Will be true if Budget Account is based off of a deprecated budget implementation. required: - id - identifier - registryType - baseImplementation - deployedInstance - txHash - blockTimestamp - blockNumber - chainId - address - owner - hidden - members - deprecated