Ship agents to your users
without running servers

One API call gives each of your customers their own persistent agent. We run the machines.

No newsletter. One email when your access is ready.

Read the API docs
Run the agent you already use
Claude CodeCodexOpenClawCursorHermesZeroClaw
Bring your own model
AnthropicOpenAIGoogleDeepSeekMoonshot
Or your own container, and hundreds of models through OpenRouter.

Three calls.
That is it.

1. Create

One call when a customer signs up. Their agent is running 0.12 second later.

POST /agents
{ "external_id": "customer-42", "model": { "provider": "anthropic", "api_key": "sk-ant-..." } }
{ "id": "b84d0896", "status": "running" }

2. Talk

Relay what your customer types, render the reply. The agent keeps the context.

POST /agents/{id}/message
{ "text": "Sort my March receipts" }
{ "text": "Done, 14 receipts sorted." }

3. Rewind

It broke something? One call and this customer's agent is back to how it was.

POST /agents/{id}/restore
{} // the latest checkpoint
{ "ok": true, "snapshot_id": "20260924-091500-3fa1", "status": "running" }

What each
customer gets.

Their own machine

A customer never sees another customer's files.

Their own history

A checkpoint every 15 minutes. Offer them an undo button.

Their own budget

You set a spend cap. At the cap the agent stops and your code gets a clear 402.

Their own sleep schedule

Idle agents sleep and free their running slot.

Plain JSON.
One API key.

If you can write a curl command, you can use Waken.

Read the API docs
  • POST/agentsCreate an agent
  • POST/agents/{id}/messageSend a message, get the reply
  • POST/agents/{id}/restoreRewind it to a checkpoint
  • POST/agents/{id}/sleepPut it to sleep
  • GET/agents/{id}/usageSpend so far and cap
  • DELETE/agents/{id}Delete it

Frequently asked
questions.

Your product.
Our machines.