Skip to main content
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

customer_ref
string
required
Your unique identifier for this customer

Response

tx_hash
string
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..." }