Skip to main content
POST
/
v1
/
wallets
/
import
/
init
Initialize import
curl --request POST \
  --url https://api.privy.io/v1/wallets/import/init \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --header 'privy-app-id: <privy-app-id>' \
  --data '{
  "address": "0xF1DBff66C993EE895C8cb176c30b07A559d76496",
  "chain_type": "ethereum",
  "entropy_type": "private-key",
  "encryption_type": "HPKE"
}'
{
  "encryption_type": "HPKE",
  "encryption_public_key": "BDAZLOIdTaPycEYkgG0MvCzbIKJLli/yWkAV5yCa9yOsZ4JsrLweA5MnP8YIiY4k/RRzC+APhhO+P+Hoz/rt7Go="
}
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
  • Option 1
  • Option 2

The input for HD wallets.

address
string
required

The address of the wallet to import.

chain_type
enum<string>
required

The chain type of the wallet to import. Currently supports ethereum and solana.

Available options:
ethereum,
solana
encryption_type
enum<string>
required

The encryption type of the wallet to import. Currently only supports HPKE.

Available options:
HPKE
entropy_type
enum<string>
required

The entropy type of the wallet to import.

Available options:
hd
index
integer
required

The index of the wallet to import.

Required range: x >= 0

Response

200 - application/json

The encryption public key to encrypt the wallet entropy with.

encryption_type
enum<string>
required

The encryption type of the wallet to import. Currently only supports HPKE.

Available options:
HPKE
encryption_public_key
string
required

The base64-encoded encryption public key to encrypt the wallet entropy with.