Exporting the extended public key (xpub, ypub, zpub) from Ledger, Trezor, Blockchain.com, Enjin, Trust, Jaxx, and other wallets.
When importing your wallet to Koinly you may notice that only some transactions are imported (or none at all) - this is common for wallets like BTC, LTC, etc., since they use multiple public keys for the same account.
Which integrations require an xpub?
Any blockchain that generates a new address every time you want to receive a transaction using the UTXO protocol and you will need to find the xpub key for it in order to import all transactions automatically.
Examples of blockchains using the UTXO model:
Bitcoin, Bitcoin Cash
Litecoin
Dogecoin
Dash
DigiByte
Cardano
Note that your xpub key is different for every single blockchain so you will need to export it separately for all coins that you are transacting with.
Some wallets will show you your xpub easily while others don't show it at all. You can always use your recovery phrase to figure out the xpub key for any wallet. More on this at the end of this tutorial.
ℹ️ Your wallet may call the extended public key somewhat differently. For different Bitcoin derivation paths, it can be a ypub or a zpub. Cardano wallets rarely call them "xpubs" - usually it's just listed as "public key".
Which integrations don't require an xpub?
Ethereum (ETH)
All other EVM-based chains
Polygon, Binance Smart Chain, Avalanche C-Chain, Fantom, Cronos, Arbitrum, Optimism, Ethereum Classic, etc.Other chains include:
Solana, Cosmos-SDK chains (Cosmos, Osmosis, Stargaze, Juno), XRP, Algorand, BNB Chain, Icon (ICX), Lisk, Nano, NEM, NEO, Ontology, Tezos, Tron, VeChain, Waves, and more
For these blockchains find your public address (your "receive crypto" address) from any of your transactions and use it to sync the wallet with Koinly.
Wallet-specific instructions
Here are some examples of how you can find your xpub key depending on the wallet you're using
Trezor
Ledger
Expand to see how to get the xpub for Ledger wallets
Expand to see how to get the xpub for Ledger wallets
Ledger Live displays your "generic xpub" only, no matter if you used Legacy, Segwit, or Native Segwit addresses (starting with 1***, 3*** and bc1q***, respectively).
You can access your xpub by selecting the "Edit" icon, and then "Advanced Logs":
ℹ️ There's no xpub available for taproot
It's not currently possible to generate an xpub for Taproot addresses right now (bc1p***). If you are using Bitcoin with the newest upgrade, you need to use the CSV export or input all the single-use addresses to Koinly (you can add them all to the same wallet in Koinly).
Blockchain.com
Expand to see how to get the xpub for Blockchain.com
Expand to see how to get the xpub for Blockchain.com
Go to "Wallets and Addresses"
Clicking "Manage" next to the wallet you need
Choose Segwit/Legacy
Click "Manage"
Click "Show xPub"
Reference:
Enjin
Expand to see how to get the xpub for Enjin
Expand to see how to get the xpub for Enjin
Reference:
KeepKey
Connect your KeepKey with the Electrum wallet.
From the top menu choose Wallet > Information.
Coinomi
Trust Wallet
Trust wallet no longer exports xpubs, unfortunately.
No xpub available
If the wallet you use does not expose the xpub at all, you have two options:
Sync the wallet using all single-use addresses instead
Generate the xpub from the seed phrase
Use single-use keys
You can still sync your wallet with Koinly by providing all single-use keys your wallet generated, separating them with a comma, like this:
bc1q***1,bc1q***2,bc1q***3,bc1q***4,bc1q***5
If you use this method, always update the API settings (add newly used public keys) before clicking "Sync now". Or delete the wallet and add it again with an up-to-date list of addresses.
Generate the xpub from the seed phrase
🚨 This workaround may expose your seed phrase
This method involves using your recovery phrase and should be avoided. If you need to generate your xpub using this method, consider the following precautions:
Download the website and open it locally (right-click and "Save as")
Save it on a USB stick
Run the website from a machine without internet connection
(e.g. use a Linux Live USB like TailsOS)
Have your seed phrase ready
This is usually the 12-word password you received when setting up your wallet.
Visit the Mnemonic Code Converter
https://iancoleman.io/bip39/
Enter your seed phrase in the BIP39 Mnemonic field
Select the Coin that you want to generate the xpub for
Eg. Bitcoin, Bitcoin Cash, etc.
Select the Derivation path
Most wallets use BIP 44 standard, though your wallet may also be using BIP32 or BIP84. Check which detivation path your wallet is using on walletsrecovery.orgBRD wallet: Enter m/0' in the BIP32 Derivation Path field
Copy the Account Extended Public Key
If you chose BIP32, copy BIP32 Extended Public Key instead
Repeat the process for all other coins
You need to change the Coin and possibly Derivation Path
Common questions and issues
No transactions when syncing with xpub
No transactions when syncing with xpub
If you synced your wallet using an xpub but Koinly still shows no transactions:
Create a new wallet using the xpub.
If you updated an existing wallet and changed the public key, it will not sync all historical transactions
Try a zpub or ypub instead
Your wallet may have provided multiple xpubs (Exodus provides three) - try each of them. One will contain your transactions
Custom derivation path
Your wallet may be using a custom derivation path the Mnemonic converter doesn't support, or may not follow the wallet standards (e.g. has excessive gaps between used addresses). If that's the case, you will need to import your data using CSV files instead.