---
title: "Create custodial wallet"
method: POST
path: "/v1/custodial_wallets"
tags: ["Wallets"]
---

# Create custodial wallet

`POST /v1/custodial_wallets`

Create a new wallet custodied by a third-party provider.

## 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.

## Request body

- CustodialWalletCreateInput — The input for creating a custodial wallet.
  - `additional_signers` AdditionalSignerItemInput[] — Additional signers for the wallet.
    - `override_policy_ids` string[] — An optional list of up to one policy ID to enforce on the wallet.
    - `signer_id` string, cuid2, required — A unique identifier for a key quorum.
  - `chain_type` 'ethereum' | 'solana', required — The chain type of the custodial wallet.
  - `owner` union — The owner of the resource, specified as a Privy user ID, a P-256 public key, or null to remove the current owner.
    - object — Owner input specifying a Privy user ID.
      - `user_id` string, required
    - object — Owner input specifying a P-256 public key.
      - `public_key` string, required — A P-256 (secp256r1) public key.
  - `policy_ids` string[] — An optional list of up to one policy ID to enforce on the wallet.
  - `provider` 'bridge', required — The provider of the custodial wallet.
  - `provider_user_id` string, required — The resource ID of the beneficiary of the custodial wallet, given by the licensing provider.

## Response `200`

Newly created custodial wallet.

- CustodialWallet — Information about a custodial wallet.
  - `additional_signers` WalletAdditionalSignerItem[] — Additional signers for the wallet.
    - `override_policy_ids` string[] — An optional list of up to one policy ID to enforce on the wallet.
    - `signer_id` string, cuid2, required — A unique identifier for a key quorum.
  - `address` string, required
  - `chain_type` 'ethereum' | 'solana', required — The chain type of the custodial wallet.
  - `custody` WalletCustodian, required — Information about the custodian managing this wallet.
    - `provider` string, required — The custodian responsible for the wallet.
    - `provider_user_id` string, required — The resource ID of the beneficiary of the custodial wallet.
  - `id` string, required
  - `owner_id` string, cuid2, required — A unique identifier for a key quorum.
  - `policy_ids` string[]

---

[API](https://skmtc.net/privy-io/apis/privy-api.md) · [All operations](https://skmtc.net/privy-io/apis/privy-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/privy-io/privy-api/revisions/bb2eb34156cc/schema)
