> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vana.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshooting

> Common errors in the direct data flow and how to resolve them.

### `Builder is not registered`

Check two things:

* `VANA_APP_PRIVATE_KEY` must derive the registered app address shown in Vana Account.
* The app address must be registered on-chain as a builder/grantee. If you generated the key in Vana Account, complete the generated-app flow. If you brought your own key, run the existing-app registration snippet from Vana Account. Funding escrow alone does not register the app.

The full error can look like `grant_registration_failed: Builder <address> is not registered on-chain`. It can also surface more generically — the approval return URL comes back with `status=failed&errorCode=grant_registration_failed&errorMessage=Internal server error`, and your app renders a plain `Internal server error`. If you see `grant_registration_failed` with an unregistered app address, treat it as this case and register the app.

### `Insufficient finalized balance`

Fund escrow for the selected app identity in Vana Account. Wait until available balance updates, then retry the read.

### `Unknown source` or `Unknown scope`

Copy source and scope values from the selected source detail or connector schema.

### Approval opens the wrong environment

Check `VANA_ENV` and the Vana Account URL. Testnet and mainnet data do not mix.

### Personal Server unavailable

Use a test user whose Personal Server is ready and whose requested source has synced data. To create one, sign into the Vana app ([`app-dev.vana.org/sources`](https://app-dev.vana.org/sources) for testnet, [`app.vana.org/sources`](https://app.vana.org/sources) for production) and connect the source you request — this can be your own account, since an app can grant to itself. See [Set up a test user](/build-a-vana-app/test-the-flow#set-up-a-test-user).

### How do I confirm a paid read settled?

Confirm `/api/vana/data` returned `200` with a `payment` receipt, and confirm the app identity's escrow balance changed in Vana Account (available balance decreases or authorized amount increases).
