Step 1: Host your app
Deploy a public website on your domain (not the uOS origin). Mini Apps run in a sandboxed iframe on your origin; that domain is the trust boundary. Your app URL becomesentry.url in the manifest. It must stay on the same host as the manifest. Localhost and private hosts are rejected.
Step 2: Add the manifest
Serve JSON athttps://your-domain/.well-known/uos-app.json with no redirects:
name, entry.type ("iframe"), and entry.url (public http:/https:, same host as the manifest).
Required for Dev Portal publish: author.wallet must equal the wallet you connect and sign with.
See the full manifest reference for icons, screenshots, tags, price, and the optional verified-author signature.
uOS fetches the manifest with a 5 second timeout, a 512 KB size cap, and
redirect: 'error'. The well-known URL must respond directly with JSON.Step 3: Open Dev Portal
In uOS, open Dev Portal from the dock and connect your wallet from the menu bar.Dev Portal: Publish tab with your apps list and domain field
Step 4: Publish
- Confirm
author.walletin your manifest matches the connected wallet. - Enter your domain (for example
pay.example.com). - Click Publish.
- Sign the free message in your wallet (no gas; this is a message signature, not a transaction).
approved). Re-publishing the same domain refreshes the existing catalog entry in place (one catalog entry per domain).
The signed publish message is:
action: unpublish.
issued-at must be within 10 minutes of server time in either direction (stale and far-future timestamps are rejected). Publish/unpublish is rate limited to 10 requests per 60 seconds per wallet and per client IP.
Step 5: Users install from the App Store
Anyone can open the App Store, find your app, and install it. That adds a desktop icon. Installed apps sync to the user’s account when they are signed in (wallet SIWE session), not merely connected.App Store: featured apps with Get / Installed / Pre-installed
Selecting an app opens details: description, domain, author verification, permissions, and screenshots.
App details: permissions review before Install
Tapping Install adds the app to the desktop and pins the permission set the user just reviewed. Later permission additions require re-consent on open.
Install complete: the app is ready to open from the desktop
Checklist
- App is hosted on your own domain (not the uOS origin)
-
/.well-known/uos-app.jsonis reachable with no redirects -
entry.urlis on the same host as the manifest -
author.walletmatches your Dev Portal wallet - Only the permissions you need are listed
- Optional: domain-association signature for the Verified badge
- Optional: load the App SDK and call
uOS.ready()
After you’re live
- Update: change the manifest on your domain, then hit Update in Dev Portal (bump
versionif you want the store to show a new version string) - Analytics: one-time 10 USDC unlock for installs, opens, retention, and related metrics
- Settings: set a payout wallet for future app-purchase revenue (defaults to
author.wallet; changing it requires a fresh signature and takes effect after 72 hours; resetting to the publisher wallet is immediate)