# StableUpload
> Upload files for permanent CDN URLs or deploy static websites from zip archives via micropayments. Supports durable artifact hosting, generated download links, static site subdomains, renewals, and simple file or site publishing for agents.

## Agent Summary
- FQN: `merit-systems/stableupload/hosting`
- Category: storage
- Operator: merit-systems
- Origin: stableupload
- Version: 
- Endpoints: 11
- Pricing: $0.02
- HTML page: https://pay.sh/services/merit-systems/stableupload/hosting
- Markdown page: https://pay.sh/services/merit-systems/stableupload/hosting/index.md

## Service URLs
- Gateway: https://stableupload.dev
- Source: solana-foundation/pay-skills
- Source path: providers/merit-systems/stableupload/hosting/PAY.md
- Source skill: pay-skills

## Use Case
Use for hosting files, sharing generated artifacts, publishing static websites, uploading zip deployments, creating permanent CDN download URLs, serving images or documents, agent-generated deliverables, simple web hosting, and renewing site deployments.

## Endpoint Table
| Method | Path | Pricing | Description |
| --- | --- | --- | --- |
| GET | api/download/:uploadId | free | Get upload metadata by ID. Does not return file bytes. |
| POST | api/site | $0.02/requests | Buy a site upload slot. Upload a zip file, then activate to extract and serve as a static site. |
| PUT | api/site | free | Get a new upload URL for an existing site. Upload a new zip, then call POST /api/site/activate to re-extract. |
| POST | api/site/activate | free | Activate an uploaded zip site. Extracts the current source zip and makes the site live; already-live sites require a newly uploaded replacement zip. |
| DELETE | api/site/domain | free | Detach a custom domain from a site. |
| POST | api/site/domain | free | Connect a custom domain to a site. Creates TLS cert and routes the hostname to the site. |
| GET | api/site/domain/preview | free | Preview the DNS records required for a custom domain. Set these before POST /api/site/domain for instant SSL. |
| GET | api/site/domain/status | free | Check TLS provisioning status for a custom domain. Poll until ssl is 'active'. |
| POST | api/site/renew | $0.02/requests | Renew a site for count x the original tier retention window. Price = tier price x count. |
| POST | api/upload | $0.02/requests | Buy an upload slot. Agent uploads file via returned URL. |
| GET | api/uploads | free | List upload metadata for the authenticated wallet, newest first. Use nextCursor for pagination. |
