# Yield rewards

vETH and vUSD rewards are distributed through rewarder contracts.

Read on to learn how to claim vETH and vUSD from those contracts.

## Step 1. Query Proof for a given address

Call the rewards claim API under <https://token-rewards-api.zkevm.cronos.org/claim/>\<walletaddress>/\<tokenaddress>.

You need to replace \<walletaddress> with the account address for which you are claiming for, in the URLs listed below:

* For vETH
  * [https://token-rewards-api.zkevm.cronos.org/claim/\<walletaddress>/0x271602a97027ee1dd03b1e6e5db153eb659a80b1](https://token-rewards-api.zkevm.cronos.org/claim/0x79CFC29830DC4cBcF47807b77Bbb5896a900864c/0x271602a97027ee1dd03b1e6e5db153eb659a80b1)&#x20;
* For vUSD:
  * [https://token-rewards-api.zkevm.cronos.org/claim/\<walletaddress>/0x5b91e29ae5a71d9052620acb813d5ac25ec7a4a2](https://token-rewards-api.zkevm.cronos.org/claim/<walletaddress>/0x5b91e29ae5a71d9052620acb813d5ac25ec7a4a2)

Example response:

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdfJJVr6cdqc_dVdhJj88rI4vq7EU4nOCrQurC-26FzV98F-yDyGDfFX9mMr3gRta9KdZcuIshz4LP0lLv4UtCXRu3RXXkv4r9DKlVlIex6MCnPSX9bbDu5pF3WhSWKm4c4cJcR73fUYmEqP8p_g2bvDdqD?key=FvR-TTIFj0BRmdHRZkmrfg" alt=""><figcaption></figcaption></figure>

Response explained:

* pending\_amount: The amount of the token in wei that the address has earned, but cannot be claimed yet.
* claimable\_amount: The amount of the token in that the address has earned, is ready to claim and has not been claimed yet
* earliest\_expiration\_time: When the first unclaimed rewards will expire
* next\_claimable\_time: When the pending\_amount will become claimable
* claim: the data needed to claim rewards from the rewarder contract
  * recipient: The address that will receive the rewards, this is the same as the provided wallet address in the URL.
  * total\_earned: the amount that has been tracked in the rewarder contract. The rewarder contract keeps track of the amount that is already claimed.
  * total\_expired: the amount that has already been expired.
  * merkle\_proof: The merkle proof needed to claim rewards

## Step 2. Claim the rewards using the proof

There are 2 rewarder contracts, one for each token:

* vETHRewarder:
  * [0x5F254945A318f7ca93496320767E6b640aB9f730](https://explorer.zkevm.cronos.org/address/0x5f254945a318f7ca93496320767e6b640ab9f730)
* vUSD:
  * [0xfcd9ca1968af3274a5e327dbfa7c80a99a0c0f52](https://explorer.zkevm.cronos.org/address/0xfcd9ca1968af3274a5e327dbfa7c80a99a0c0f52)

Once you have obtained all the necessary claim information from the claim API, use the \<walletaddress> account to call the claim method on the rewarder contract for the given token:

{% code overflow="wrap" lineNumbers="true" %}

```
function claim(address _recipient, uint256 _reward, uint256 _expired, bytes32[] calldata _proof)
```

{% endcode %}

\
Parameters explained:

* \_recipient: Recipient that will receive the rewards, should be the same as returned in the claim object by the claim API
* \_reward: the total\_earned  as returned by the claim API
* \_expired: the total\_expired as returned by the claim API
* \_proof: the merkle\_proof as returned by the claim API

If the call is successful, the unclaimed rewards are transferred from the rewarder contract to the \_recipient.

Make sure that the \_recipient can access the rewards transferred to them.

## Important note for app developers

If your app is designed in such way that rewards are accumulated by a smart contract address, this smart contract can probably not call the claim function.

In that case, please [contact Cronos Labs](https://crofam.me/contact) for assistance.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs-zkevm.cronos.org/for-developers/using-zkcro-veth-and-vusd/yield-rewards.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
