Skip to main content
Use Vana’s Data Portability API to request user-approved data, read it from the user’s Personal Server, and pay protocol fees from your app’s escrow balance. This guide assumes a web app with a server backend and a React frontend.
Vana runs on two networks. Develop and test on Moksha (testnet) with free faucet VANA, then launch on mainnet by switching one setting — the same app and code carry over. See Choose your network.

What you’ll build

A server controller

Holds your app identity, requested source, requested scopes, and paid reads.

Three backend routes

Create an access request, check approval status, and read approved data.

A React button

Opens Vana approval and renders the returned result.

Two ways to build

Start from the example app

Clone, install, run — the whole flow working locally with sample data and no setup. The same code goes live when you’re ready.Best for seeing how Vana works, and greenfield apps.

Add Vana to your own app

Wire Vana’s primitives into your existing app with @opendatalabs/vana-sdk — request, approve, read. You keep your stack; the SDK handles identity, grants, and payments.Best for adding Vana to a real product on your own stack.

Environments

Use production app/API URLs end to end. Select the network separately — one setting (VANA_NETWORK) picks the chain, contracts, and escrow. Full comparison and funding instructions: Choose your network.

Steps

3

Ship

Test the flow end to end, and keep troubleshooting close.
4

Extend

Need a source that doesn’t exist yet? Add a connector.