User Info
curl --request GET \
--url https://tokens.shakesco.com/user-info \
--header 'Authorization: Bearer <token>'import requests
url = "https://tokens.shakesco.com/user-info"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://tokens.shakesco.com/user-info', 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/user-info",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://tokens.shakesco.com/user-info"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://tokens.shakesco.com/user-info")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://tokens.shakesco.com/user-info")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"available_balance": "50.0",
"each_token_value": "10.0",
"each_token_value_in_business": "9.0",
"total_staked": "100.0",
"total_vested": "0.0",
"total_earned": "200.0",
"total_spent": "50.0",
"tier": "Bronze",
"voting_power": "5"
}
Read & Query
User Info
Full snapshot of a customer’s token state in a single call
GET
/
user-info
User Info
curl --request GET \
--url https://tokens.shakesco.com/user-info \
--header 'Authorization: Bearer <token>'import requests
url = "https://tokens.shakesco.com/user-info"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://tokens.shakesco.com/user-info', 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/user-info",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://tokens.shakesco.com/user-info"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://tokens.shakesco.com/user-info")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://tokens.shakesco.com/user-info")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"available_balance": "50.0",
"each_token_value": "10.0",
"each_token_value_in_business": "9.0",
"total_staked": "100.0",
"total_vested": "0.0",
"total_earned": "200.0",
"total_spent": "50.0",
"tier": "Bronze",
"voting_power": "5"
}
For the complete documentation index, see llms.txt.
Returns balance, lifetime earnings/spending, total staked, total vested, current tier, and voting power in one response. Useful for rendering a customer dashboard without making multiple calls.
Query Parameters
string
required
Your unique identifier for this customer
Response
string
Spendable balance (excludes staked and unvested tokens)
string
Configured value of one token in your chosen currency
string
Discounted token value when spent at your business
string
Tokens locked across all active stakes
string
Tokens currently held in an unclaimed vesting grant
string
Lifetime tokens earned (all sources)
string
Lifetime tokens redeemed
string
Current tier label, one of
"None", "Bronze", "Silver", "Gold"string
Number of votes this customer has based on their available balance
const res = await fetch(
"https://tokens.shakesco.com/user-info?customer_ref=customer-123",
{ headers: { Authorization: `Bearer ${API_KEY}` } }
);
const info = await res.json();
{
"available_balance": "50.0",
"each_token_value": "10.0",
"each_token_value_in_business": "9.0",
"total_staked": "100.0",
"total_vested": "0.0",
"total_earned": "200.0",
"total_spent": "50.0",
"tier": "Bronze",
"voting_power": "5"
}