---
title: "Build a claim transaction payload"
method: POST
path: "/rewards/{address}/claim-payload"
tags: ["Rewards"]
---

# Build a claim transaction payload

`POST /rewards/{address}/claim-payload`

Returns the calldata and (where applicable) merkle proof a frontend
needs to submit a claim transaction. **Does not** custody funds — the
user still signs and sends the transaction themselves.

## Path parameters

- `address` string, required

## Request body

- object
  - `programIds` string[], required

## Response `200`

Claim payload.

- ClaimPayload
  - `to` string — Contract address the user must call.
  - `data` string — ABI-encoded calldata.
  - `value` string — ETH value to send (wei). Usually "0".
  - `chainId` integer
  - `merkleProofs` object[]
    - `programId` string
    - `proof` string[]

## Other responses

- `401` — Missing or invalid SIWE bearer token.

---

[API](https://skmtc.net/elata-biosciences/apis/elata-app-store-api.md) · [All operations](https://skmtc.net/elata-biosciences/apis/elata-app-store-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/elata-biosciences/elata-app-store-api/revisions/55c111b65fc5/schema)
