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.

Quickstart

Run the example app in sample-data mode. It needs Node.js 22+ and no account, key or funds:
Open http://localhost:3000 and click Connect Spotify. To add Vana to your own app, install the SDK:
The whole flow is three server calls:
Add Vana to your own app has the API routes and the React hook around these calls.
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

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.