Skip to main content
Privy enables you to update the policies, owners, and signers for a wallet.
To update an existing wallet, make a PATCH request to:
If the wallet has an external ID, your app can use ext_wal_<external_id> in place of the wallet ID. For example: PATCH /v1/wallets/ext_wal_order-12345
Wallets with owner_id present must provide an authorization signature as a request header. Privy SDKs offer utility functions such as generateAuthorizationSignature to generate the authorization signature.

Body

In the request body, include the following fields:
string[]
New policy IDs to enforce on the wallet. Currently, only one policy is supported per wallet.
{user_id: string} | {public_key: string} | null
The user ID or P-256 public key of the owner of the wallet. If you provide this, do not specify an owner_id as it will be generated automatically.View this guide to learn more about owners.
string | null
The key quorum ID of the owner of the wallet. If you provide this, do not specify an owner.View this guide to learn more about owners.
{signer_id: string}[]
The key quorum IDs to add as additional signers for the wallet.View this guide to learn more about key quorums.
string
A human-readable name for the wallet. At most 100 characters.
Any fields not included in the PATCH request body will remain unchanged from the original wallet.

Response

If the wallet is updated successfully, the response will include the updated wallet.
string
Unique ID for the wallet.
string
Address of the wallet.
'ethereum'
Chain type for the wallet.
MethodRule
Updated policy IDs to enforce on the wallet.
string | null
The key quorum ID of the owner of the wallet.
{signer_id: string}[]
The key quorum IDs of the additional signers for the wallet.
string | null
The external identifier assigned to the wallet, if set.
string | null
The display name assigned to the wallet, if set.

Example

A sample request might look like the following:
A successful response will look like the following: