Skip to main content
An app identity is an EVM keypair for your app. The app address is:
  • the grantee address users approve
  • the address you fund in Data Portability escrow

Create or register the app identity

Everything on this page happens in the Developers page of Vana Account. Sign in there, and the page walks you through it — it has three sections: Create new app identity, Use existing app identity, and Fund escrow.
1

Open and sign in to Vana Account developers

Open account-dev.vana.org/developers and sign in (continue with Google, a wallet, or an email code). Set the Protocol network toggle to Testnet (Moksha). Mainnet deployment is being finalized, so build on testnet for now.
2

Create a new app identity, or register an existing key

Pick one:
  • Create new app identity — enter your App URL and click Create app identity. This generates a new app private key and registers the app identity with the Vana Data Gateway in one step.
  • Use existing app identity — already have a VANA_PRIVATE_KEY? Click Show registration snippet, set your key and APP_URL, and run the snippet from Node.js or your backend. The private key stays in your environment (it is never imported into Vana Account), and the gateway, chain, and escrow contract are filled in for you.
3

Enter your App URL

Use the origin where your app is running. For local development, use your local origin, for example http://localhost:3000. For shared testing or production, use the deployed origin, for example a Vercel preview URL or your production app URL.
4

Copy the app address

Copy the app address — you’ll reuse it for escrow funding.
5

Store the private key

Store the private key as a server-side environment variable. (If you created a new identity, Vana Account shows the generated key once — save it now.)
Use the same App URL as VANA_APP_URL in your backend environment. Use the same app address when you fund escrow.
The app identity must be registered before the direct data flow can complete.
  • If you generate an app identity in Vana Account, finish that generated-app flow there.
  • If you bring your own app key, keep the private key local/server-side and run Vana Account’s existing-app registration snippet with VANA_PRIVATE_KEY and APP_URL; the private key stays in your environment and is not imported into Vana Account.
Funding escrow does not register the app identity. Use the same registered app address in your backend and escrow funding.