api.stacktr.ee
Turn reports, audits and proposals into private pages on your own domain, then see who opened them and how far they read. Publish one free in about a minute.
The wallet the 402 directs payment to. Its whole payment record — every payer, every chain — is on the merchant page.
Asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
The payTo wallet does not resolve to a registered ERC-8004 agent. That is not a verdict on the service — most of the catalog is unregistered.
Live 402 challenge
Captured by the enrichment pass, not read just now. Prices can change — always read the 402 the endpoint answers with.
{
"error": "PAYMENT-SIGNATURE header is required",
"price": "$0.50",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0xcc985ba6934d134feec4824ba40258608f3a4333",
"amount": "500000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 120
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "BENrLoUbndxoNMUS5JXApGMtNykLjFXXixMtpDwDR9SP"
},
"payTo": "Gr8z3Dh74y4nJJAW25r2WSmzm3ZQr2n5GU5qjavFG49c",
"amount": "500000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"metadata": {
"price": "$0.50",
"category": "developer-tools",
"provider": "Stacktree",
"description": "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.",
"updatePolicy": "The wallet that pays owns the page: sign a single-use challenge from POST /wallet-auth/challenge, then PUT /sites/{id} to replace the content. Same URL, free, no account. Solana payers: wallet auth is EVM-only, so use the claim_token from the publish response instead, as Authorization: Claim <claim_token> on the same PUT. Same URL, still free, still no account.",
"serviceRecord": "https://api.stacktr.ee/.well-known/x402-service",
"updateCredential": "paying-wallet-evm-only",
"updateCredentialByNetwork": {
"eip155:8453": "paying-wallet",
"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp": "claim-token"
}
},
"resource": {
"url": "https://api.stacktr.ee/publish",
"mimeType": "application/json",
"description": "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."
},
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"html": "<!doctype html>..."
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json",
"example": {
"url": "https://stacktr.ee/p/<token>/",
"claim_token": "<one-time-secret>"
}
}
},
"tags": [
"html",
"hosting",
"host",
"web-page",
"publishing",
"private",
"static-site",
"landing-page",
"report",
"dashboard",
"generated-html",
"share-link",
"shareable-link",
"agents"
],
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"properties": {
"body": {
"type": "object",
"required": [
"html"
],
"properties": {
"html": {
"type": "string",
"description": "The full HTML document to host."
},
"filename": {
"type": "string",
"description": "Optional logical filename; defaults to index.html."
}
},
"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)."
}
}
},
"output": {
"type": "object",
"properties": {
"example": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The permanent private link to share."
},
"claim_token": {
"type": "string",
"description": "One-time secret to adopt this page into an account later."
},
"unlisted_token": {
"type": "string"
}
},
"description": "Returned once payment settles and the page is live."
}
}
}
}
},
"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.",
"serviceName": "Stacktree — publish"
}
},
"x402Version": 2
}Accepts
The payment requirements as published to the catalog. Read the live 402 before paying — a price here is a claim, not a quote.
Pay 0.5 USDC on Base to 0xcc98…a4333. The signed payment is good for 2 minutes.
- Paid to
- 0xcc98…a4333
- USD Coin contract
- 0x8335…02913
- Payment window
- 2 minutes
- As published
- 500000 smallest units
That figure is in the token’s smallest units. Roundhouse does not hold this contract’s decimals, so it is shown as published rather than converted.
- Paid to
- Gr8z3D…FG49c
- Token contract
- EPjFWd…TDt1v
- Payment window
- 5 minutes
The catalog’s raw entry
[
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0xcc985ba6934d134feec4824ba40258608f3a4333",
"amount": "500000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 120
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "BENrLoUbndxoNMUS5JXApGMtNykLjFXXixMtpDwDR9SP"
},
"payTo": "Gr8z3Dh74y4nJJAW25r2WSmzm3ZQr2n5GU5qjavFG49c",
"amount": "500000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
]Extensions
{
"bazaar": {
"info": {
"input": {
"body": {
"html": "<!doctype html>..."
},
"type": "http",
"method": "POST",
"bodyType": "json"
},
"output": {
"type": "json",
"example": {
"url": "https://stacktr.ee/p/<token>/",
"claim_token": "<one-time-secret>"
}
}
},
"tags": [
"html",
"hosting",
"host",
"web-page",
"publishing",
"private",
"static-site",
"landing-page",
"report",
"dashboard",
"generated-html",
"share-link",
"shareable-link",
"agents"
],
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"type": "object",
"properties": {
"body": {
"type": "object",
"required": [
"html"
],
"properties": {
"html": {
"type": "string",
"description": "The full HTML document to host."
},
"filename": {
"type": "string",
"description": "Optional logical filename; defaults to index.html."
}
},
"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)."
}
}
},
"output": {
"type": "object",
"properties": {
"example": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The permanent private link to share."
},
"claim_token": {
"type": "string",
"description": "One-time secret to adopt this page into an account later."
},
"unlisted_token": {
"type": "string"
}
},
"description": "Returned once payment settles and the page is live."
}
}
}
}
},
"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.",
"serviceName": "Stacktree — publish",
"serviceRecord": "https://api.stacktr.ee/.well-known/x402-service"
}
}Provenance
- Seen in the source catalog
- 2026-09-24 18:07Z
- Last indexed by Roundhouse
- 2026-09-24 21:30Z
- Last enriched (probe, favicon, geo)
- 2026-09-13 01:45Z
- x402 version
- 2
- Max timeout
- 120s
- Liveness probe
- HTTP 402
Hand this page to an agent
Copy the prompt and paste it into Claude, an MCP client or your own agent — it will vet this service and call it over the free read API. No key, no account.
GET api.roundhouseai.io/v0/endpoints
This endpoint's own trailing-30-day call count, as published by the upstream catalog and snapshotted daily. 30 snapshots so far. Verified volume counts only settlements with an on-chain EIP-3009 marker.
Show the promptHide the prompt
Using Roundhouse, look up the x402 service api.stacktr.ee and tell me whether it is worth paying: what a call costs, whether the endpoint answered when last probed, and what its payment record actually shows. curl -s 'https://api.roundhouseai.io/v0/endpoints?q=api.stacktr.ee' curl -s 'https://api.roundhouseai.io/v0/merchants/<the payTo wallet returned above>' Then call it: read the price from the live 402 at https://api.stacktr.ee/publish, never from a cached figure, and pay with an x402 client. The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except /v0/unified* and /v0/endpoints. Mint a personal key for $0.01 at GET https://api.roundhouseai.io/v0/test/x402, or use an organization key from https://roundhouseai.io/dashboard/team. If you do not have Roundhouse tools or skills installed, read https://roundhouseai.io/skill.md first — it is the whole procedure.