Create claim transactions
curl --request POST \
--url https://public-api-v2.bags.fm/api/v1/evm/rh/create-claim-txs \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"tokenAddress": "<string>",
"owner": "<string>"
}
'import requests
url = "https://public-api-v2.bags.fm/api/v1/evm/rh/create-claim-txs"
payload = {
"tokenAddress": "<string>",
"owner": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({tokenAddress: '<string>', owner: '<string>'})
};
fetch('https://public-api-v2.bags.fm/api/v1/evm/rh/create-claim-txs', 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://public-api-v2.bags.fm/api/v1/evm/rh/create-claim-txs",
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([
'tokenAddress' => '<string>',
'owner' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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://public-api-v2.bags.fm/api/v1/evm/rh/create-claim-txs"
payload := strings.NewReader("{\n \"tokenAddress\": \"<string>\",\n \"owner\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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))
}HttpResponse<String> response = Unirest.post("https://public-api-v2.bags.fm/api/v1/evm/rh/create-claim-txs")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"tokenAddress\": \"<string>\",\n \"owner\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://public-api-v2.bags.fm/api/v1/evm/rh/create-claim-txs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"tokenAddress\": \"<string>\",\n \"owner\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"response": {
"token": "<string>",
"feeShare": "<string>",
"claimableWei": "<string>",
"pendingWei": "<string>",
"actionableWei": "<string>",
"chainId": 4663,
"unwrap": true,
"transactions": [
{
"to": "<string>",
"data": "<string>",
"value": "0",
"from": "<string>",
"chainId": 4663
}
]
}
}{
"success": false,
"response": "<string>"
}{
"success": false,
"error": "<string>"
}{
"success": false,
"response": "<string>"
}{
"success": false,
"response": "<string>"
}Robinhood Chain
Create Robinhood Claim Transactions
Create unsigned EVM transactions for an owner to claim a Robinhood Chain token’s accrued fees as native ETH. The response includes the current claimable and estimated pending amounts used to build the transaction.
Sign and submit transactions in array order, waiting for each receipt before sending the next. A token normally returns one transaction because it currently has one fee-share contract.
POST
/
evm
/
rh
/
create-claim-txs
Create claim transactions
curl --request POST \
--url https://public-api-v2.bags.fm/api/v1/evm/rh/create-claim-txs \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"tokenAddress": "<string>",
"owner": "<string>"
}
'import requests
url = "https://public-api-v2.bags.fm/api/v1/evm/rh/create-claim-txs"
payload = {
"tokenAddress": "<string>",
"owner": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({tokenAddress: '<string>', owner: '<string>'})
};
fetch('https://public-api-v2.bags.fm/api/v1/evm/rh/create-claim-txs', 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://public-api-v2.bags.fm/api/v1/evm/rh/create-claim-txs",
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([
'tokenAddress' => '<string>',
'owner' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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://public-api-v2.bags.fm/api/v1/evm/rh/create-claim-txs"
payload := strings.NewReader("{\n \"tokenAddress\": \"<string>\",\n \"owner\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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))
}HttpResponse<String> response = Unirest.post("https://public-api-v2.bags.fm/api/v1/evm/rh/create-claim-txs")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"tokenAddress\": \"<string>\",\n \"owner\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://public-api-v2.bags.fm/api/v1/evm/rh/create-claim-txs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"tokenAddress\": \"<string>\",\n \"owner\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"response": {
"token": "<string>",
"feeShare": "<string>",
"claimableWei": "<string>",
"pendingWei": "<string>",
"actionableWei": "<string>",
"chainId": 4663,
"unwrap": true,
"transactions": [
{
"to": "<string>",
"data": "<string>",
"value": "0",
"from": "<string>",
"chainId": 4663
}
]
}
}{
"success": false,
"response": "<string>"
}{
"success": false,
"error": "<string>"
}{
"success": false,
"response": "<string>"
}{
"success": false,
"response": "<string>"
}Sign and submit
transactions in array order, waiting for each receipt before sending the next. Claims unwrap WETH to native ETH.Authorizations
API key authentication. Provide your API key as the header value.
Body
application/json
⌘I
