{"number":43,"title":"Purpose Field for Deterministic Wallets","authors":["Marek Palatinus","Pavol Rusnak"],"status":"Deployed","type":"Specification","layer":"Applications","created":"2014-04-24","requires":[],"replaces":[],"replacedBy":[],"discussion":[],"abstract":"This BIP introduces a \"Purpose Field\" for use in deterministic wallets based on algorithm described in BIP-0032 (BIP32 from now on).","eli5":"Reserves the first level of an HD wallet's key tree for a \"purpose\" number that says which layout the rest of the tree follows. This lets different wallet standards coexist and helps software recognize how a wallet is organized.","categories":["wallets","hd-wallets","derivation"],"filename":"bip-0043.mediawiki","githubUrl":"https://github.com/bitcoin/bips/blob/master/bip-0043.mediawiki","format":"mediawiki","readingMinutes":1,"inbound":12,"revisions":17,"impact":96,"core":true,"references":[32],"lastModified":"2025-10-08","html":"<h2 id=\"abstract\">Abstract</h2>\n<p>This BIP introduces a \"Purpose Field\" for use in deterministic wallets based on algorithm described in BIP-0032 (BIP32 from now on).</p>\n<h2 id=\"motivation\">Motivation</h2>\n<p>Although Hierarchical Deterministic Wallet structure as described by BIP32 is an important step in user experience and security of the cryptocoin wallets, the BIP32 specification offers implementers too many degrees of freedom. Multiple implementations may claim they are BIP32 compatible, but in fact they can produce wallets with different logical structures making them non-interoperable. This situation unfortunately renders \"BIP32 compatible\" statement rather useless.</p>\n<h2 id=\"purpose\">Purpose</h2>\n<p>We propose the first level of BIP32 tree structure to be used as \"purpose\". This purpose determines the further structure beneath this node.</p>\n<pre><code>m / purpose' / *</code></pre>\n<p>Apostrophe indicates that BIP32 hardened derivation is used.</p>\n<p>We encourage different schemes to apply for assigning a separate BIP number and use the same number for purpose field, so addresses won't be generated from overlapping BIP32 spaces.</p>\n<p>Purpose codes from 10001 to 19999 are reserved for <a href=\"https://github.com/satoshilabs/slips\">SLIPs</a>.</p>\n<p>Example: Scheme described in BIP44 should use 44' (or 0x8000002C) as purpose.</p>\n<p>Note that m / 0' / * is already taken by BIP32 (default account), which preceded this BIP.</p>\n<p>Not all wallets may want to support the full range of features and possibilities described in these BIPs. Instead of choosing arbitrary subset of defined features and calling themselves BIPxx compatible, we suggest that software which needs only a limited structure should describe such structure in another BIP and use different \"purpose\" value.</p>\n<h2 id=\"node-serialization\">Node serialization</h2>\n<p>Because this scheme can be used to generate nodes for more cryptocurrencies at once, or even something totally unrelated to cryptocurrencies, there's no point in using a special version magic described in section \"Serialization format\" of BIP32. We suggest to use always 0x0488B21E for public and 0x0488ADE4 for private nodes (leading to prefixes \"xpub\" and \"xprv\" respectively).</p>\n<h2 id=\"reference\">Reference</h2>\n<ul><li>\n<a href=\"/bip/32\">BIP32 - Hierarchical Deterministic Wallets</a>\n</li></ul>","toc":[{"id":"abstract","title":"Abstract","level":2},{"id":"motivation","title":"Motivation","level":2},{"id":"purpose","title":"Purpose","level":2},{"id":"node-serialization","title":"Node serialization","level":2},{"id":"reference","title":"Reference","level":2}],"history":{"totalCommits":17,"firstCommit":"2014-04-09T15:59:32+02:00","lastUpdated":"2025-10-08T14:59:36-07:00","events":[{"sha":"24e96e870fffaa257b465ce1f0370c14aac588e8","date":"2025-10-08T14:59:36-07:00","author":"Murch","message":"process: Created ↦ Assigned","url":"https://github.com/bitcoin/bips/commit/24e96e870fffaa257b465ce1f0370c14aac588e8","kind":"edit"},{"sha":"5207ef92a52d0b8902895b0dbb40823a4d698ec9","date":"2025-04-11T20:08:17-07:00","author":"Murch","message":"process: Author ↦ Authors","url":"https://github.com/bitcoin/bips/commit/5207ef92a52d0b8902895b0dbb40823a4d698ec9","kind":"edit"},{"sha":"59730dec4fb641a41589aa1b91d3c452f13e0e36","date":"2025-04-11T20:05:13-07:00","author":"Murch","message":"process: Remove Comments-URI and -Summary","url":"https://github.com/bitcoin/bips/commit/59730dec4fb641a41589aa1b91d3c452f13e0e36","kind":"edit"},{"sha":"a233bde4af52c6a11269e2e6dd9707abce441ffe","date":"2025-04-11T18:19:21-07:00","author":"Murch","message":"process: Standards Track ↦ Specification","url":"https://github.com/bitcoin/bips/commit/a233bde4af52c6a11269e2e6dd9707abce441ffe","kind":"edit"},{"sha":"5d3ceb37734f80b2ec206fc94245e3bfd6d5b0f0","date":"2025-04-11T18:08:44-07:00","author":"Murch","message":"process: Final/Active ↦ Deployed","url":"https://github.com/bitcoin/bips/commit/5d3ceb37734f80b2ec206fc94245e3bfd6d5b0f0","kind":"status"},{"sha":"468e9759ba3ab9b58d1cadd300b92f5bd43727dc","date":"2025-02-13T11:56:14-06:00","author":"Jon Atack","message":"spelling: globally change \"implementor\" to \"implementer\"","url":"https://github.com/bitcoin/bips/commit/468e9759ba3ab9b58d1cadd300b92f5bd43727dc","kind":"edit"},{"sha":"5658236e6c9d9b39e99022674817925b18ea29d9","date":"2024-03-18T23:48:22+01:00","author":"Pavol Rusnak","message":"BIP-00{43,49,84}: move to Standards Track","url":"https://github.com/bitcoin/bips/commit/5658236e6c9d9b39e99022674817925b18ea29d9","kind":"rename"},{"sha":"cb8956396e7b3636f970795c58459110b0b1a34a","date":"2017-04-21T17:29:33+00:00","author":"Luke Dashjr","message":"BIP 43: Reserve purpose codes 10001-19999 for SLIPs","url":"https://github.com/bitcoin/bips/commit/cb8956396e7b3636f970795c58459110b0b1a34a","kind":"edit"},{"sha":"6a30b6faae33876c542e6962b399f397d19c2aa8","date":"2020-04-30T09:43:09-05:00","author":"Janus","message":"Mark BIP-0043 as final","url":"https://github.com/bitcoin/bips/commit/6a30b6faae33876c542e6962b399f397d19c2aa8","kind":"status"},{"sha":"959fecc15bdad070afa63455468b1dba54655fa6","date":"2016-11-30T09:47:31+00:00","author":"Luke Dashjr","message":"Promote BIP 2 Draft->Active, and implement it","url":"https://github.com/bitcoin/bips/commit/959fecc15bdad070afa63455468b1dba54655fa6","kind":"status"},{"sha":"72f18918a8ae655212ea2700b30f0dc4d758b843","date":"2016-11-30T09:45:33+00:00","author":"Luke Dashjr","message":"Promote BIP 123 Draft->Active, and implement it","url":"https://github.com/bitcoin/bips/commit/72f18918a8ae655212ea2700b30f0dc4d758b843","kind":"status"},{"sha":"387fc6011bd804609fd751786e50439d5c11a097","date":"2016-08-23T19:47:29+00:00","author":"Luke Dashjr","message":"Promote BIPs 18, 39, 44, 67, 80, 81, 111, 125, 130, and 132 Draft->Accepted; change BIP 43 to Informational","url":"https://github.com/bitcoin/bips/commit/387fc6011bd804609fd751786e50439d5c11a097","kind":"edit"},{"sha":"4edd6d2badd9a6ad2ff09bb6792fe0d0e365a7de","date":"2016-02-03T07:02:36+00:00","author":"Luke Dashjr","message":"Lots of formatting fixes","url":"https://github.com/bitcoin/bips/commit/4edd6d2badd9a6ad2ff09bb6792fe0d0e365a7de","kind":"edit"},{"sha":"12b2dc08a4402ccd8611fe0489a9e09530a3b580","date":"2014-08-16T10:14:55+02:00","author":"Andreas Schildbach","message":"BIP43: Block usage 0 because it's already used in BIP32. It would be unfortunate if BIP32 wallets would at one day overlap BIP43 wallets.","url":"https://github.com/bitcoin/bips/commit/12b2dc08a4402ccd8611fe0489a9e09530a3b580","kind":"edit"},{"sha":"67634c57d05e1eba18dc5946f8aed559d1888cd0","date":"2014-04-24T16:38:54+02:00","author":"Pavol Rusnak","message":"fix typos in BIP-0043 and BIP-0044","url":"https://github.com/bitcoin/bips/commit/67634c57d05e1eba18dc5946f8aed559d1888cd0","kind":"edit"},{"sha":"585b1c31aa7e0a3f13456f1119c5157be9384090","date":"2014-04-24T13:56:27+02:00","author":"slush0","message":"Fixed date format","url":"https://github.com/bitcoin/bips/commit/585b1c31aa7e0a3f13456f1119c5157be9384090","kind":"edit"},{"sha":"39b441f2ff18e7dcf71f357e43e4dd78a1b198b1","date":"2014-04-09T15:59:32+02:00","author":"slush0","message":"introduce BIP-0043 and BIP-0044","url":"https://github.com/bitcoin/bips/commit/39b441f2ff18e7dcf71f357e43e4dd78a1b198b1","kind":"edit"}]}}