Import a wallet

How to import an existing wallet.

1. Import using private key

Request Endpoint: reference

POST /api/wallets/import
ParameterParam TypeValueDescription
Signing-MethodHeaderid:valueid: This is the ID of the signing method
value: This is the value of the signing method
ParameterParam TypeDescriptionData TypeMandatory
{importWalletType}BodyThe type of import (eg. MATIC_PRIVATE_KEY)String
pincode (Deprecated)BodyThe pincode to encrypt the walletString
privateKeyBodyThe private key of the existing walletString
userIdBodyThe ID of the user you want to link this wallet toString

2. Import using keystore

Request Endpoint: reference

POST /api/wallets/import
ParameterParam TypeValueDescription
Signing-MethodHeaderid:valueid: This is the ID of the signing method
value: This is the value of the signing method
ParameterParam TypeDescriptionData TypeMandatory
{importWalletType}BodyThe type of import (eg. MATIC_KEYSTORE)String
pincode (Deprecated)BodyThe pincode to encrypt the walletString
keystoreBodyJSON file that represents the wallet (warning: this is a string field so make sure the JSON body is escaped properly)String
passwordBodyThe password of the KeystoreString
userIdBodyThe ID of the user you want to link this wallet toString

3. Import using WIF

Request Endpoint: reference

POST /api/wallets/import
ParameterParam TypeValueDescription
Signing-MethodHeaderid:valueid: This is the ID of the signing method
value: This is the value of the signing method
ParameterParam TypeDescriptionData TypeMandatory
{importWalletType}BodyThe type of import (eg. BITCOIN_WIF)String
pincode (Deprecated)BodyThe pincode to encrypt the walletString
wifBodyThe wif (wallet import format)String
userIdBodyThe ID of the user you want to link this wallet toString

4. Import using WIF with a passphrase

Request Endpoint: reference

POST /api/wallets/import
ParameterParam TypeValueDescription
Signing-MethodHeaderid:valueid: This is the ID of the signing method
value: This is the value of the signing method
ParameterParam TypeDescriptionData TypeMandatory
{importWalletType}BodyThe type of import (eg. BITCOIN_WIF)String
pincode (Deprecated)BodyThe pincode to encrypt the walletString
wifBodyThe wif (wallet import format)String
userIdBodyThe ID of the user you want to link this wallet toString

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

POST /api/wallets/import
ParameterParam TypeValueDescription
Signing-MethodHeaderid:valueid: This is the ID of the signing method
value: This is the value of the signing method
ParameterParam TypeDescriptionData TypeMandatory
{importWalletType}BodyThe type of import (eg. MIGRATION)String
pincode (Deprecated)BodyThe pincode to encrypt the walletString
walletIdBodyThe ID of the wallet you want to import into another secret typeString
toBodyDestination SecretType (blockchain), ex: MATICObject
userIdBodyThe ID of the user you want to link this wallet toString

Import Wallet Types

{
  "importWalletType": {
    "description": "Type of import",
    "type": "string",
    "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",
      "NEO_KEYSTORE",
      "NEO_PRIVATE_KEY",
      "NEO_WIF",
      "IMX_KEYSTORE",
      "IMX_PRIVATE_KEY",
      "ARBITRUM_KEYSTORE",
      "ARBITRUM_PRIVATE_KEY",
      "MIGRATION"
    ]
  }
}