Skip to main content

Derivation paths and accounts

BitTool Signer derives a fixed set of accounts from each seed. Your wallet should use the same paths, or BitTool Signer will not find the key a request asks for.

Accounts​

ChainProfileAccount pathAddressesFirst address (test phrase)
BitcoinNative SegWit (P2WPKH)m/84'/0'/0'…/0/i receive, …/1/i changebc1qcr8te4kr609gcawutmrza0j4xv80jy8z306fyu
BitcoinTaproot (P2TR, BIP86)m/86'/0'/0'samebc1p5cyxnuxmeuwuvkwfem96lqzszd02n6xdcjrs20cac6yqjjwudpxqkedrcr
BitcoinNested SegWit (P2SH-P2WPKH)m/49'/0'/0'same37VucYSaXLCAsxYyAPfbSi9eh4iEcbShgf
BitcoinLegacy (P2PKH)m/44'/0'/0'same1LqBGSKuX5yYUonjxT5qGfpUsXKYYWeabA
BitcoinMultisig cosigner, P2WSHm/48'/0'/0'/2'multisig only—
BitcoinMultisig cosigner, P2SH-P2WSHm/48'/0'/0'/1'multisig only—
EVMStandardm/44'/60'/0'…/0/i0x9858EfFD232B4033E47d90003D41EC34EcaEda94
TRONStandardm/44'/195'/0'…/0/iTUEZSdKsoDHQMeZwihtdoBiN46zxhGWYdH
SolanaStandard (Phantom, Solflare, Backpack …)—m/44'/501'/0'/0'HAgk14JpMQLgt6rVgv7cBQFJWFto5Dqxi472uT3DKpqk
SolanaTrust Wallet style—m/44'/501'/0'GjJyeC1r2RgkuoCWMyPYkCWSGSGLcz266EaAkLA27AhL
SolanaLegacy (root account)—m/44'/501'D2PPQSYFe83nDzk96FqGumVU8JA7J8vj2Rhjc2oXzEi5

Notes:

  • One EVM key for every EVM network. The same m/44'/60'/0'/0/i addresses are used on Ethereum, BNB Chain, Arbitrum, Base, OP Mainnet, Polygon, Gnosis and Avalanche. The network is part of the signing request, not the key.
  • TRON has its own account, at coin type 195. Do not reuse the EVM key for TRON, even though the address math is similar.
  • Solana keys are fully hardened (SLIP-0010 Ed25519), so there is no Solana xpub. Each of the three presets is a single key that must be exported as its own address.
  • Only account 0 is derived. Index i can be any non-hardened value (0 to 231 − 1) for Bitcoin, EVM and TRON.

The master fingerprint​

The master fingerprint is the first 4 bytes of HASH160(master public key), written as 8 hex digits. For the test phrase it is 73c5da0a. BitTool Signer shows it on every wallet card (as 73C5DA0A) and every pairing QR code carries it.

Put it in every signing request: in PSBT bip32Derivation and in the crypto-keypath of eth-, tron- and sol-sign-request. BitTool Signer uses it, together with the path and the expected key or address, to find the wallet that must sign.

The fingerprint is only 32 bits. It is a filter, not an identity: two different seeds can share one. Identify a paired wallet by its xpubs, never by the fingerprint alone.

Internal identity

Internally BitTool Signer identifies a wallet by walletKeyId = SHA-256("BitTool-Signer/WalletKeyId/v1" ‖ master public key ‖ master chain code). It is never exported and is not part of any QR format; it is mentioned here only so you know the fingerprint is not used as an identity inside the signer either.

Matching other wallets​

If the user's other wallet is…It probably uses
A Bitcoin wallet (Sparrow, BlueWallet, Nunchuk …)One of the four Bitcoin profiles; check its script type
MetaMask, Rabby, imToken, most EVM walletsm/44'/60'/0'/0/i
TronLink, TokenPocket (TRON)m/44'/195'/0'/0/i
Phantom, Solflare, BackpackSolana standard m/44'/501'/0'/0'
Trust Wallet (Solana)Solana m/44'/501'/0'
Ledger Live (Ethereum)m/44'/60'/i'/0/0: only its first account (i = 0) is the same key