Import a wallet
How to import an existing wallet.
Import wallets by specifying the importWalletType
. We allow:
Importing using a private key
Importing using a keystore
Importing using a WIF
Importing using a WIF with a passphrase
Migration
Additionally, you can specify the userId
in the request body to automatically import the wallet and link it to a user. Note that you need to provide a valid signing method in the header request.
Import Wallet Types
JSON
{
"importWalletType": {
"enum": [
"AETERNITY_KEYSTORE",
"AETERNITY_PRIVATE_KEY",
"BSC_KEYSTORE",
"BSC_PRIVATE_KEY",
"AVAC_KEYSTORE",
"AVAC_PRIVATE_KEY",
"ETHEREUM_KEYSTORE",
"MATIC_KEYSTORE",
"ETHEREUM_PRIVATE_KEY",
"MATIC_PRIVATE_KEY",
"GOCHAIN_KEYSTORE",
"GOCHAIN_PRIVATE_KEY",
"HEDERA_KEYSTORE",
"HEDERA_PRIVATE_KEY",
"VECHAIN_PRIVATE_KEY",
"VECHAIN_KEYSTORE",
"BITCOIN_WIF",
"BITCOIN_WIF_PASSPHRASE",
"LITECOIN_WIF",
"LITECOIN_WIF_PASSPHRASE",
"NEO_KEYSTORE",
"NEO_PRIVATE_KEY",
"NEO_WIF",
"IMX_KEYSTORE",
"IMX_PRIVATE_KEY",
"ARBITRUM_KEYSTORE",
"ARBITRUM_PRIVATE_KEY",
"MIGRATION"
]
}
}
1. Import using private key
Request Endpoint: reference
HTTP
POST /api/wallets/import
Signing-Method
Header
id:value
id
: This is the ID of the signing method
value
: This is the value of the signing method
importWalletType
Body
The type of import (eg. MATIC_PRIVATE_KEY)
String
✅
privateKey
Body
The private key of the existing wallet
String
✅
userId
Body
The ID of the user you want to link this wallet to
String
❌
pincode
(Deprecated)
Body
The pincode to encrypt the wallet
String
❌
2. Import using keystore
Request Endpoint: reference
HTTP
POST /api/wallets/import
Signing-Method
Header
id:value
id
: This is the ID of the signing method
value
: This is the value of the signing method
importWalletType
Body
The type of import (eg. MATIC_KEYSTORE)
String
✅
keystore
Body
JSON file that represents the wallet (warning: this is a string field so make sure the JSON body is escaped properly)
String
✅
password
Body
The password of the Keystore
String
✅
userId
Body
The ID of the user you want to link this wallet to
String
❌
pincode
(Deprecated)
Body
The pincode to encrypt the wallet
String
❌
3. Import using WIF
Request Endpoint: reference
HTTP
POST /api/wallets/import
Signing-Method
Header
id:value
id
: This is the ID of the signing method
value
: This is the value of the signing method
importWalletType
Body
The type of import (eg. BITCOIN_WIF)
String
✅
wif
Body
The wif (wallet import format)
String
✅
userId
Body
The ID of the user you want to link this wallet to
String
❌
pincode
(Deprecated)
Body
The pincode to encrypt the wallet
String
❌
4. Import using WIF with a passphrase
Request Endpoint: reference
HTTP
POST /api/wallets/import
Signing-Method
Header
id:value
id
: This is the ID of the signing method
value
: This is the value of the signing method
importWalletType
Body
The type of import (eg. LITECOIN_WIF_PASSPHRASE)
String
✅
wif
Body
The wif (wallet import format)
String
✅
passphrase
Body
The passphrase of the wallet
String
✅
userId
Body
The ID of the user you want to link this wallet to
String
❌
pincode
(Deprecated)
Body
The pincode to encrypt the wallet
String
❌
5. Import from other secret types (blockchain)
Using this endpoint, it is possible to use the same wallet (address) for a different blockchain. Currently, it is only possible to import to/from these chains:
ETHEREUM <-> MATIC
BSC <-> ETHEREUM
Request Endpoint: reference
HTTP
POST /api/wallets/import
Signing-Method
Header
id:value
id
: This is the ID of the signing method
value
: This is the value of the signing method
importWalletType
Body
The type of import (eg. MIGRATION)
String
✅
walletId
Body
The ID of the wallet you want to import into another secret type
String
✅
to
Body
Destination SecretType (blockchain), ex: MATIC
Object
✅
userId
Body
The ID of the user you want to link this wallet to
String
❌
pincode
(Deprecated)
Body
The pincode to encrypt the wallet
String
❌
Last updated