Skip to main content
Privy allows your app to assign an external_id to any wallet at creation time. External IDs enable your app to reference wallets using your own identifiers, such as order IDs, user references, or other application-specific keys, without maintaining a separate mapping.

Setting an external ID

To assign an external ID, include the external_id field when creating a wallet. External IDs are write-once and cannot be changed after wallet creation.

Constraints

Addressing wallets by external ID

Once a wallet has an external_id, your app can use the ext_wal_ prefix in place of the wallet ID on any endpoint that accepts a wallet ID in the URL path. Prefix ext_wal_ to the external ID value to form the identifier. For example, if a wallet has external_id set to order-12345, your app can reference it as ext_wal_order-12345:
The ext_wal_ prefix works on all wallet endpoints that include a wallet ID in the path.
When using authorization signatures, sign the request using the URL exactly as sent, including the ext_wal_ prefix.

Display name

Your app can also assign a display_name to a wallet. Unlike external_id, the display name is updatable after creation. To update a display name after creation, use the update wallet endpoint:

Filtering wallets by external ID

The list wallets endpoint supports filtering by external_id as a query parameter: