The Boost API provides two methods to get the required signature for claiming boost incentives:

  1. Using a specific transaction hash via the GET /signatures endpoint
  2. Checking recent transactions for an address via the GET /transactions endpoint

In order to produce a valid signature, the transaction must meet the boost’s requirements and the transaction must occur after the boost was created.

Fetching Signature by Transaction Hash

If you know the specific transaction that completed the boost’s required action, you can fetch the signature directly:

const params = new URLSearchParams({
  txHash: '0x2dfc8f4f24b1a3a7ee73ea13b8a20a63fe7457d1c96b95178d3ea4126b6bf5ad',
  boostId: '8453:12'
});

const response = await fetch(
  `https://api-v2.boost.xyz/signatures?${params.toString()}`
);
const { signature, claimant, incentiveId } = await response.json();

Required Parameters for /signatures

  • txHash: The transaction hash that completed the boost’s required action
  • boostId: The ID of the boost (format: chainId:boostNumber)
  • claimData: (Optional) Additional data required for variable incentive types

Response

{
    "signature": "0x...",   // Signature for verification
    "claimant": "0x...",    // Address eligible to claim
    "incentiveId": 0        // ID of the claimable incentive
}

For complete API details including all available parameters and response fields, see the API Reference.

Fetching Signature by Address

If you want to check if a wallet has completed the boost requirements, you can scan their recent transactions:

const params = new URLSearchParams({
  address: '0x1234...', // The wallet address to check
  boostId: '8453:12'    // The boost ID to validate against
});

const response = await fetch(
  `https://api-v2.boost.xyz/transactions?${params.toString()}`
);
const { signature, claimant, incentiveId } = await response.json();

This endpoint will:

  1. Check the last 25 transactions for the provided address
  2. Validate if any transaction meets the boost’s requirements
  3. Return the signature response if a qualifying transaction is found

The transactions endpoint is rate-limited to 1 request every 100ms. Please implement appropriate retry logic in your application.

Required Parameters for /transactions

  • address: The wallet address to check (format: 0x...)
  • boostId: The ID of the boost (format: chainId:boostNumber)

Response

{
    "signature": "0x...",   // Signature for verification
    "claimant": "0x...",    // Address eligible to claim
    "incentiveId": 0        // ID of the claimable incentive
}

Using the Signature

Once you have the signature from either endpoint, you can use it with the following SDK methods to claim your boost: