Skip to main content
POST
/
v1
/
wallets
/
import
/
submit
Submit import
curl --request POST \
  --url https://api.privy.io/v1/wallets/import/submit \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --header 'privy-app-id: <privy-app-id>' \
  --data '{
  "wallet": {
    "address": "0xF1DBff66C993EE895C8cb176c30b07A559d76496",
    "chain_type": "ethereum",
    "entropy_type": "private-key",
    "encryption_type": "HPKE",
    "encapsulated_key": "BOhR6xITDt5THJawHHJKrKdI9CBr2M/SDWzZZAaOW4gCMsSpC65U007WyKiwuuOVAo1BNm4YgcBBROuMmyIZXZk=",
    "ciphertext": "PRoRXygG+YYSDBXjCopNYZmx8Z6nvdl1D0lpePTYZdZI2VGfK+LkFt+GlEJqdoi9"
  },
  "owner_id": "rkiz0ivz254drv1xw982v3jq"
}'
{
  "id": "id2tptkqrxd39qo9j423etij",
  "address": "0xF1DBff66C993EE895C8cb176c30b07A559d76496",
  "chain_type": "ethereum",
  "policy_ids": [],
  "additional_signers": [],
  "owner_id": "rkiz0ivz254drv1xw982v3jq",
  "created_at": 1741834854578,
  "exported_at": null,
  "imported_at": null
}
See the Import a wallet guide for a walkthrough of the full flow and architecture.

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.

Body

application/json
wallet
object
required
  • Option 1
  • Option 2
policy_ids
string[]
Maximum length: 1
additional_signers
object[]
owner
owner_id
string | null

Response

200 - application/json

The imported wallet.

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

Chain type of the wallet

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

List of policy IDs for policies that are enforced on 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.

owner_id
string

The key quorum ID of the owner of the wallet.

I