Skip to main content
POST
/
cancel-vesting
Cancel Vesting
curl --request POST \
  --url https://tokens.shakesco.com/cancel-vesting \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "customer_ref": "<string>"
}
'
import requests

url = "https://tokens.shakesco.com/cancel-vesting"

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/cancel-vesting', 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/cancel-vesting",
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/cancel-vesting"

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/cancel-vesting")
.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/cancel-vesting")

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..." }
{ "error": "No active vesting grant found" }
For the complete documentation index, see llms.txt. Cancels an active vesting grant. Whatever has already vested (but not yet been claimed) is credited to the customer’s available balance. The remaining unvested portion is returned to your token reserve.
This is irreversible. The customer can no longer earn from this grant. Treat it as a transaction and verify with /vesting-info before any retry.

Request Body

customer_ref
string
required
Your unique identifier for this customer

Response

tx_hash
string
Reference identifier for the cancellation
await fetch("https://tokens.shakesco.com/cancel-vesting", {
  method: "POST",
  headers: { Authorization: `Bearer ${API_KEY}`, "Content-Type": "application/json" },
  body: JSON.stringify({ customer_ref: "customer-123" }),
});
{ "tx_hash": "0xabc..." }
{ "error": "No active vesting grant found" }