Skip to main content
Serve your manifest at:
uOS fetches that URL server-side when you publish. Redirects are rejected (redirect: 'error'; 3xx responses fail). The response must be JSON, under 512 KB, within 5 seconds. Example:

Fields

authorVerified in a raw manifest is ignored. uOS sets it only after signature verification at registration. Unknown fields are not persisted.

Permissions

Users see these in the App Store before install. Declare only what you use: If a later publish adds permissions, the next open prompts for re-consent. New permissions stay disabled until the user approves. Removing permissions does not require re-consent. The domain-association signature does not cover permissions.

Verified author

To show the Verified badge, sign this exact message with author.wallet and put the result in signature:
Example with viem:
Rules enforced at publish time:
  • No signature → app registers as Unverified (still allowed)
  • Invalid signaturepublish fails (it will not silently become Unverified)
  • Re-sign when domain, entry.url, or author.wallet changes (a new version alone does not require a new signature)
  • Verification uses the same wallet verifier as the rest of uOS (EOA and smart-contract wallets via EIP-1271 / ERC-6492)

Next

Publish your app from Dev Portal, then optionally wire up the App SDK.