Prune Inactive Stakes
curl --request POST \
--url https://tokens.shakesco.com/prune-inactive-stakes \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"customer_ref": "<string>"
}
'import requests
url = "https://tokens.shakesco.com/prune-inactive-stakes"
payload = { "customer_ref": "<string>" }
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({customer_ref: '<string>'})
};
fetch('https://tokens.shakesco.com/prune-inactive-stakes', 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/prune-inactive-stakes",
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([
'customer_ref' => '<string>'
]),
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/prune-inactive-stakes"
payload := strings.NewReader("{\n \"customer_ref\": \"<string>\"\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/prune-inactive-stakes")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"customer_ref\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://tokens.shakesco.com/prune-inactive-stakes")
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 \"customer_ref\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{ "tx_hash": "0xabc..." }
Staking
Prune Inactive Stakes
Remove a customer’s already-unlocked stake records to free room for new stakes
POST
/
prune-inactive-stakes
Prune Inactive Stakes
curl --request POST \
--url https://tokens.shakesco.com/prune-inactive-stakes \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"customer_ref": "<string>"
}
'import requests
url = "https://tokens.shakesco.com/prune-inactive-stakes"
payload = { "customer_ref": "<string>" }
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({customer_ref: '<string>'})
};
fetch('https://tokens.shakesco.com/prune-inactive-stakes', 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/prune-inactive-stakes",
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([
'customer_ref' => '<string>'
]),
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/prune-inactive-stakes"
payload := strings.NewReader("{\n \"customer_ref\": \"<string>\"\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/prune-inactive-stakes")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"customer_ref\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://tokens.shakesco.com/prune-inactive-stakes")
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 \"customer_ref\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{ "tx_hash": "0xabc..." }
For the complete documentation index, see llms.txt.
Each customer is capped at 50 stake records (active or otherwise). Once a stake has been unstaked, this endpoint lets you delete the inactive record so the customer can create new stakes. Has no effect on active stakes or available balance.
Calling this changes stake indexes, so refresh any cached
stake_index values immediately after.Request Body
Your unique identifier for this customer
Response
Reference identifier for the prune operation
await fetch("https://tokens.shakesco.com/prune-inactive-stakes", {
method: "POST",
headers: { Authorization: `Bearer ${API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({ customer_ref: "customer-123" }),
});
{ "tx_hash": "0xabc..." }
⌘I