Skip to main content
POST
/
start_session
const response = await fetch("https://payments.shakesco.com/start_session", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    auto_address: "0x309E7d835ccE6E74BC72A2E523fa7f79FFC0d413",
    delegate_address: "",
    network: "137",
    period: "2592000",
    description: "Premium Subscription",
    redirect_url: "https://yoursite.com/success",
    number: "",
    currency_code: "USD",
    amount: "20",
    token_address: ["Polygon", "USDC"],
    should_split: false,
  }),
});

const { url } = await response.json();
window.location.href = url; // Redirect to checkout
import requests

response = requests.post(
    "https://payments.shakesco.com/start_session",
    headers={
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json"
    },
    json={
        "auto_address": "0x309E7d835ccE6E74BC72A2E523fa7f79FFC0d413",
        "delegate_address": "",
        "network": "137",
        "period": "2592000",
        "description": "Premium Subscription",
        "redirect_url": "https://yoursite.com/success",
        "number": "",
        "currency_code": "USD",
        "amount": "20",
        "token_address": ["Polygon", "USDC"],
        "should_split": False
    }
)

data = response.json()
{
  "id": 1,
  "url": "https://checkout.shakesco.com?ZXlKaGJH..."
}
For the complete documentation index, see llms.txt. Generate a checkout URL for users to complete payment requests. Session expires after 5 minutes.

Request Body

auto_address
string
required
Your Business Auto account address
delegate_address
string
Leave empty for checkout - user enters their own address
network
string
required
  • 1 = Ethereum - 137 = Polygon - 11155111 = Sepolia testnet
period
string
required
Payment interval in seconds
description
string
required
Subscription description shown to user
redirect_url
string
required
URL to redirect after successful checkout
number
string
Number of allowed splitters. Empty string to disable
currency_code
string
required
Currency code (e.g., USD, EUR)
amount
string
required
Payment amount
token_address
array
Array of accepted tokens (e.g., ["Ethereum", "USDT"])
should_split
boolean
Enable split payments

Response

id
integer
Session ID
url
string
Checkout URL (expires in 5 minutes)
const response = await fetch("https://payments.shakesco.com/start_session", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    auto_address: "0x309E7d835ccE6E74BC72A2E523fa7f79FFC0d413",
    delegate_address: "",
    network: "137",
    period: "2592000",
    description: "Premium Subscription",
    redirect_url: "https://yoursite.com/success",
    number: "",
    currency_code: "USD",
    amount: "20",
    token_address: ["Polygon", "USDC"],
    should_split: false,
  }),
});

const { url } = await response.json();
window.location.href = url; // Redirect to checkout
import requests

response = requests.post(
    "https://payments.shakesco.com/start_session",
    headers={
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json"
    },
    json={
        "auto_address": "0x309E7d835ccE6E74BC72A2E523fa7f79FFC0d413",
        "delegate_address": "",
        "network": "137",
        "period": "2592000",
        "description": "Premium Subscription",
        "redirect_url": "https://yoursite.com/success",
        "number": "",
        "currency_code": "USD",
        "amount": "20",
        "token_address": ["Polygon", "USDC"],
        "should_split": False
    }
)

data = response.json()
{
  "id": 1,
  "url": "https://checkout.shakesco.com?ZXlKaGJH..."
}
Sessions expire after 5 minutes. Generate a new session if needed.