Skip to main content

Overview

A walletId is a string you provide to Bluvo to identify a specific user-exchange connection. You control the format, it just needs to be unique per user per exchange pair. Every API call that touches a wallet (balances, quotes, withdrawals) is scoped to this identifier.

The Common Mistake

A walletId is not a user ID. Each walletId maps to a single set of encrypted exchange credentials. Reusing the same walletId for two exchanges will overwrite the first connection.
If a user connects three exchanges, you need three distinct walletIds, one for each connection.

The Simple Pattern

The easiest approach is a deterministic format that combines your user ID with the exchange name:
This is the recommended default. It’s stateless, reconstructable from data you already have, and requires no additional database lookups.

Alternative: Random UUID

If you prefer not to encode user IDs into the walletId, generate a crypto.randomUUID() per connection and store the mapping in your database:

Trade-offs

For most integrations, the deterministic pattern is the simplest path forward.

Code Examples

Next Steps

OAuth2 Integration

Implement the full OAuth2 popup flow with React hooks

Encryption & Security

How Bluvo encrypts and isolates exchange credentials