v46

latestOpenAPI 3.1.0raw.githubusercontent.com2026-07-211591,0051.4 MB
Wallets

Create wallet

Creates a new wallet on the requested chain and for the requested owner.

post/v1/wallets

Headers

privy-app-idstring required

ID of your Privy app.

privy-idempotency-keystring

Idempotency keys ensure API requests are executed only once within a 24-hour window.

Request body

chain_type'ethereum' | 'solana' | 'cosmos' | 'stellar' | 'sui' | 'aptos' | 'movement' | 'tron' | 'bitcoin-segwit' | 'bitcoin-taproot' | 'pearl' | 'near' | 'ton' | 'starknet' | 'spark' required

The wallet chain types.

display_namestring

A human-readable label for the wallet.

external_idstring

A customer-provided identifier for mapping to external systems. URL-safe characters only ([a-zA-Z0-9_-]), max 64 chars. Write-once: cannot be changed after creation.

owner_idstring cuid2 nullable

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

policy_idsstring[]

List of policy IDs for policies that should be enforced on the wallet. Currently, only one policy is supported per wallet.

Example request

{
  "chain_type": "ethereum",
  "external_id": "my-order-123"
}

Response

Newly created wallet.

addressstring required

Address of the wallet.

archived_atnumber nullable

Unix timestamp of when the wallet was archived in milliseconds, or null if the wallet is active.

authorization_thresholdnumber

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

chain_type'ethereum' | 'solana' | 'cosmos' | 'stellar' | 'sui' | 'aptos' | 'movement' | 'tron' | 'bitcoin-segwit' | 'bitcoin-taproot' | 'pearl' | 'near' | 'ton' | 'starknet' | 'spark' required

The wallet chain types.

created_atnumber required

Unix timestamp of when the wallet was created in milliseconds.

display_namestring

A human-readable label for the wallet.

exported_atnumber nullable required

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

external_idstring

A customer-provided identifier for mapping to external systems. Write-once, set only at creation.

idstring required

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

imported_atnumber nullable required

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

owner_idstring cuid2 nullable required

The key quorum ID of the owner of the wallet.

policy_idsstring[] required

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

public_keystring

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

Example response

{
  "additional_signers": [],
  "address": "0xF1DBff66C993EE895C8cb176c30b07A559d76496",
  "archived_at": null,
  "chain_type": "ethereum",
  "created_at": 1741834854578,
  "display_name": "Treasury",
  "exported_at": null,
  "external_id": "my-order-123",
  "id": "id2tptkqrxd39qo9j423etij",
  "imported_at": null,
  "owner_id": "rkiz0ivz254drv1xw982v3jq",
  "policy_ids": []
}