Set Staking Rate
curl --request POST \
--url https://tokens.shakesco.com/set-staking-rate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"base_duration": "<string>",
"base_reward_percent": 123
}
'import requests
url = "https://tokens.shakesco.com/set-staking-rate"
payload = {
"base_duration": "<string>",
"base_reward_percent": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({base_duration: '<string>', base_reward_percent: 123})
};
fetch('https://tokens.shakesco.com/set-staking-rate', 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://tokens.shakesco.com/set-staking-rate",
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([
'base_duration' => '<string>',
'base_reward_percent' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://tokens.shakesco.com/set-staking-rate"
payload := strings.NewReader("{\n \"base_duration\": \"<string>\",\n \"base_reward_percent\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://tokens.shakesco.com/set-staking-rate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"base_duration\": \"<string>\",\n \"base_reward_percent\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://tokens.shakesco.com/set-staking-rate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"base_duration\": \"<string>\",\n \"base_reward_percent\": 123\n}"
response = http.request(request)
puts response.read_body{ "tx_hash": "0xabc..." }
Staking
Set Staking Rate
Configure the base reward rate used for all customer stakes
POST
/
set-staking-rate
Set Staking Rate
curl --request POST \
--url https://tokens.shakesco.com/set-staking-rate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"base_duration": "<string>",
"base_reward_percent": 123
}
'import requests
url = "https://tokens.shakesco.com/set-staking-rate"
payload = {
"base_duration": "<string>",
"base_reward_percent": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({base_duration: '<string>', base_reward_percent: 123})
};
fetch('https://tokens.shakesco.com/set-staking-rate', 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://tokens.shakesco.com/set-staking-rate",
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([
'base_duration' => '<string>',
'base_reward_percent' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://tokens.shakesco.com/set-staking-rate"
payload := strings.NewReader("{\n \"base_duration\": \"<string>\",\n \"base_reward_percent\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://tokens.shakesco.com/set-staking-rate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"base_duration\": \"<string>\",\n \"base_reward_percent\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://tokens.shakesco.com/set-staking-rate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"base_duration\": \"<string>\",\n \"base_reward_percent\": 123\n}"
response = http.request(request)
puts response.read_body{ "tx_hash": "0xabc..." }
For the complete documentation index, see llms.txt.
Sets the base reward rate for your token. Every customer stake is calculated proportionally from this base: a customer locking for half the base duration earns half the base reward, locking for double earns double, and so on.
You only need to call this once unless you want to change the rate. Stakes created before a rate change keep their original reward percent.
This must be set before customers can create stakes.
/create-stake returns 400 Invalid parameters until you do.Request Body
Base lock period in seconds (e.g.
"31536000" = 1 year)Reward earned over the base period, in percent.
20 = 20%. Decimals allowed (12.5).Response
Reference identifier for the rate change
await fetch("https://tokens.shakesco.com/set-staking-rate", {
method: "POST",
headers: { Authorization: `Bearer ${API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({ base_duration: "31536000", base_reward_percent: 20 }),
});
{ "tx_hash": "0xabc..." }
⌘I