Transfer Tokens
curl --request POST \
--url https://tokens.shakesco.com/transfer-tokens \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"from_customer_ref": "<string>",
"to_customer_ref": "<string>",
"amount": 123
}
'import requests
url = "https://tokens.shakesco.com/transfer-tokens"
payload = {
"from_customer_ref": "<string>",
"to_customer_ref": "<string>",
"amount": 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({from_customer_ref: '<string>', to_customer_ref: '<string>', amount: 123})
};
fetch('https://tokens.shakesco.com/transfer-tokens', 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/transfer-tokens",
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([
'from_customer_ref' => '<string>',
'to_customer_ref' => '<string>',
'amount' => 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/transfer-tokens"
payload := strings.NewReader("{\n \"from_customer_ref\": \"<string>\",\n \"to_customer_ref\": \"<string>\",\n \"amount\": 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/transfer-tokens")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"from_customer_ref\": \"<string>\",\n \"to_customer_ref\": \"<string>\",\n \"amount\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://tokens.shakesco.com/transfer-tokens")
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 \"from_customer_ref\": \"<string>\",\n \"to_customer_ref\": \"<string>\",\n \"amount\": 123\n}"
response = http.request(request)
puts response.read_body{ "tx_hash": "0xabc123..." }
{ "error": "Insufficient token balance" }
Transfer
Transfer Tokens
Move tokens from one customer to another
POST
/
transfer-tokens
Transfer Tokens
curl --request POST \
--url https://tokens.shakesco.com/transfer-tokens \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"from_customer_ref": "<string>",
"to_customer_ref": "<string>",
"amount": 123
}
'import requests
url = "https://tokens.shakesco.com/transfer-tokens"
payload = {
"from_customer_ref": "<string>",
"to_customer_ref": "<string>",
"amount": 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({from_customer_ref: '<string>', to_customer_ref: '<string>', amount: 123})
};
fetch('https://tokens.shakesco.com/transfer-tokens', 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/transfer-tokens",
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([
'from_customer_ref' => '<string>',
'to_customer_ref' => '<string>',
'amount' => 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/transfer-tokens"
payload := strings.NewReader("{\n \"from_customer_ref\": \"<string>\",\n \"to_customer_ref\": \"<string>\",\n \"amount\": 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/transfer-tokens")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"from_customer_ref\": \"<string>\",\n \"to_customer_ref\": \"<string>\",\n \"amount\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://tokens.shakesco.com/transfer-tokens")
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 \"from_customer_ref\": \"<string>\",\n \"to_customer_ref\": \"<string>\",\n \"amount\": 123\n}"
response = http.request(request)
puts response.read_body{ "tx_hash": "0xabc123..." }
{ "error": "Insufficient token balance" }
For the complete documentation index, see llms.txt.
Moves tokens between two of your customers. Both are identified by your own
customer_ref strings.
Treat this as a transaction. If you don’t get a
200 OK, check both balances before retrying. A successful retry after a successful original transfer doubles the movement.Request Body
Your unique identifier for the sender
Your unique identifier for the receiver
Number of tokens to transfer. Decimals allowed.
Response
Reference identifier for the transfer
await fetch("https://tokens.shakesco.com/transfer-tokens", {
method: "POST",
headers: { Authorization: `Bearer ${API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({
from_customer_ref: "customer-123",
to_customer_ref: "customer-456",
amount: 5,
}),
});
{ "tx_hash": "0xabc123..." }
{ "error": "Insufficient token balance" }
⌘I