Describe it. Watch it build. Keep the site.
It is a conversation, not a slot machine. Say make the pricing two columns and drop the third plan, look at it, say the next thing. The model is sent the document and answers with a short list of edits rather than a whole new page, so the twentieth change costs the same as the first.
Every word, every colour, every typeface, the order of the sections, adding one, deleting one, dropping in your own html: no call, no cost, no cap, on every rung, forever. The only metered thing is asking a model to do the writing for you.
The real page, at its real url, in a frame beside what you are typing. Not a mock-up and not a preview mode — it is the file being served, reloaded every time anything changes. Wide, page and phone widths are one click apart.
Every site you build is kept in your projects and is still there when you come back, on this browser, without an account. Connect a wallet and they follow the wallet instead.
Speed is a real rung here, not a slogan. There is a fixed number of model calls in flight at once, and the free rung may occupy all but two of them. Nobody is slowed on purpose — the free rung is simply the one that waits when there is a queue, which is the only honest way to sell being first.
The treasury is a wallet, not a contract. A person holds the keys and buys the credit, and the balance above is that wallet read straight off chain, so you can watch it go down as sites go up. If it empties, describing a site stops working and templates, your own code and every hand edit carry on exactly as before — none of those ever needed a model.
# a template. free, instant, no model. curl -s $SCAF/api/start \ -H 'content-type: application/json' \ -d '{"template":"saas"}' # describe one. one call. curl -s $SCAF/api/build \ -d '{"description":"a coin about a frog diner"}' # both answer with a url and an edit key: # { "slug":"…", "url":"/s/…", "editKey":"…", "doc":{…} }
# your own markup. free. curl -s $SCAF/api/import \ -d '{"html":"<h1>mine</h1>","css":"h1{font-size:8vw}"}' # change it in words. metered, tiny. curl -s $SCAF/api/reword \ -H 'x-edit-key: …' \ -d '{"slug":"…","instruction":"darker, cut the faq"}' # change it by hand. free, unlimited. curl -s $SCAF/api/edit \ -H 'x-edit-key: …' \ -d '{"slug":"…","doc":{…}}'
Published pages are served sandboxed under connect-src 'none'. No
fetch, no websocket, no beacon, and images may only be ones this server is holding
— so there is no url a page can aim at somebody else's machine.
A page that can compute but cannot transmit cannot steal. That is a header
the browser enforces, not a filter over your markup, which is exactly why it is
the thing being relied on.
Every rung can publish validated local javascript for games, calculators, filters, editors and other browser tools. The code runs inside the same no-network sandbox, so access is open without giving a page a way to transmit visitor data.
A described page is about a tenth of a cent and templates are free, so pretending the budget is what stops abuse would be marketing. What holds is the rate limit, the review queue, and the two paragraphs above.
After a week, unless you hold. A builder that keeps every page anybody ever made, forever, for nothing, stops being able to make new ones. The document behind your page is public json and you can take it with you whenever you like.
It will not build a page pretending to be a real company, exchange, wallet or support desk; anything asking a reader for a wallet, a seed phrase or a key; or promises about money. Those are refused before a model sees them, so a refusal costs the treasury nothing and costs you nothing off your day. Descriptions claiming an audit, a partner, a listing or a famous backer are not refused — they are held, and a person reads them first.
Pick a template and you are editing a real page four seconds from now. It costs you nothing, there is no account, and nobody is going to ask you for a card at the end.