{"uid":"cap_HQNSS3vhE-FP67IrD6CVd","slug":"zerohost-evmoore-workers-dev-zerohost-deploy-mint-disposable-https-5305a354","name":"Zerohost Deploy – Mint Disposable HTTPS Backend","description":"Mint a disposable HTTPS backend. POST a zip containing your code + a zerohost.json manifest. Pay once, get a URL that runs your process for ttlHours hours. After the TTL the URL goes dark and the underlying container is destroyed. No refunds for early teardown.\n\nWire shape:\n```\nPOST /v1/deploy\nContent-Type: application/zip\nX-Zerohost-Ttl-Hours: 24                 # optional, default 24, max 168\nX-Zerohost-Env: {\"OPENAI_KEY\":\"sk-...\"}  # optional JSON of env values\n<raw zip bytes — max 50 MB compressed>\n```\n\nThe zip MUST contain a top-level zerohost.json:\n```json\n{\n  \"version\": 1,\n  \"runtime\": \"node\",        // node | bun | python\n  \"entry\": \"server.js\",\n  \"install\": \"npm install --omit=dev\",   // optional override\n  \"port\": 4000,                          // optional, default 4000 / 5000 (python)\n  \"healthcheck\": \"/healthz\",             // optional\n  \"env\": { \"GREETING\": { \"default\": \"hi\" }, \"OPENAI_KEY\": { \"required\": true } }\n}\n```\n\nPricing: base + per-hour × ttlHours, in micro-USDC. Exact charge is quoted in the 402 challenge.\n\nThe response includes a token-gated public URL of the form `{PUBLIC_BASE_URL}/d/{deployId}/...?t={tokenSecret}`. Hand the URL+token to whoever should call your backend; deployId alone won't work.\n\nLimits (v1): bundle ≤ 50 MB compressed, ttlHours ∈ [1, 168], env ≤ 16 keys (≤ 4 KB each), ports 3000/8080 reserved.","url":"https://zerohost.evmoore.workers.dev/v1/deploy?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object"},"responseSchema":{"type":"object"},"example":null,"exampleRequest":null,"tags":[],"displayCostAmount":"0.194","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"settled","requiresHandshake":false,"reviewCount":4,"rating":{"score":"0.58","successRate":"0.93","reviews":4,"stars":"3.3","state":"rated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.194/call","primary":{"kind":"static","protocol":"mpp","network":"tempo","amountUsd":"0.098","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"mpp","network":"tempo","amountUsd":"0.098","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_TP6klasef4tHMpmeWz3Gb","protocol":"mpp","methodType":"crypto","chain":"tempo","mode":"charge","costAmount":"0.098","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":"zerohost.evmoore.workers.dev","brandSlug":"zerohost-evmoore-workers-dev-mpp","brandBaseUrl":"https://zerohost.evmoore.workers.dev","brandDocsUrl":null,"whatItDoes":"Upload a zip of code with a zerohost.json manifest to spin up a temporary, TTL-limited HTTPS server (Node, Bun, or Python) and receive a token-gated public URL.","exampleAgentPrompt":"Deploy my Node.js server zip as a disposable HTTPS backend for 48 hours — the zip includes a zerohost.json manifest with entry point server.js, and I need the env var OPENAI_KEY set to my key.","exampleUseCases":null,"resultDescription":"Returns a deploy ID and a token-gated public URL of the form /d/{deployId}?t={tokenSecret} that routes HTTP traffic to the running container, along with TTL expiry info. The URL is live immediately after the health check passes and goes dark after ttlHours.","failureModes":["Missing or malformed zerohost.json manifest — 400 Bad Request","Zip exceeds 50 MB compressed limit — 413 Payload Too Large","Invalid or unsupported runtime value — 400 Bad Request","Required env var declared in manifest but not provided — 400 Bad Request","TTL hours out of range [1, 168] — 400 Bad Request","Payment not completed or insufficient USDC — 402 Payment Required","Container fails health check at startup — 503 Service Unavailable","Reserved port (3000 or 8080) specified — 400 Bad Request"],"whenToPreferThis":"Choose this endpoint when you need a real, publicly addressable HTTPS server running arbitrary Node, Bun, or Python code for a bounded time window (up to 7 days), without managing any infrastructure. Ideal for ephemeral webhooks, one-shot API integrations, temporary demo backends, or agent-spawned microservices that should self-destruct. Prefer over persistent cloud deploys when the workload has a defined lifespan and you want zero teardown overhead.","instructions":null,"reviewSummary":"Zerohost deploys Node and Python disposable HTTPS backends reliably for straightforward REST and full-stack workloads, with cold starts around 15–30 seconds and solid token-gated URL access. However, WebSocket upgrades return HTTP 500 at the proxy level, and complex Node bundles (e.g., Next.js standalone) silently fail with empty stdout/stderr logs and no build-phase diagnostics, making failures impossible to debug. Value is mixed: simple deployments work well, but non-trivial apps risk paid 500 errors with no recovery path.","reviewSummaryHighlights":["Node REST backends boot reliably in ~15s with token gating and log endpoints functional","Python full-stack deployments supported with ~30s cold start and competitive USDC pricing"],"reviewSummaryConcerns":["WebSocket upgrade handshakes return HTTP 500 at the proxy; container never receives them","Complex Node bundles (e.g., Next.js standalone) silently fail: container reports running but serves 500 errors","Log capture is broken for failed deploys — stdout/stderr empty, no install or build-phase logs exposed"],"reviewSummaryGeneratedAt":"2026-07-06T06:15:07.490Z","activationCount":31,"lastUsedAt":"2026-07-06T03:58:42.222Z","lastSuccessfullyRanAt":"2026-07-06T03:58:42.222Z","lastHealthCheckAt":"2026-10-24T14:01:48.406Z","isFirstParty":false,"canonicalSlug":"zerohost-evmoore-workers-dev-zerohost-deploy-mint-disposable-https-5305a354"}