Stacktree: host generated HTML as a live, shareable web page on a permanent, private, ungu
Stacktree: host generated HTML as a live, shareable web page on a permanent, private, unguessable link ($0.50). POST any HTML (a report, dashboard, landing page, static site, or any page an agent produced) with payment; we return the URL and a one-time claim token. No account, no key, no human in the loop. The paying wallet can update the page free at the same URL, and a deleted page is restorable for 30 days.
500000 (raw units)
price
28
calls / 30d
12
unique payers
2026-09-18
updated
Provider
api.stacktr.ee · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0xcc985ba6934d134feec4824ba40258608f3a4333",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "500000",
"maxTimeoutSeconds": 120
},
{
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "Gr8z3Dh74y4nJJAW25r2WSmzm3ZQr2n5GU5qjavFG49c",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": "500000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"description": "Host an HTML page and get back a permanent, private, shareable link. Turns generated HTML (a report, plan, dashboard, landing page, static site, or any web page an agent produced) into a live URL: POST your HTML with payment; no account, no key, no human in the loop. Free updates by the paying wallet at the same URL; restorable for 30 days if deleted.",
"info": {
"input": {
"body": {
"html": "<!doctype html>..."
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"claim_token": "<one-time-secret>",
"url": "https://stacktr.ee/p/<token>/"
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"properties": {
"body": {
"description": "The page to publish. Send { \"html\": \"<!doctype html>...\" } (or a raw text/html body). Payment is carried in the PAYMENT-SIGNATURE header (x402 v2).",
"properties": {
"filename": {
"description": "Optional logical filename; defaults to index.html.",
"type": "string"
},
"html": {
"description": "The full HTML document to host.",
"type": "string"
}
},
"required": [
"html"
],
"type": "object"
}
},
"type": "object"
},
"output": {
"properties": {
"example": {
"description": "Returned once payment settles and the page is live.",
"properties": {
"claim_token": {
"description": "One-time secret to adopt this page into an account later.",
"type": "string"
},
"unlisted_token": {
"type": "string"
},
"url": {
"description": "The permanent private link to share.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"type": "object"
},
"serviceName": "Stacktree — publish",
"serviceRecord": "https://api.stacktr.ee/.well-known/x402-service",
"tags": [
"html",
"hosting",
"host",
"web-page",
"publishing",
"private",
"static-site",
"landing-page",
"report",
"dashboard",
"generated-html",
"share-link",
"shareable-link",
"agents"
]
}
}Use it
curl
curl "https://api.stacktr.ee/publish" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://api.stacktr.ee/publish");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://api.stacktr.ee/publish")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/3324.json, and this resource appears in /discovery/resources and /discovery/search.