---
title: "GET /v4/tokens/reward/{chainId}"
method: GET
path: "/v4/tokens/reward/{chainId}"
tags: ["Tokens"]
---

# GET /v4/tokens/reward/{chainId}

`GET /v4/tokens/reward/{chainId}`

## Request

- Base URL: `https://api.merkl.xyz` (the document declares no server; this is the origin it was published from)
- URL: `https://api.merkl.xyz/v4/tokens/reward/{chainId}`
- Auth: `apiKey` (a scheme the document does not define)

Get the list of tokens that are accepted as reward tokens on a given chain.

## Path parameters

- `chainId` union, required: Chain ID to get reward tokens for
  - string, numeric
  - number: Chain ID to get reward tokens for

## Query parameters

- `tokenTypes` union[]: Filter by token type. Use POINT to include point campaigns and PRETGE to include preTGE campaigns.
  - union
    - string
    - string
    - string
- `distributionLayer` union: TREE for the on-chain DistributionCreator allow-list, LEDGER for a Merkl Flow campaign. Omitted: the deployment's default (the ledger list on a Merkl Flow API, the on-chain list elsewhere)
  - string
  - string

## Response `200`

Response for status 200

- object[]
  - `id` string, required: Unique identifier for the token
  - `name` string, required: Full name of the token
  - `chainId` integer, required: Chain Id
  - `address` string, required: Address
  - `decimals` number, required: Number of decimals for the token
  - `symbol` string, required: Symbol of the token
  - `icon` string, required: URL to the token icon image
  - `verified` boolean, required: Whether the token is verified
  - `isNative` boolean, required: Whether this is a native blockchain token
  - `isTest` boolean, required: Whether this is a test token
  - `type` union, required: Type of the token (TOKEN, PRETGE, POINT)
    - string
    - string
    - string
  - `price` number: Current price of the token in USD
  - `updatedAt` number: Unix timestamp of last price update
  - `priceSource` string: Source of the price information
  - `displaySymbol` string: Custom display symbol override
  - `underlyingTokenId` string: If this token is a wrapper, the ID of the underlying token
  - `priceAlertDismissedAt` number
  - `priceAlertCount` number
  - `minimumAmountPerHour` string: Smallest amount, in token wei, a campaign may distribute per hour with this token.
  - `isTokenWrapper` boolean: Whether the address is a Merkl token wrapper.
  - `tokenWrapperAddress` string: Address the wrapper pays out on claim.

## Changes

- **2026-10-21** `9255d9de0398`: 1 info
  - added the new optional `query` request parameter `distributionLayer`
- **2026-09-23** `0777cabf732a`: 1 info
  - added the success response with the status `200`

[Operation history](https://skmtc.dev/merkl/apis/merkl-api/changes/v4/tokens/reward/:chainId/get.md)

---

[API](https://skmtc.dev/merkl/apis/merkl-api.md) - [All operations](https://skmtc.dev/merkl/apis/merkl-api/llms.txt) - [OpenAPI document](https://skmtc.dev/merkl/apis/merkl-api/revisions/60ffe2c7d887?raw)
