Skip to main content
POST
/
v1
/
custodial_wallets
Create custodial wallet
curl --request POST \
  --url https://api.privy.io/v1/custodial_wallets \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --header 'privy-app-id: <privy-app-id>' \
  --data '
{
  "chain_type": "ethereum",
  "provider": "bridge",
  "provider_user_id": "1234567890"
}
'
{
  "id": "id2tptkqrxd39qo9j423etij",
  "address": "0xB00F0759DbeeF5E543Cc3E3B07A6442F5f3928a2",
  "chain_type": "ethereum",
  "custody": {
    "provider": "bridge",
    "provider_user_id": "1234567890"
  },
  "policy_ids": [],
  "additional_signers": [],
  "owner_id": null
}

Documentation Index

Fetch the complete documentation index at: https://docs.privy.io/llms.txt

Use this file to discover all available pages before exploring further.

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-idempotency-key
string

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

Body

application/json

The input for creating a custodial wallet.

chain_type
enum<string>
required

The chain type of the custodial wallet.

Available options:
ethereum,
solana
provider_user_id
string
required

The resource ID of the beneficiary of the custodial wallet, given by the licensing provider.

Minimum string length: 1
provider
enum<string>
required

The provider of the custodial wallet.

Available options:
bridge
owner
OwnerInputUser · object

Owner input specifying a Privy user ID.

additional_signers
AdditionalSignerItemInput · object[]

Additional signers for the wallet.

policy_ids
string<cuid2>[]

An optional list of up to one policy ID to enforce on the wallet.

Maximum array length: 1
Required string length: 24

Response

200 - application/json

Newly created custodial wallet.

Information about a custodial wallet.

id
string
required
address
string
required
chain_type
enum<string>
required

The chain type of the custodial wallet.

Available options:
ethereum,
solana
custody
WalletCustodian · object
required

Information about the custodian managing this wallet.

owner_id
string<cuid2>
required

A unique identifier for a key quorum.

policy_ids
string[]
Required string length: 24
additional_signers
WalletAdditionalSignerItem · object[]

Additional signers for the wallet.