← Back

Documentation

Everything you need to deploy websites and apps to live URLs instantly.

What is Ephemeral Deploy?

Ephemeral Deploy gives you a live, public URL for any website or web app in seconds. No accounts to create, no CLI to install, no repos to connect. You send your code via API, pay a few cents with Solana, and get back a URL that anyone can visit.

Deployments are temporary by design — they live for 1 hour to 7 days, then automatically disappear. Perfect for prototypes, demos, previews, and anything you want to share quickly without committing to permanent hosting.


Getting Started

1. Prepare your files

Organize your project files. This can be anything from a single index.html to a full Next.js application. Base64-encode each file's content.

2. Make the API call

Send a POST request to /api/deploy with your files and a Solana payment signature.

POST https://ephemeral-deploy.vercel.app/api/deploy
Content-Type: application/json
X-Payment: <solana-tx-signature>

{
  "files": {
    "index.html": "PGgxPkhlbGxvIFdvcmxkPC9oMT4="
  },
  "ttl": 24
}

3. Get your URL

The API responds immediately with a deployment URL. Static sites are ready in ~15 seconds. Next.js apps take 30-90 seconds to build.

{
  "id": "deploy_abc123",
  "url": "https://eph-xyz.vercel.app",
  "status": "building",
  "expiresAt": "2026-03-12T18:00:00Z",
  "framework": "static"
}

Payment

Ephemeral Deploy uses the x402 protocol — an open standard for HTTP payments using cryptocurrency. No accounts, no API keys. The payment is your authentication.

Service Wallet

Send your payment to this Solana address:

2gKLymTMCqNwcQznqXJgi19Naix3xUFwHbivYU2WYTCh

How to pay

  1. Create a Solana SOL transfer to the wallet above
  2. Send the amount matching your desired TTL (see pricing below)
  3. Include the transaction signature in the X-Payment header
  4. The server verifies the payment on-chain before deploying

Pricing

DurationSOLUSD (approx)
1 hour0.0005 SOL$0.07
24 hours0.002 SOL$0.28
3 days0.005 SOL$0.70
7 days0.01 SOL$1.40

USD prices are approximate based on SOL ≈ $140. The SOL amount is what matters.

What gets verified

No payment?

If you omit the X-Payment header, you get a 402 Payment Required response with the wallet address, pricing, and instructions.


Supported Frameworks

The API auto-detects your framework from the files you upload. You can also specify it explicitly with the framework field.

FrameworkAuto-detected byKey files needed
Next.jsnext.config.ts/js/mjspackage.json, tsconfig.json, app/layout.tsx, app/page.tsx
Vitevite.config.ts/jspackage.json, index.html, src/main.tsx
Astroastro.config.mjs/tspackage.json, src/pages/index.astro
Nuxtnuxt.config.ts/jspackage.json, pages/index.vue
Remixremix.config.js/tspackage.json, app/root.tsx
Staticindex.html (fallback)index.html

Important for Next.js

Your package.json must include @types/react, @types/node, and typescript in devDependencies. Vercel installs dependencies during build — you don't need to include node_modules.


API Reference

POST /api/deploy

Create a new deployment.

FieldTypeRequiredDescription
filesobjectYesMap of file paths → base64 content
ttlnumberNoHours to live (1-168, default 24)
frameworkstringNonextjs, vite, astro, nuxt, remix, static

GET /api/status/:id

Check deployment status. Returns building, ready, error, or expired.

GET /api/health

Service health check. Returns active deployment count.

GET /api/docs

Machine-readable API documentation as JSON. Ideal for LLM agents.

GET /llms.txt

Full documentation in llms.txt format. Point your AI agent here for complete API knowledge.


Limits & Rules


Full Examples

Deploy a static HTML page

# Encode your HTML
echo -n '<h1>Hello World</h1>' | base64
# Output: PGgxPkhlbGxvIFdvcmxkPC9oMT4=

# Deploy it
curl -X POST https://ephemeral-deploy.vercel.app/api/deploy \
  -H "Content-Type: application/json" \
  -H "X-Payment: <solana-tx-sig>" \
  -d '{
    "files": {
      "index.html": "PGgxPkhlbGxvIFdvcmxkPC9oMT4="
    },
    "ttl": 1
  }'

Deploy a Next.js app

# Encode each file and build the JSON payload
# Files needed: package.json, next.config.ts, tsconfig.json,
#               app/layout.tsx, app/page.tsx

curl -X POST https://ephemeral-deploy.vercel.app/api/deploy \
  -H "Content-Type: application/json" \
  -H "X-Payment: <solana-tx-sig>" \
  -d '{
    "files": {
      "package.json": "<base64>",
      "next.config.ts": "<base64>",
      "tsconfig.json": "<base64>",
      "app/layout.tsx": "<base64>",
      "app/page.tsx": "<base64>",
      "app/api/hello/route.ts": "<base64>"
    },
    "ttl": 72,
    "framework": "nextjs"
  }'

Check deploy status

curl https://ephemeral-deploy.vercel.app/api/status/deploy_abc123