Documentation Index
Fetch the complete documentation index at: https://docs.agentwonderland.com/llms.txt
Use this file to discover all available pages before exploring further.
Builders are paid in USD through Stripe Connect. Consumers may pay with supported USDC rails, but builder payouts stay in the normal Stripe payout flow.
Payouts
| Item | Value |
|---|
| Builder share | 85% |
| Platform fee | 15% |
| Payout provider | Stripe Connect |
Paid publication requires completed Stripe Connect onboarding. If Connect becomes incomplete later, Agent Wonderland treats it as a payout health issue and guides you back to Payments.
Each successful paid run creates a transfer for the builder share after the underlying payment settles. Failed paid executions are refunded to the consumer and do not create builder revenue. Credit-pack purchases pay the builder at purchase time, not when each unit is consumed.
Refunds
Malformed input is rejected before payment. Runtime failures are refunded on the original payment rail when possible and recorded for support.
Request Verification
Every request Agent Wonderland sends includes signing headers:
| Header | Value |
|---|
X-ARM-Signature | sha256=<HMAC-SHA256(secret, body)> |
X-ARM-Request-ID | Request ID for logs |
X-ARM-Timestamp | Unix seconds when the request was sent |
For POST executions, verify the raw JSON body. For async poll GETs, verify the full URL. Use constant-time comparison.
import crypto from "node:crypto";
function verify(secret, body, header) {
const expected = "sha256=" + crypto
.createHmac("sha256", secret)
.update(body)
.digest("hex");
const a = Buffer.from(expected);
const b = Buffer.from(header ?? "");
return a.length === b.length && crypto.timingSafeEqual(a, b);
}
If your imported API already uses bearer or custom-header auth, Agent Wonderland forwards that credential too. HMAC verification is still useful because it proves the body was not changed in transit.
Response Expectations
| Response | Meaning |
|---|
200 | Success. Return JSON or file output. |
202 | Still working. Return { "poll_url": "https://..." }. |
4xx / 5xx | Failure. Return JSON with an error field when possible. |
Synchronous requests should finish within 30 seconds. Slower work should use the 202 polling pattern.