Skip to main content
Update an existing account by its unique account ID. You can update the account’s display name and add new wallets to the account. When updating an account, you can:
  • Update the display name for the account
  • Add new wallets to the account by specifying their chain type and custody configuration. You may not remove wallets from an account.
You can also update the wallets within an account directly to set owners, signers, policies, and more.
View the full API reference for updating an account.

Usage

To update an account via REST API, make a PATCH request to:
https://api.privy.io/v1/accounts/{account_id}

Path parameters

account_id
string
required
The unique ID of the account to update.

Body

display_name
string
An optional display name for the account.
wallets_configuration
{chain_type: 'ethereum' | 'solana'; custody: CustodyConfiguration | undefined}[]
New wallets to add to the account, specified with their chain type and custody configuration. Maximum of 5 wallets total per account.If custody is undefined, the wallet is non-custodial.The CustodyConfiguration type is defined as {provider: string; provider_user_id: string} where:
  • provider is the custody provider. Currently, 'bridge' is the only supported custody provider.
  • provider_user_id is the custody provider’s unique ID for the KYC’ed entity for the wallet.

Response

The response will include the following fields:
id
string
The unique ID of the account.
display_name
string | null
The updated display name for the account.
wallets
array
All wallets in the account, including any newly added wallets. Each wallet contains:
  • id (string): The wallet ID
  • chain_type (‘ethereum’ | ‘solana’): The chain type of the wallet
  • address (string): The on-chain address of the wallet
  • custody (CustodyConfiguration | undefined): The custody configuration if the wallet is custodial
If custody is undefined, the wallet is non-custodial.The CustodyConfiguration type is defined as {provider: string; provider_user_id: string} where:
  • provider is the custody provider.
  • provider_user_id is the custody provider’s unique ID for the KYC’ed entity for the wallet.

Example

Request

curl --request PATCH https://api.privy.io/v1/accounts/<account-id> \
  -u "your-app-id:your-app-secret" \
  -H "privy-app-id: your-app-id" \
  -H "Content-Type: application/json" \
  -d '{
    "display_name": "Updated Account Name",
    "wallets_configuration": [
      {
        "chain_type": "solana"
      }
    ]
  }'

Request

{
  "id": "<account-id>",
  "display_name": "Updated Account Name",
  "wallets": [
    {
      "id": "<wallet-id>",
      "chain_type": "ethereum",
      "address": "0x4f3A1c8B2dE07f59Ca83b1eD6F42c9Ae5d03B7e"
    },
    {
      "id": "<wallet-id>",
      "chain_type": "ethereum",
      "address": "0x9bC2E4A0dF31856e7a4D9cB3F108e2Ac6b75d1E",
      "custody": {
        "provider": "bridge",
        "provider_user_id": "<insert-provider-user-id>"
      }
    },
    {
      "id": "<wallet-id>",
      "chain_type": "solana",
      "address": "7mXkPqR3nWvJhYzT5sLdAeG2cFbN9pUoViQwKtBxC4D"
    }
  ]
}