Guide
Reselling AI Agents
Deploy bots for your own customers, under your own brand and your own pricing, on the same fleet that runs this dashboard. This is the working version — the API calls, the model-funding choice, and the billing detail that surprises people. The pitch lives on the Build & Resell page.
What You Are Buying
A REST API for creating and driving agent instances, a storefront template with sign-up and checkout already wired, signed webhooks so your systems hear about state changes, and a roster of every bot you deployed. You package it and price it; we run the compute underneath.
Your customers stay yours. We do not contact them and we do not appear inside your product.
Reseller API vs Developer API
Two different surfaces, and picking the wrong one wastes an afternoon:
- This one creates bot instances — OpenClaw or Hermes — for other people, and bills you per instance-hour.
- The Developer API creates coding workspaces for yourself, against slots your own plan includes.
Quick Start
Open the dashboard, go to Build & Resell, and create a key on the API Keys tab. Then:
export RESELL_KEY="…"
BASE=https://openclawlaunch.com/api/v1
# Create an instance for a customer — openclaw or hermes
curl -X POST $BASE/instances \
-H "Authorization: Bearer $RESELL_KEY" \
-H "Content-Type: application/json" \
-d '{"framework":"hermes"}'
# Send it a message and stream the reply (-N disables buffering)
curl -N -X POST $BASE/responses \
-H "Authorization: Bearer $RESELL_KEY" \
-H "Content-Type: application/json" \
-d '{"instance_id":"…","input":"Hello","session_id":"customer-42"}'Replies stream back over SSE. Note the session_id: conversations are multi-turn, but only if you send a stable one. Omit it and every request starts a fresh session, so the bot forgets the previous message — pick your own id per customer or per thread, or reuse the x-openclaw-session-id that comes back on the response.
Creates usually claim a warm container and are ready in seconds. When the pool is empty the create falls back to a cold start, which takes roughly 30 to 90 seconds to become reachable — normal, not a failure, so give your own provisioning flow that much patience before it gives up.
The Rest of the Surface
- Lifecycle. List everything you created, inspect one for live status, start a sleeping instance, stop one when a customer churns, and delete it to free a quota slot.
- Usage. Query creates, responses, live instances and your plan limits.
- Balance and ledger. Your prepaid Scale balance, auto-reload configuration and pricing, plus the activity behind it — top-ups, hourly hosting debits and refunds.
- Model funding. Promote a resold instance off the free model onto your own OpenRouter key, and check whether an end-user key is on file and whose provider it is (masked).
- Integrations. Turn on app integrations for your customers.
- Webhooks. Signed callbacks so your billing and support systems learn about state changes without polling.
Billing, Including the Part People Get Wrong
Prepaid and purely hourly. There is no per-deploy fee, so spinning up a bot to see whether it works costs about a cent, and no monthly platform fee or commitment.
- A Lite bot is $0.007 an hour; a Pro bot is $0.014 — roughly $5 and $10 over a 30-day month.
- Top-ups are a minimum of $5, and you need at least $1 on the balance to deploy.
- Whatever is left of your most recent top-up is refundable to your card at any time.
Now the part that catches people out. Metering starts when the bot exists and runs until you DELETE it. Stopping a bot does not pause the meter, and neither does letting it sleep — a stopped bot still holds its disk, its volumes and its slot on a node. If a customer churns, stopping their bot keeps their data available and keeps charging you; deleting is what ends the charge. Decide which of those you want, and script it, because the difference compounds across a customer base.
Who Pays for the Models
Hosting and models are billed separately, and the model side is yours to arrange. Before your first OpenClaw deploy, add an Agnes key or an OpenRouter provisioning key under Build & Resell — a resold bot runs on funding you supplied, and a create with neither on file is refused rather than quietly charged to somebody else.
Three ways to fund a bot:
- The free Agnes model, on your Agnes key. No per-token cost to you, which is what makes a free tier of your own viable.
- Your own OpenRouter account. We mint a capped, per-bot runtime key from your provisioning key; the provisioning key itself never enters the container. Model spend lands on your account and you price around it.
- Your customer’s own key. Pass
model_keyat create time — plusmodel_key_providerwhen it is not an OpenRouter key — and the model bill is theirs, not yours. You can rotate that key later without redeploying the bot.
Moving a bot off the free trial onto your OpenRouter key is a single promote call, which makes the natural trigger obvious: fire it when the end user converts, so your model spend starts on real customers rather than on everyone who tries the free tier.
One restriction worth designing around: this funding machinery — promote, and the customer-key path — is OpenClaw only. Calling promote on a Hermes instance returns 400, and model_key is refused on create for anything but OpenClaw. If per-customer model funding is central to your product, build that line on OpenClaw. See BYOK on OpenClaw and BYOK on Hermes for how key routing behaves inside a bot.
OpenClaw or Hermes for Your Customers
Both, and it is a per-instance choice made at create time with the framework field — so you can offer one product line on each, or default everyone to one and move individuals later. Lifecycle, messaging and billing behave the same on either; model funding is the one place they differ, as above.
Rough guidance: OpenClaw carries the larger plugin and channel surface, while Hermes is lighter and quicker to start, which matters when you are deploying many. The comparison goes deeper.
Practical Advice
- Delete aggressively in test. A forgotten demo bot bills quietly at a few dollars a month, and ten of them is a real number.
- Wire the webhooks before your first paying customer, not after. Reconciling state you never received is worse than the hour it takes to handle a callback.
- Decide your churn policy up front — stop and keep data, or delete and free the charge — and make it explicit in your own terms.
- Watch the balance floor. A deploy needs at least a dollar on the balance, so an empty balance means a failed sign-up for a customer who is standing right there. Auto-reload exists for this.
Try It
Create a key, deploy one instance, message it, then delete it and watch the ledger. That round trip tells you more about the economics than any pricing table.
Related: Build & Resell, Developer API, AI agent hosting, managed vs self-hosted.