How to export your xpub
The TxNod Add-wallet wizard takes one value per chain: your extended public key (xpub). This guide tells you which onboarding path in the wizard fits each wallet you might be coming from. TON is the exception — it is not an HD chain and does not use an xpub; see the TON section below.
What is an xpub
An extended public key (xpub) is the public half of a wallet’s account-level key. Given an xpub, anyone can derive every receive address that key has ever been used for, and watch them on-chain — but no one can move funds out of those addresses, because the matching private key never leaves your wallet.
TxNod requires an xpub so the dashboard can derive a fresh pool address per invoice without ever asking your wallet to sign anything. The non-custodial invariant baked into TxNod’s design forbids the system from accepting, storing, or transmitting any private key, mnemonic, or signing material — only public information enters the database. Sharing an xpub with TxNod is safe because it is, by definition, public information; it cannot move your funds, and if you ever rotate the wallet, the old xpub becomes irrelevant the moment you stop binding it to projects.
Three paths into the wizard
Step 2 of the Add-wallet wizard offers three ways to provide an xpub:
- Connect Ledger — the dashboard talks to your Ledger device over WebHID, asks the on-device app for the account-level public key at the chain’s standard derivation path, and submits the result in the format TxNod’s validator wants. No copy-paste, no manual conversion.
- Connect browser wallet — the dashboard speaks the standard wallet protocol of your browser extension (CIP-30 for Cardano, TON Connect 2 for TON). The wallet returns the account key in the form the protocol mandates, which is also the form TxNod’s validator accepts.
- Paste extended public key — you copy a string out of another wallet’s UI and paste it in. The validator is strict: it accepts only the exact prefix listed for each chain (see the reference table) and rejects anything else. There is no auto-conversion on this path.
Every section below picks the path that actually works for that wallet.
Ledger Live (any chain)
The Ledger Live UI is not a usable source for the Paste path on any chain. The values it shows in “Advanced logs” are either in the wrong envelope, in the wrong encoding, or simply not extended public keys at all — Ledger Live stores whatever it itself needs to display the account, not what other systems need for HD derivation. Don’t try to copy values out of that panel; the wizard will reject them.
The supported flow for every chain Ledger Live covers is Connect Ledger at Step 2 of the Add-wallet wizard. The dashboard reads the account-level extended key from the device directly, in the format the on-device app produces, and converts it to the wire format TxNod’s per-chain validator expects:
- BTC — the dashboard rewraps the device’s BIP-84 extended key as
zpub(the rewrap is a four-byte version swap; the underlying public key + chain code are unchanged). - ETH / Polygon PoS / BNB Smart Chain — the device’s account-level key at
m/44'/60'/0'is submitted as-is. One device account covers all three EVM chains; register one wallet entry per chain in the wizard, but the underlying key is the same. - TRON — the device’s account-level key at
m/44'/195'/0', submitted as-is. - Cardano — the device’s CIP-1852 account key (Ed25519 public key + chain code) is encoded as bech32
acct_xvk1per CIP-5; the device also returns the matchingstake1u-prefixed reward address, which TxNod requires alongside the xpub. - TON — the device’s Ed25519 public key, plus a wizard prompt for the wallet contract version (
v3R2 / v4R2 / v5R1) and sub-wallet id.
Caveats
- Bitcoin script type matters. The auto-rewrap to
zpubis correct only if the underlying account in Ledger Live is Native SegWit (BIP-84, addresses beginbc1q). Legacy and SegWit-P2SH accounts must be re-created as Native SegWit before onboarding. - Gap-limit warning is expected. Ledger Live tracks at most 20 addresses past the last with on-chain history. TxNod issues a fresh derived address per invoice, so a busy project will out-pace the gap window. Funds remain visible to TxNod and signable by your Ledger device regardless of what Ledger Live displays.
Sparrow (Bitcoin)
Sparrow is one of the two cases where the Paste path actually shines. Open the wallet and switch to the Settings tab in the left rail. The Keystores section shows the extended public key with a swap icon to its right — clicking the icon cycles the prefix between xpub, ypub, and zpub without changing the underlying key material. Cycle until the prefix is zpub (Native SegWit / BIP-84 — the only form TxNod’s BTC mainnet validator accepts), copy the string, paste into the wizard’s Paste path.
If the swap icon refuses to produce zpub, the wallet was created with a non-Native-SegWit script type. Re-create the wallet selecting Native SegWit (P2WPKH) before exporting.
Electrum (Bitcoin)
The other Paste-friendly Bitcoin source. Electrum calls the xpub the Master Public Key. Open the wallet, go to Wallet → Information in the menu bar, copy the Master public key field.
The prefix is whatever Electrum chose at wallet creation: xpub for Legacy, ypub for SegWit (P2SH), zpub for Native SegWit. TxNod’s BTC mainnet validator accepts only zpub. If your Master public key starts with xpub or ypub, re-create the wallet and pick Native SegWit at the script-type screen.
Cardano browser wallets (Lace, Eternl, Nami, Yoroi, Typhon, Flint)
For Cardano the recommended onboarding flow is Connect browser wallet at Step 2 of the wizard. TxNod speaks the CIP-30 protocol, which all six supported wallets implement (Lace, Eternl, Nami, Yoroi, Typhon, Flint). The wizard handshake produces the bech32 acct_xvk1 account key and the stake1u-prefixed reward address in one go — exactly what the validator wants, no manual conversion.
The flow:
- Install one of the supported wallets as a browser extension and unlock it on your existing wallet (or, if you are coming from a recovery phrase, restore the same wallet there — the addresses derived inside the extension match what your phrase already controls).
- In the TxNod Add-wallet wizard pick Cardano at Step 1, then Connect browser wallet at Step 2.
- Pick your wallet from the list. The extension prompts for permission to share the public account key with the txnod.com origin; approve.
- The wizard receives the
acct_xvk1plus the matchingstake1ureward address, derives index 0, displays its address, and asks you to send a small handshake amount before the wallet is verified for invoice creation.
If your Cardano wallet is hardware-backed by a Ledger, Connect Ledger produces the same outcome — pick whichever fits how you already manage the wallet. If your wallet’s network is set to Preprod / Preview while you have selected a kind: 'production' project, the wizard rejects with a network-mismatch error — see Wallets → Cardano network switch for the recovery path.
TON
TON is structurally different from every other supported chain. There is no xpub, no HD derivation, and no descendant-address tree: a TON wallet is a single contract whose receiving address is computed from a single Ed25519 public key, the wallet contract version (v3R2, v4R2, or v5R1), and a sub-wallet id. TxNod records all three on import; nothing further is derivable.
The Paste path is therefore disabled for TON. In the Add-wallet wizard, pick TON at Step 1, then choose one of two onboarding methods at Step 2:
- Ledger — connect a Ledger device with the TON app installed; the wizard reads the device’s Ed25519 public key, prompts you to pick the wallet contract version, and verifies receipt of a small handshake amount before marking the wallet as bound. The device never exposes a private key — same non-custodial guarantee as the HD chains.
- TON Connect 2 — connect a software wallet via the TON Connect protocol. Locked-scope software wallets are Tonkeeper desktop extension, Tonkeeper mobile (QR pairing), Telegram
@wallet, MyTonWallet, and Tonhub. The wizard performston_proofownership verification plus the same small-handshake-amount check before binding. If the dashboard shows awallet not yet deployedbanner after onboarding, see Wallets → TON soft deploy — deposits work, outbound sweep waits on the first outbound broadcast.
Which xpub for which chain
| Chain | Wizard path | What the validator accepts |
|---|---|---|
| BTC mainnet | Connect Ledger (Ledger Live source) or Paste (Sparrow / Electrum source) | zpub (BIP-84 Native SegWit). |
| BTC testnet | as above | vpub (signet / native-segwit) or tpub (testnet3 / legacy P2PKH). |
| ETH / Polygon PoS / BNB Smart Chain mainnet | Connect Ledger | xpub at m/44'/60'/0' (BIP-44). One device account covers all three; register one wallet entry per chain. |
| ETH / Polygon PoS / BNB Smart Chain testnet | Connect Ledger | tpub. |
| TRON mainnet | Connect Ledger | xpub at m/44'/195'/0' (BIP-44). |
| TRON testnet | Connect Ledger | tpub. |
| Cardano | Connect Ledger (hardware-backed) or Connect browser wallet (Lace / Eternl / Nami / Yoroi / Typhon / Flint) | bech32 acct_xvk1 (CIP-1852 / CIP-5) plus a stake1u-prefixed reward address. |
| TON | Ledger or TON Connect 2 (Tonkeeper / Telegram @wallet / MyTonWallet / Tonhub) | Ed25519 public key + wallet contract version + sub-wallet id. Not an HD chain. See the TON section. |
Return to the Add-wallet wizard
Once you have picked the path that matches your wallet, open the Add-wallet wizard in your dashboard and follow Step 2. The dashboard will derive index 0, display its address, and ask you to send a small handshake amount before the wallet is verified for invoice creation.