MPPtempoquality 0.82

Pay-per-upload static site hosting — upload a zip, get a live HTTPS subdomain for 6 months.

Price
per_call
Protocol
mpp
Verified
no

What it does

StableUpload's `/api/site` endpoint lets you purchase a static site hosting slot by paying per call via MPP (Tempo) or x402. You POST a JSON body with a filename and tier selection, receive a presigned S3 upload URL, then PUT your zip file to that URL. A subsequent call to `/api/site/activate` extracts the zip and serves the site at `https://{uploadId}.s.stableupload.dev/`. Sites support custom domains with automatic Cloudflare TLS, custom response headers via a `_headers` file (useful for WASM/COOP/COEP), and free updates by re-uploading a new zip to the same upload ID.

Three pricing tiers are available based on uncompressed site size: 10 MB for $0.02, 100 MB for $0.20, and 1 GB for $2.00. Each tier grants 6 months of hosting, extendable via the `/api/site/renew` endpoint (up to 10 periods at a time). Sites are limited to 500 files. Files are stored on AWS S3 and presigned upload URLs expire after 1 hour. No API keys are required — payment is handled inline via the MPP Tempo protocol (pathUSD) or x402. Wallet-based authentication (SIWX) is used for non-paid management operations like activating, updating, and attaching custom domains.

The full site hosting workflow involves multiple endpoints: `POST /api/site` (paid, creates slot), `PUT /api/site` (SIWX, gets new upload URL for updates), `POST /api/site/activate` (SIWX, extracts zip), `POST /api/site/domain` (SIWX, attaches custom domain), and `GET /api/site/domain/status` (SIWX, polls TLS status). Payment settlement uses pathUSD on Tempo L2 (currency address `0x20c0000000000000000000000000000000000001`).

Capabilities

static-site-hostingzip-uploadcustom-domaintls-provisioningpay-per-uploadpresigned-urls3-storagesite-renewalcustom-response-headersmpp-tempox402siwx-authwasm-support

Use cases

  • AI agents deploying generated static websites or documentation without managing infrastructure
  • Publishing a single-page app or landing page from a zip archive with a custom domain
  • Hosting WASM applications that require COOP/COEP headers
  • Programmatic site deployment in CI/CD pipelines using crypto micropayments
  • Temporary project hosting for demos, prototypes, or event pages with a 6-month TTL

Fit

Best for

  • AI agents that need to publish static content to a public URL autonomously
  • Developers wanting zero-config static site hosting paid per upload with no accounts
  • Deploying small to medium static sites (up to 1 GB uncompressed, 500 files)
  • Projects needing custom domains with automatic HTTPS provisioning

Not for

  • Dynamic server-side applications or sites requiring backend compute
  • Long-term permanent hosting without periodic renewal (files deleted on expiry)
  • Sites exceeding 1 GB uncompressed or 500 files

Quick start

# 1. Buy a site upload slot (payment handled via MPP/x402)
curl -X POST https://stableupload.dev/api/site \
  -H "Content-Type: application/json" \
  -d '{"filename": "my-site.zip", "tier": "10mb"}'

# 2. Upload your zip to the returned uploadUrl
curl -X PUT "$uploadUrl" \
  -H "Content-Type: application/zip" \
  --data-binary @my-site.zip

# 3. Activate the site (requires SIWX auth)
curl -X POST https://stableupload.dev/api/site/activate \
  -H "Content-Type: application/json" \
  -d '{"uploadId": "<uploadId>"}'

Example

Request

{
  "tier": "100mb",
  "filename": "my-site.zip"
}

Response

{
  "maxSize": 104857600,
  "uploadId": "k7gm3nqp2",
  "expiresAt": "2026-01-15T00:00:00.000Z",
  "uploadUrl": "https://s3.amazonaws.com/bucket/k7gm3nqp2?X-Amz-Signature=...",
  "curlExample": "curl -X PUT 'https://s3.amazonaws.com/bucket/k7gm3nqp2?...' -H 'Content-Type: application/zip' --data-binary @my-site.zip"
}

Endpoint

Transporthttp
Protocolmpp
CurrencypathUSD

Quality

0.82/ 1.00

Full OpenAPI 3.1 schema with detailed x-guidance documentation, clear pricing tiers, and well-defined request/response schemas. The MPP probe returned 405 because the endpoint only accepts POST (not HEAD/GET), which is expected behavior — the OpenAPI spec confirms it's a POST-only paid endpoint. Docked slightly because no live 402 challenge was captured and the docs page returns 404.

Warnings

  • MPP probe returned 405 on HEAD/GET — endpoint is POST-only; the probe did not attempt POST so no 402 challenge was captured directly
  • The /docs page returns 404; all documentation comes from the OpenAPI x-guidance field
  • Expired sites cannot be renewed — files are permanently deleted on expiry

Citations

Provenance

Indexed frommpp_dev
Enriched2026-04-19 16:55:37Z · anthropic/claude-opus-4.6 · v2
First seen2026-04-18
Last seen2026-04-22

Agent access