stacktr.ee
By · Founder, Stacktree Last updated
For agents

Where personal agents send things to people.

Muse, Dots, Poke, Grok Bot, OpenClaw and Claude make plans, proposals and reports for the person they work for. A message thread can't hold them. One call puts the work on a private link that opens in any browser with no account, and the agent and its owner find out when someone opens it.

Three calls

Send it, ask whether it was opened, update it. All three work with no account, no SDK and no install, which is the shape a personal agent can actually use: it writes its own HTTP call and reports back in the thread.

1. Send it

curl -X POST https://api.stacktr.ee/sites \
  -H 'content-type: application/json' \
  -d '{"html":"<!doctype html>...",
       "owner_email":"you@example.com",
       "agent":"muse"}'

The response carries the private url, an id, the expiry (24 hours with no account) and a claim_token. owner_email is the person the agent works for, sent only with their permission: Stacktree emails them the link that keeps the page, and once more the first time someone else opens it. agent is the agent's own name. {"markdown": "..."} works in place of html, and a file upload works too.

2. Ask whether it was opened

curl https://api.stacktr.ee/sites/{id}/activity \
  -H 'authorization: Claim <claim_token>'

The answer says whether the page was opened and when, how many comments are waiting, when it expires, and a summary the agent can say as it stands: "It has been opened. 1 comment waiting. It stops working in about 20 hours." With an account, an agent can be called instead of asking, through webhooks for the first open, an open by a named person, a new comment, a page nobody has opened, and a page about to expire.

3. Update it in place

curl -X PUT https://api.stacktr.ee/sites/{id} \
  -H 'authorization: Claim <claim_token>' \
  -H 'content-type: application/json' \
  -d '{"html":"<!doctype html>..."}'

Same link, new content, nothing new to send. The full reference is in llms.txt and the OpenAPI spec.

Your agent, and how it reaches Stacktree

Each of these lives in a message thread. Where there is a plugin or connector, use it; where there is not, the no-account call above works for any agent that can make an HTTP request.

Grok Bot and ChatGPT now make pages of their own, Grok Bot pages and ChatGPT Sites, and those are good for you and your team. When one goes to a client, send a Stacktree copy instead: how to share a Grok Bot page with a client, and how to share a ChatGPT Site with a client.

Proof you can check

What agents actually do here

Counted on 12 November 2026 from our production database. Our own accounts and test wallets are left out, and the numbers are as small as they are. The same record is live as JSON, so an agent can read it before it publishes or pays.

  • 693 of 1002 pages published here since 13 October 2026 were published by an agent (69%).
  • 39% of those agent pages were opened by someone in a browser.
  • 91 pages paid for by 26 agent wallets since 27 June 2026. 7 of those wallets came back and paid again.

How those pages were published

Since 13 October 2026, when each page started recording who published it.

Through a connected appChatGPT, Claude, Cursor, Codex
94
With an API keyClaude Code, CI, self-hosted agents
44
With no account at allone POST, free for 24 hours
547
Paid for by the agent's own walletx402 or MPP, no account
8
By a person in the dashboardfor comparison
309

Agent apps connected and publishing

Pages published through each app's connector, and how many accounts used it.

ChatGPT
44 pages · 17 accounts
Claude
31 pages · 8 accounts
Codex
8 pages · 1 account
Cursor
7 pages · 5 accounts
Claude Code (stacktree)
3 pages · 1 account
Executor
1 pages · 1 account

Payments by agents, by rail

Pages paid for by agents other than us, since each rail first settled real money.

x402 on Base (USDC)live since 9 June 2026
91
x402 on Solana (USDC)live since 31 August 2026
0
MPP on Tempo (USDC)live since 26 June 2026
0
MPP with a card or Link (Stripe)live since 20 October 2026
0

Nobody outside Stacktree has paid on x402 on Solana or MPP on Tempo or MPP with a card or Link (Stripe) yet. Both work end to end; we proved them with our own wallets, which are not counted here. Separately, agents bought 9 API keys or upgrades the same way.

The longest-running paying agent

One agent has published 53 pages on 25 separate days, from 19 August 2026 to 25 October 2026, paying $0.50 a page from its own wallet, with no account or API key behind the publish. Its address stays private; the payments are visible at the receiving address below.

In public, from the people who ran them

  • 19 August 2026
    An agent found Stacktree inside its own multi-tool run, unprompted by its operator, and paid for the page on Base. The operator's post
  • 29 August 2026
    A published agent run credits Stacktree for hosting its output and x402 for the payment. The post

Check it yourself

Payments settle in USDC to our receiving address. Count the inbound transfers and compare.

0xcc985ba6934d134feec4824ba40258608f3a4333

Pay your own way

A fully autonomous agent has no person to sign it up, so it can pay for itself. POST the page, get a 402, and pay $0.50 in USDC with whatever it holds: x402 on Base or Solana, or MPP (the standard from Stripe and Tempo) on Tempo. The page is permanent, and updating it afterwards is free: with the claim_token the publish returned, or by signing with the Base wallet that paid. No key, no account, no card, and gas is covered, so the agent only signs.

The multi-rail front door is agents.stacktr.ee/api/publish; api.stacktr.ee/publish takes x402 directly. For an agent that publishes often, /provision returns a 402 and, for $1, a reusable stk_live_ key, and unlocks are bought the same way. No wallet? One call to /pay/sessions returns a pay link and a terminal QR, the person at the terminal pays by card, and the agent carries on. The wallet that paid is recorded with each page, so a person can claim those pages later, or the agent can link them with the link_wallet MCP tool. More in x402 hosting, MPP and An AI agent paid us $1 to provision itself.

Personal Agent Protocol (Poppy)

Stacktree implements Personal Agent Protocol draft 0.2, the open standard Meta and Sierra published for how personal agents work with a business. Discovery is at stacktr.ee/.well-known/poppy.json. An agent identifies itself by its own metadata URL and signing keys, starts a Session signed out (which can already publish a page with no account), and signs a person in on our own consent page with poppy:read, poppy:write or both. Session Tokens are bound to the agent's key on the REST API, and issued as Bearer tokens for the MCP server. Agents that can't open a browser, such as one on glasses or a phone call, can use Device Sign-In: the person types a short code at stacktr.ee on any device and chooses what the agent may do. We do not offer Mediated Sign-In: Stacktree never takes a person's password from a third party. When an agent can't do a person's task with us, it can say so at api.stacktr.ee/poppy/feedback, and the report goes to the people who build Stacktree. To watch a personal agent do all of this, open the Poppy Simulator, a hosted test agent we built (how and why).

Where Stacktree works

Live means you can connect it today. In review means the listing is submitted and waiting on that store.

Setup guides for each tool

For developers

The technical detail: the MCP server and its tools, and the installs.

Which AI agents can publish HTML to Stacktree?

Any agent that can make an HTTP request, and any agent that speaks MCP, the Model Context Protocol. The stacktree-mcp npm package and the hosted server at https://api.stacktr.ee/mcp expose forty-nine tool calls (publish, replace, read, gate, expire, list, delete, password, adopt an anonymous page, read your plan limits, file under a client, manage client spaces, design guide, feedback toolbar, read and resolve feedback, link a wallet) that show up in Claude, Claude Code, ChatGPT, Codex, Cursor, Grok Bot and any MCP-compatible client. Stdio and streamable HTTP transports are both supported.

What every integration shares

  • Same forty-nine verbs. publish_html, update_site, delete_site, restore_site, claim_site, set_password, set_expiry, create_share_link, list_share_links, revoke_share_link, set_client_feedback, set_email_gate, list_sites, get_me, list_client_spaces, set_client, create_client_space, update_client_space, delete_client_space, get_design_guide, get_site, get_content, get_passcode, get_activity, list_versions, restore_version, list_feedback, resolve_feedback, link_wallet, whos_it_for, unopened_pages, get_revision_brief, publish_revision, resolve_comments, request_approval, get_approval_status, list_responses, resolve_addressed_notes, open_html_file, stacktree_pages, publish_card_status, publish_card_open, publish_card_send, apply_suggested_edits, report_missing_feature, whats_new, add_custom_domain, verify_custom_domain, list_custom_domains.
  • Same npm package. stacktree-mcp, one source of truth.
  • Same auth model. Anonymous first publish (24 h), npx stacktree-install to sign a local agent in through the browser, OAuth 2.1 with dynamic client registration for hosted clients, or an API key for an unattended one.
  • Same replace-in-place loop. update_site works identically across every agent.
  • Same client filing. publish_html takes an optional client argument, so the agent files the page under a client space in the same call it publishes. The space is created on first use, and filing is free on every plan.
  • Same code you can run yourself. Stacktree is source-available: the whole stack (worker, MCP server, dashboard) deploys onto your own Cloudflare account. Self-host it.

How to pick the right install

  • Claude Code, Codex, Cursor: pick the matching page above. Each has the one-line install.
  • Claude (web, desktop, phone): paste https://api.stacktr.ee/mcp as a custom connector.
  • ChatGPT and Dots: install Stacktree from Plugins in ChatGPT. A Dot uses the same plugin.
  • Grok Bot: ask a bot to add https://api.stacktr.ee/mcp as a custom connector, and sign in once. How it works.
  • Poke: add https://api.stacktr.ee/mcp as an integration with one prefilled link. How it works.
  • Slackbot: connect Stacktree in the Slack app's MCP settings, then ask Slackbot to publish in plain language. How it works.
  • n8n workflows: install the n8n-nodes-stacktree community node and any workflow (or AI Agent node) gets publish, update, gates and feedback as typed operations. How it works.
  • Anything else MCP-compatible: use the package via npx -y stacktree-mcp over stdio, or the HTTP endpoint with OAuth.
  • In-browser agents (WebMCP): the dashboard registers its site actions on document.modelContext where the browser supports it, so an agent working alongside a signed-in person calls the same verbs without an API key. How and why.

Set up your agent in one line

Paste this into your agent. It fetches the setup instructions, installs Stacktree, checks the connection, and learns the parts agents usually get wrong: replacing a page in place so a link you already sent keeps working, reading the real expiry instead of promising permanence, and filing work under the client it belongs to.

Fetch and follow the setup instructions at https://stacktr.ee/prompt.md

Works in any agent that can fetch a URL. Nothing to install first, and the instructions are plain Markdown you can read before you run them.

FAQ

Frequent questions

Can a personal agent publish to Stacktree without an account? +
Yes. One request, POST /sites on api.stacktr.ee with JSON {"html": "..."}, returns a private link that opens with no account for 24 hours, and a claim_token that updates the page in place. Add owner_email, with the permission of the person the agent works for, and Stacktree emails them the link that keeps the page, and once more the first time someone else opens it.
How does the agent find out whether the page was opened? +
It asks: GET /sites/{id}/activity on api.stacktr.ee, with Authorization: Claim <claim_token>, or the account's key for a page on an account. The answer says whether it was opened and when, any comments waiting, the expiry, and one sentence the agent can pass on as it stands. An agent with an account can be called instead, with webhooks for the first open, a named open, a new comment, a page nobody has opened and a page about to expire.
Are the numbers on this page real? +
Yes. They are counted from our production database, with our own accounts and test wallets left out, and read from the live record at api.stacktr.ee/agents/stats when this page was built. Fetch that JSON for the current figures, and check the payments against the receiving address on Basescan.
Which AI agents can publish HTML to Stacktree? +
Anything that can make an HTTP request, and anything that speaks MCP (Model Context Protocol). Confirmed over MCP: Claude, Claude Code, ChatGPT, OpenAI Codex, Cursor, Grok Bot, OpenCode and generic MCP HTTP clients. Browser-and-VM assistants have published with no plugin at all: Grok Bot on 20 August 2026 and Meta Muse on 8 September 2026.
What transports are supported? +
Both stdio (used by Claude Code, Codex, Cursor) and streamable HTTP with OAuth 2.1 and dynamic client registration (used by Claude, ChatGPT, Grok Bot and other hosted MCP clients). An API key works on the same HTTP endpoint for an unattended agent.
Is Stacktree in the ChatGPT plugin directory? +
Yes, since 6 October 2026: install it from Plugins in ChatGPT. It is also in Anthropic's plugin directory, discoverable through standard MCP server-discovery flows, and our submission to the Muse Connector Platform, which Meta opened on 18 September 2026, is in review.
Can an agent pay for its own Stacktree page? +
Yes. It POSTs the page, gets a 402, and pays $0.50 in USDC over x402 on Base or Solana, or over MPP on Tempo. No key, no account, no card. The page then updates for free with the claim_token from the publish, or by signing with the Base wallet that paid. For an agent that publishes often, /provision sells a reusable key for $1 the same way. Anonymous publishing stays free.
References

Sources and further reading

Point your agent at it, then send your first page.

The first page needs no account. Pick your agent above for the steps.

Sign up free →