Skip to main content
Query the rewards available in a point system, with optional per-wallet breakdown of eligibility and claim status.

GET /rewards

Request

Query parameters


Without address — all rewards

Returns every reward for the point system regardless of wallet.

Response 200

Reward fields

Supported chains

Reward campaigns are deployed on Somnia and Base only. The chainId returned above is always one of: Ethereum L1 is not supported. (The reputation score is computed from a different, larger set of chains. Those are not chains where rewards can be deployed.)

With address — per-wallet breakdown

Returns the same rewards split into three buckets based on the wallet’s eligibility and claim history.

Response 200

Buckets

Extra fields in per-wallet mode


Claiming on-chain

Token rewards are distributed as a merkle airdrop: each eligible wallet claims its own allocation on-chain by submitting a merkle proof to the campaign contract. Two public helper endpoints support the claim flow. Both are public (no API key is required, since a proof is useless without the wallet’s private key) and are rate-limited to 60 requests per minute per IP.

GET /rewards/proof

Returns the merkle proof a wallet needs to claim its allocation for a specific airdrop.

Query parameters

Only active airdrops are matched.

Response 200

Errors

GET /rewards/claim-status

Returns every claimable reward for a wallet in a point system (active token airdrops and gift-card rewards) so a claim UI can list them in one call.

Query parameters

Response 200

Token entries (kind: "token") carry the on-chain details needed to claim (onchainId, chainId, contractAddress, amountWei, and hasProof); fetch the matching proof from /rewards/proof. Gift-card entries (kind: "giftcard") expose only the tier label and whether the code has been revealed, never the code itself.

Code examples