Skip to main content
PATCH
/
v1
/
wallets
/
{wallet_id}
Update wallet
curl --request PATCH \
  --url https://api.privy.io/v1/wallets/{wallet_id} \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --header 'privy-app-id: <privy-app-id>' \
  --data '
{
  "policy_ids": [
    "tb54eps4z44ed0jepousxi4n"
  ]
}
'
{
  "id": "id2tptkqrxd39qo9j423etij",
  "address": "0xF1DBff66C993EE895C8cb176c30b07A559d76496",
  "chain_type": "ethereum",
  "policy_ids": [],
  "additional_signers": [],
  "owner_id": "rkiz0ivz254drv1xw982v3jq",
  "created_at": 1741834854578,
  "exported_at": null,
  "imported_at": null
}

Authorizations

Authorization
string
header
required

Basic Auth header with your app ID as the username and your app secret as the password.

Headers

privy-app-id
string
required

ID of your Privy app.

privy-authorization-signature
string

Request authorization signature. If multiple signatures are required, they should be comma separated.

privy-request-expiry
string

Request expiry. Value is a Unix timestamp in milliseconds representing the deadline by which the request must be processed.

Path Parameters

wallet_id
string
required

ID of the wallet.

Body

application/json

Request body for updating a wallet.

policy_ids
string[]

New policy IDs to enforce on the wallet. Currently, only one policy is supported per wallet.

Maximum array length: 1
Required string length: 24
owner
Public key owner · object

The owner of the resource. If you provide this, do not specify an owner_id as it will be generated automatically. When updating a wallet, you can set the owner to null to remove the owner.

owner_id
string

The key quorum ID to set as the owner of the resource. If you provide this, do not specify an owner.

additional_signers
object[]

Additional signers for the wallet.

Response

200 - application/json

Updated wallet object.

A wallet managed by Privy's wallet infrastructure.

id
string
required

Unique ID of the wallet. This will be the primary identifier when using the wallet in the future.

address
string
required

Address of the wallet.

created_at
number
required

Unix timestamp of when the wallet was created in milliseconds.

chain_type
enum<string>
required

The wallet chain types.

Available options:
ethereum,
solana,
cosmos,
stellar,
sui,
aptos,
movement,
tron,
bitcoin-segwit,
near,
ton,
starknet,
spark
policy_ids
string[]
required

List of policy IDs for policies that are enforced on the wallet.

owner_id
string<cuid2> | null
required

The key quorum ID of the owner of the wallet.

additional_signers
object[]
required

Additional signers for the wallet.

exported_at
number | null
required

Unix timestamp of when the wallet was exported in milliseconds, if the wallet was exported.

imported_at
number | null
required

Unix timestamp of when the wallet was imported in milliseconds, if the wallet was imported.

public_key
string

The compressed, raw public key for the wallet along the chain cryptographic curve.

authorization_threshold
number

The number of keys that must sign for an action to be valid.

custody
WalletCustodian · object

Information about the custodian managing this wallet.