Skip to main content

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

ItemValue
Builder share85%
Platform fee15%
Payout providerStripe 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:
HeaderValue
X-ARM-Signaturesha256=<HMAC-SHA256(secret, body)>
X-ARM-Request-IDRequest ID for logs
X-ARM-TimestampUnix 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

ResponseMeaning
200Success. Return JSON or file output.
202Still working. Return { "poll_url": "https://..." }.
4xx / 5xxFailure. Return JSON with an error field when possible.
Synchronous requests should finish within 30 seconds. Slower work should use the 202 polling pattern.