curl --request POST \
--url https://api.privy.io/v1/wallets/{wallet_id}/ethereum_yield_claim \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--header 'privy-app-id: <privy-app-id>' \
--data '
{
"caip2": "eip155:8453"
}
'HttpResponse<String> response = Unirest.post("https://api.privy.io/v1/wallets/{wallet_id}/ethereum_yield_claim")
.header("privy-app-id", "<privy-app-id>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"caip2\": \"eip155:8453\"\n}")
.asString();const options = {
method: 'POST',
headers: {
'privy-app-id': '<privy-app-id>',
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/json'
},
body: JSON.stringify({caip2: 'eip155:8453'})
};
fetch('https://api.privy.io/v1/wallets/{wallet_id}/ethereum_yield_claim', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.privy.io/v1/wallets/{wallet_id}/ethereum_yield_claim",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'caip2' => 'eip155:8453'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json",
"privy-app-id: <privy-app-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.privy.io/v1/wallets/{wallet_id}/ethereum_yield_claim"
payload := strings.NewReader("{\n \"caip2\": \"eip155:8453\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("privy-app-id", "<privy-app-id>")
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"caip2": "eip155:8453",
"status": "pending",
"rewards": [
{
"token_address": "0x1234567890abcdef1234567890abcdef12345678",
"token_symbol": "MORPHO",
"amount": "115631364898103632676"
}
],
"created_at": 1631573050000,
"updated_at": 1631573050000
}Claim yield rewards
Claim incentive rewards accrued from vault participation on the specified chain via Merkl.
curl --request POST \
--url https://api.privy.io/v1/wallets/{wallet_id}/ethereum_yield_claim \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--header 'privy-app-id: <privy-app-id>' \
--data '
{
"caip2": "eip155:8453"
}
'HttpResponse<String> response = Unirest.post("https://api.privy.io/v1/wallets/{wallet_id}/ethereum_yield_claim")
.header("privy-app-id", "<privy-app-id>")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"caip2\": \"eip155:8453\"\n}")
.asString();const options = {
method: 'POST',
headers: {
'privy-app-id': '<privy-app-id>',
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/json'
},
body: JSON.stringify({caip2: 'eip155:8453'})
};
fetch('https://api.privy.io/v1/wallets/{wallet_id}/ethereum_yield_claim', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.privy.io/v1/wallets/{wallet_id}/ethereum_yield_claim",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'caip2' => 'eip155:8453'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json",
"privy-app-id: <privy-app-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.privy.io/v1/wallets/{wallet_id}/ethereum_yield_claim"
payload := strings.NewReader("{\n \"caip2\": \"eip155:8453\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("privy-app-id", "<privy-app-id>")
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"caip2": "eip155:8453",
"status": "pending",
"rewards": [
{
"token_address": "0x1234567890abcdef1234567890abcdef12345678",
"token_symbol": "MORPHO",
"amount": "115631364898103632676"
}
],
"created_at": 1631573050000,
"updated_at": 1631573050000
}Authorizations
Basic Auth header with your app ID as the username and your app secret as the password.
Headers
ID of your Privy app.
Request authorization signature. If multiple signatures are required, they should be comma separated.
Request expiry. Value is a Unix timestamp in milliseconds representing the deadline by which the request must be processed.
Idempotency keys ensure API requests are executed only once within a 24-hour window.
Path Parameters
ID of the wallet.
Body
Input for claiming incentive rewards from vault participation.
An EVM CAIP-2 chain identifier (e.g., "eip155:4217" for Tempo, "eip155:8453" for Base).
^eip155:\d+$Response
Claim transaction submitted.
Response from a yield reward claim operation.
Privy transaction record ID for the claim operation.
An EVM CAIP-2 chain identifier (e.g., "eip155:4217" for Tempo, "eip155:8453" for Base).
^eip155:\d+$The current status of the claim transaction.
broadcasted, confirmed, execution_reverted, failed, replaced, finalized, provider_error, pending List of reward tokens claimed.
Show child attributes
Show child attributes
Unix timestamp of when the claim was created, in milliseconds.
Unix timestamp of when the claim was last updated, in milliseconds.
Was this page helpful?

