Nexa docs
Nexa is an AI app builder that runs in your browser. You describe a web app in plain words, an AI agent writes it as a single HTML file, and the result runs in a live preview next to the chat. Keep asking for changes, edit the code by hand, rewind to earlier versions and export the file when you are done.
Demo mode is on. Right now anyone can open the studio without a wallet. The token requirement below applies when demo mode is switched off.
Quick start
- Open the access panel on the home page and press Connect wallet.
- Approve the connection in your wallet, then sign the message it shows you. Signing is free.
- The studio opens with 3 free builds. After those, you need to hold enough tokens. Type what you want to build, for example
A pomodoro timer with a progress ring and a soft pastel palette, and press Enter. - Watch the preview fill in. Then ask for changes:
make the ring thicker and add a dark mode toggle. - Press Export to download the finished app as an HTML file.
Getting access
Every wallet that signs in gets 3 free builds. After that, the studio is open to holders of $NEXA. There is no subscription and no payment inside Nexa: holding the token is the key.
Requirements
- A browser wallet that injects into the page: MetaMask, Rabby, the Coinbase Wallet extension or similar. On a phone, open Nexa in your wallet app's built-in browser.
- At least 1,000,000 $NEXA on the token's chain in that wallet.
Token contract:
How sign-in works
- Connect. Nexa asks your wallet for your address and, if needed, asks it to switch to the right network. If the network isn't in your wallet yet, Nexa offers to add it.
- Sign. The server creates a one-time message containing your address, the site, the chain and a random code that expires after 5 minutes. Your wallet signs it. This proves you own the address without sending a transaction.
- Verify. The server checks the signature, reads your token balance directly from the chain and, if it is enough, gives your browser a session that lasts 7 days.
Your balance is read again every time you send a prompt. If it falls below the requirement, building pauses until you top up. You don't need to sign in again.
To switch wallets, use Disconnect in the account menu (the round avatar, top right of the studio) and connect again.
The studio
The studio has three parts: the chat on the left, the live preview in the middle and a code panel that slides in from the right.
Chat
Describe what you want and press Enter. The agent answers with one or two sentences about what it built or changed, then writes the complete file. While it works, the send button becomes a stop button. Stopping keeps your previous version untouched.
On an empty project you'll see a few starter ideas. Click one to drop it into the message box, then adjust it before sending.
Live preview
The preview repaints every couple of seconds while the code streams in, then shows the finished app. Use the Desktop / Tablet / Phone switch in the top bar to check other screen sizes, and the reload button (top right of the preview, on hover) to restart the app.
Code panel
Press Code or Ctrl E to open the editor. Anything you type updates the preview after a short pause and is saved automatically. Your next prompt builds on your edited version, so you can fix a detail by hand and keep going with the agent. The copy button puts the whole file on your clipboard.
Top bar
- Project name: click to rename. New projects are named after your first prompt.
- Builds left: how many builds remain today.
- Export: downloads the current file.
- Account: shows your address and lets you disconnect.
On a phone the three parts become tabs at the bottom: Chat, Preview and Code.
Writing good prompts
You don't need special wording. Clear, specific sentences work best. A good first prompt usually covers four things:
Then iterate in small steps
After the first build, ask for one or two changes at a time. Small requests are faster, more reliable and easier to undo.
"make it better"
"make the header sticky, and turn the buttons into pills with a soft shadow"
Handy phrases
Keep everything else the same, but…for focused edits.Save the list in localStorage so it survives a refreshwhen the app needs memory.Use Chart.js for the chartto pick a library.Use this image: https://…to include your own pictures. Without a URL the agent draws with SVG, CSS and emoji.Make it work well on phones firstfor mobile-focused apps.
You can write in any language. The agent replies in the language you use.
Versions & projects
Versions
Each finished build is saved as a version, shown as a small tag under the agent's reply (v3 · restore). Click a tag to bring that version back. The one in the preview is marked v4 · showing. Each project keeps its last 15 versions. Older ones are marked as pruned.
A build is only saved when the agent finishes the whole file. If you stop it or the response is cut off, nothing is replaced and you'll see a note in the chat.
Projects
Open the arrow next to the project name to start a new project, switch between projects or delete one. Each project has its own chat, code and versions. While the agent is building you can't switch projects. Wait for it to finish or press stop first.
Where it's stored
Projects live in your browser's storage on this device, not on Nexa's servers. They won't appear on another browser or computer, and clearing site data removes them. If the browser runs out of space, Nexa drops the oldest saved versions first and warns you.
Exporting
Press Export to download the current version as your-project-name.html. It's one self-contained file with no Nexa code, branding or tracking. You can:
- open it by double-clicking, no server needed;
- host it for free on GitHub Pages, Netlify, Vercel or Cloudflare Pages;
- keep developing it in any code editor.
What you build is yours to use, change and sell.
Limits
Daily builds
Each wallet gets 3 free builds to start. They don't reset. Holders get 20 builds per day, reset at 00:00 UTC. A build counts when you send a prompt. If it fails before the agent writes anything, it is returned to you. Hand edits, restoring versions and exporting never use a build.
What apps can do
| Works | Doesn't work |
|---|---|
| HTML, CSS and JavaScript in one page | Servers, databases, user accounts |
| Libraries from a public CDN (Chart.js, Three.js, Tailwind…) | npm packages or build steps |
| Saving data in the visitor's browser (localStorage) | Payments, sending email, private API keys |
| Calling public APIs that allow browser requests | Reading files from your computer automatically |
Size
- A prompt can be up to 4,000 characters.
- A file can be up to about 200 KB, which is a lot for one page. Very large apps work better as a few focused projects.
- The agent remembers the last few messages of the chat plus the current code.
Preview storage is temporary. For safety, the preview runs in an isolated frame, so data an app saves there is kept only until you reload. The exported file uses the browser's real storage.
Keyboard shortcuts
| Enter | Send the message |
| Shift Enter | New line in the message |
| Ctrl E | Open or close the code panel |
| Ctrl S | Save now |
| Tab | Indent in the code editor |
| Esc | Close menus |
On a Mac, use ⌘ instead of Ctrl.
Privacy & security
- Signing is not spending. Nexa only ever asks for a message signature. It never asks for a transaction, a token approval or your seed phrase. If anything claiming to be Nexa asks for those, close it.
- Access is decided on the server. Your session is a secure cookie that scripts can't read, and the balance check happens server-side on every build.
- Generated apps are sandboxed. The preview runs in an isolated frame that can't reach your Nexa session or your other projects.
- Your projects stay on your device. Prompts and code are sent to the AI model to build your app, but your project library is stored only in your browser.
Troubleshooting
- "No wallet found"
- Install a browser wallet such as MetaMask or Rabby and refresh. On a phone, open the site inside your wallet app's browser.
- The wallet won't switch network
- Approve the network switch in the wallet popup. If you dismissed it, connect again, or add the network manually in your wallet.
- "This wallet holds … You need …"
- The connected address doesn't hold enough tokens. Check that you picked the right account in your wallet, or top up and try again.
- "Daily limit reached"
- You've used today's builds. They reset at 00:00 UTC. You can still edit code by hand and export.
- The response was cut off
- The app got too big for one reply, so it wasn't applied. Ask for a smaller change, or split the app into simpler parts.
- The preview is blank
- Press the reload button on the preview. If it stays blank, ask the agent:
the preview is blank, please fix it, or restore the previous version. - "Browser storage is full"
- Export the projects you want to keep, then delete old ones from the projects menu.
- My projects disappeared
- Projects are stored per browser and device. Check you're using the same browser and that site data wasn't cleared.
Still stuck? Read the FAQ or ask the community.