Boost V2 API

Public, read-only REST API for the Boost onchain incentives network. Query boosts, budget accounts, action templates, and RewardKit rewards, explore contracts and signatures, and generate claim signatures across supported EVM chains. No authentication required.

OpenAPI Specification

boost-v2-openapi.json Raw ↑
{"openapi":"3.1.0","servers":[{"url":"https://api-v2.boost.xyz","description":"Boost V2"}],"info":{"title":"Boost V2 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"},"components":{"schemas":{},"parameters":{}},"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","Contract"],"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/contracts":{"get":{"operationId":"exploreContracts","summary":"Explore contracts with Boosts","description":"Find information on contracts used to interact with Boosts, as well as total claims, total USD claimed, address, and chain ID","tags":["Contract"],"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 smart contracts known to the Boost system","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"chainId":{"type":"number","description":"The chain ID of the smart contract","example":8453},"address":{"type":"string","description":"The address of the smart contract","example":"0x378632819f39c74c4f56b1429e760739c5fb51b7","pattern":"^0x[a-fA-F0-9]{40}$"},"name":{"type":"string","description":"A human readable name for the smart contract","example":"Zora"},"stats":{"type":"object","properties":{"boostCount":{"type":"number","description":"The number of Boosts configured with this smart contract"},"totalClaims":{"type":"number","description":"The total number of claims made with this smart contract"},"totalAmountClaimedUsd":{"type":"number","description":"The total amount of USD distributed by Boosts configured with this smart contract"}},"required":["boostCount","totalClaims","totalAmountClaimedUsd"]}},"required":["chainId","address","name","stats"],"description":"An object containing details about a smart contract used in Boosts known to the system"}}}}}}}},"/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"],"d

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