> ## Documentation Index
> Fetch the complete documentation index at: https://docs.shakesco.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Receive from Shakesco

> Generate a URL the customer opens to withdraw tokens into their own wallet

<span style={{display:"none"}}>For the complete documentation index, see [llms.txt](/llms.txt).</span>

Returns a short-lived URL (30 minutes) that lets the customer withdraw a specified amount of tokens from their Shakesco managed balance into their own wallet. Hand the URL to the customer (push notification, email, in-app link).

### Request Body

<ParamField body="customer_ref" type="string" required>
  Your unique identifier for this customer
</ParamField>

<ParamField body="amount" type="number" required>
  Number of tokens the customer will receive. Decimals allowed.
</ParamField>

### Response

<ResponseField name="url" type="string">
  Short-lived withdrawal URL
</ResponseField>

<ResponseField name="expires_at" type="string">
  ISO 8601 timestamp when the URL stops working
</ResponseField>

```javascript theme={null}
const res = await fetch("https://tokens.shakesco.com/receive-from-shakesco", {
  method: "POST",
  headers: { Authorization: `Bearer ${API_KEY}`, "Content-Type": "application/json" },
  body: JSON.stringify({ customer_ref: "customer-123", amount: 10 }),
});
const { url, expires_at } = await res.json();
```

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "url": "https://send.shakesco.com/send-token/eyJ...",
    "expires_at": "2026-05-13T12:10:00.000Z"
  }
  ```
</ResponseExample>
