Skip to main content
Every ZApp user is a Zend user. There’s no sign-in screen to build: the first time someone opens your app, Zend asks “Continue to as ?” and, after that, your page can read who they are.

In your page

Anything your page knows, the user can change. Don’t trust appUserId from the browser. Send appSession to your server and verify it there.

On your server

Exchange appSession for the verified user, then start your own session.
Response
email comes back only when the user granted email. address comes back only when they granted wallet_address.

Opening outside Zend

zend.environment tells you where the page is running: In external, every Zend call rejects with NOT_IN_ZEND. Show an “Open in Zend” link to https://app.usezend.app/apps/<slug>.

Testing on staging

init() only talks to https://app.usezend.app by default. Add other Zend web origins while you test: