For the complete documentation index, see llms.txt. This page is also available as Markdown.

🎟️Get Claim Checks

Claim checks are signed vouchers that allow users to claim their rewards onchain. This step is the same regardless of whether you're claiming on EVM or SVM.

Use Fuul.getClaimableChecks from @fuul/sdk:

import { Fuul } from '@fuul/sdk';

const claimChecks = await Fuul.getClaimableChecks({
  user_identifier: '0x1234...',
  user_identifier_type: 'evm_address', // or 'solana_address'
});

You can also call the claim check endpoint on the Fuul API directly.

getClaimableChecks was introduced in SDK version 7.8.0. Upgrade if you're on an earlier version.

Get claim totals

To show users their claimed and unclaimed balances without building a full transaction (API reference):

import { Fuul } from '@fuul/sdk';

const totals = await Fuul.getClaimCheckTotals({
  user_identifier: '0x1234...',
  user_identifier_type: 'evm_address', // or 'solana_address'
});
// Returns { claimed: [...], unclaimed: [...] } grouped by currency

Claim check aggregation (open checks)

Some projects enable claim check aggregation, which batches multiple rewards into a single on-chain transaction per currency. This is optional and configured per project.

When aggregation is enabled, claim checks start with status open β€” they accumulate rewards over time without being signed yet. New rewards for the same user, currency, and reason are merged into the existing open check by summing amounts and extending deadlines. This reduces on-chain transactions from one per reward event to one per currency/reason combination.

To finalize an open check and make it claimable, call POST /claim-checks/close:

After closing, the check transitions from open to unclaimed and receives its signature β€” at which point it's returned by getClaimableChecks and ready to claim onchain.

If aggregation is not enabled for a project, claim checks are signed immediately at creation time and are returned as unclaimed from the start. No close call is needed.

You can filter claim checks by status using the GET /claim-checks endpoint (open, unclaimed, or claimed).

Next steps

Once you have your claim checks, follow the guide for your chain:

Last updated