Source reviewed
Read or asserted against the pinned released source. This does not run an importer.
Oath Wallet Compatibility Lab · 2026-11-09
Oath 5.0.2 compatibility evidence: 14 reference-library checks, four source assertions and 14 passing Bitcoin host tests, with exact scope and skipped tests.
Oath team. Wallet Compatibility Lab — November 9, 2026. Edition 2026-11-09. Permanent edition link.
Trust Wallet, MetaMask and Electrum account conventions compared with Oath 5.0.2 (104). Source review, reference-library vectors and Oath core host tests; no installed third-party app or funded-transfer testing.
Accepted run completed . Published by the Oath team; this is a first-party engineering reference, not an independent certification.
Full evidence JSON · Comparison CSV · Reproduce the checks
d039b009d8c81b0497f2ac7e6abebfdf54ff8612The Electrum fixture bundle contains 22 cases and 132 address expectations across 2fa, 2fa_segwit, old, segwit, standard. Those expectations run inside one host test; they are not 132 separate app tests. The bundle is pinned to Oath’s source and file hash. A single upstream Electrum app version was not established for the entire bundle.
Read or asserted against the pinned released source. This does not run an importer.
Public fixtures executed in Wallet Core 4.8.4 WASM, with Oath path declarations checked separately. This does not execute the Oath app importer.
Actual released OathBitcoin Swift code executed on a Mac, using public fixtures and mocked discovery where specified. This does not launch the iPhone app.
Some cryptographic fixtures pass, but the original account policy or full restoration workflow is not established.
No compatibility result is asserted. A missing check is not a passing result.
Trust Wallet · Reference-library checks
Default path aligns
m/44'/60'/0'/0/0The reviewed Oath default and Wallet Core 4.8.4 registry agree. The reference library reproduced the first address with the explicit path.
Limit: Covers the first ordinary BIP39 account. It does not establish every Trust Wallet app version, account index, token discovery result or smart account.
Trust Wallet · Oath core host tests
Default path aligns
m/84'/0'/0'/0/0The reviewed default matches the Wallet Core Bitcoin registry. Oath core also reproduced the published native SegWit address.
Limit: Other address types have separate core checks below. This is not a balance-discovery or funded-transfer test of Trust Wallet.
Trust Wallet · Reference-library checks
Default path aligns
m/44'/195'/0'/0/0Explicit-path and default-address derivation agree in Wallet Core. Public passphrase vectors and account isolation checks passed.
Limit: A matching address does not verify every TRC-20 contract, available TRX/resources or sending behavior.
Trust Wallet · Reference-library checks
Different defaults; compare the address
Trust: m/44'/501'/0'; Oath default: m/44'/501'/0'/0'The released source exposes Trust Wallet and Phantom account conventions. The reference library produced different addresses for the same public fixture.
Limit: Use the matching account convention in Oath and compare its public address with the original wallet. An automatic match or full historical-account discovery was not tested.
MetaMask · Reference-library checks
First-account derivation agrees
m/44'/60'/0'/0/0The MetaMask-documented default account branch and Oath’s first account align. Wallet Core reproduced the known first-account address.
Limit: Only ordinary phrase-derived EVM accounts are covered. Social-login recovery, hardware wallets, smart accounts and non-EVM/Snap accounts are outside this result.
MetaMask · Reference-library checks
A different account needs its own key or matching path
Example later leaf: m/44'/60'/0'/0/1The second account is distinct from the first. A reference-library test reproduced that second address from its individual public-fixture private key. Oath’s ordinary EVM private-key import is source reviewed.
Limit: This does not show that phrase import automatically restores all accounts. An individual key covers one account, not the other accounts derived from the phrase or a separately imported key.
Electrum · Oath core host tests
Legacy derivation fixtures pass
Root m; receive /0/i; change /1/iReleased Oath core reproduced standard Electrum fixture addresses and key results, including receive and change branches.
Limit: This is Electrum’s own versioned seed format, not a BIP39 phrase merely used inside Electrum. No installed Electrum app or funded migration was exercised.
Electrum · Oath core host tests
Native SegWit derivation fixtures pass
Root m/0'; receive /0/i; change /1/iReleased Oath core reproduced SegWit fixture addresses and key results. The root differs from a BIP84 wallet even though both can produce bc1q addresses.
Limit: Do not infer the seed format from the address prefix alone. Multisig and Lightning state are outside this ordinary single-wallet result.
Electrum · Oath core host tests
Old-format fixtures pass
Legacy Electrum derivationThe pinned fixture set includes old-format seed decoding and legacy address/key expectations, exercised by Oath core.
Limit: Old seeds do not support an extra seed extension in this implementation. An encrypted wallet-file password is not the same as a seed extension.
Electrum · Oath core host tests
Normalization and account isolation checks pass
Same seed format and exact extensionOath core tests check extension normalization and distinct account results. Restoring the original wallet requires the same extension used to create it.
Limit: The website cannot recover a forgotten extension. Oath 5.0.2 excludes Electrum-derived wallets from its encrypted iCloud export; retain the original seed and extension backup privately.
Electrum · Limited checks; migration unverified
Outside this migration scope
Policy-specific scripts and cosignersThe core suite contains 2FA address/key and CJK normalization fixtures. Those are cryptographic checks, not proof that a migration preserves the original cosigning or security policy.
Limit: Do not use this row as a supported migration procedure. TrustedCoin interaction, original 2FA protection and custom multisig recovery were not validated end to end.
Other account types · Not evaluated
Not evaluated
Account-specificA phrase or an ordinary private key is not a universal export of every account and authorization model.
Limit: No installed-app compatibility claim is made for hardware pairing, smart-account deployment/owners, social login, Snap accounts or custom scripts. Consult the original wallet’s recovery method.
No passing test is assigned to this row.
These tests execute OathBitcoin on macOS. They do not demonstrate an installed wallet migration or a funded spend. A Bitcoin address beginning with 3 or bc1 can represent other scripts outside this single-key scope.
P2PKH · starts with 1
m/44'/0'/0'/change/indexAccount 0: initial receiving address matches a fixed published expectation; seed and mnemonic-derived branches agree for receive/change indexes 0–19.
P2SH-P2WPKH · starts with 3
m/49'/0'/0'/change/indexAccount 0: initial receiving address matches a fixed published expectation; seed and mnemonic-derived branches agree for receive/change indexes 0–19.
P2WPKH · starts with bc1q
m/84'/0'/0'/change/indexAccount 0: initial receiving address matches a fixed published expectation; seed and mnemonic-derived branches agree for receive/change indexes 0–19.
Single-key P2TR · starts with bc1p
m/86'/0'/0'/change/indexAccount 0: initial receiving address matches a fixed published expectation; seed and mnemonic-derived branches agree for receive/change indexes 0–19.
Here, change is 0 for receiving and 1 for change. Additional tests cover compressed versus uncompressed single keys, extended-key version families and rejection of invalid inputs. These helper tests do not establish a watch-only public-key import feature in the app.
reference-01reference-02reference-03reference-04reference-05reference-06reference-07reference-08reference-09reference-10reference-11reference-12reference-13reference-14reference-15reference-16reference-17reference-1814 passed, 1 skipped, 0 failed. The discovery test uses a mocked provider. The funded Bitcoin Core integration test was deliberately skipped.
BitcoinKeysTests.testBIP39SeedMatchesAllPublishedAddressespassed · 0.056 secondsBitcoinKeysTests.testCompressedKeyHasAllFourTypespassed · 0.001 secondsBitcoinKeysTests.testExtendedPrivateAndPublicVersionFamiliesRoundTrippassed · 0.128 secondsBitcoinKeysTests.testFinalNormalChildMatchesIndependentBIP44ScriptsAndExportspassed · 0.027 secondsBitcoinKeysTests.testFinalNormalChildStillRejectsHardenedAndFixedKeyspassed · 0.003 secondsBitcoinKeysTests.testInvalidKeysAndUnsupportedNetworksFailClosedpassed · 0.004 secondsBitcoinKeysTests.testLegacyImportOwnershipPublicKeyMatchesPublishedBIP84Addresspassed · 0.004 secondsBitcoinKeysTests.testPublishedBIPAddressespassed · 0.004 secondsBitcoinKeysTests.testUncompressedKeyIsFiniteLegacyOnlypassed · 0.001 secondsElectrumMnemonicTests.testCoreFundedRecoveryAndTransfersForEverySeedTypeskipped · 0.001 secondsElectrumMnemonicTests.testDiscoveryKeepsReceiveChangeAndSpentHistorypassed · 0.718 secondsElectrumMnemonicTests.testExtensionsNormalizationAndIsolationpassed · 0.009 secondsElectrumMnemonicTests.testFinalNormalChildElectrumLeafExportpassed · 0.005 secondsElectrumMnemonicTests.testTwoFactorCJKSeedBoundariespassed · 0.006 secondsElectrumMnemonicTests.testUpstreamAddressesAndPrivateKeyspassed · 0.361 secondsSHA-256 hashes of files at the pinned Oath source revision. The JSON download preserves every hash.
cdd37ba5790ca3c09eab2b0b03e5a5e83d6b47cc3ea66293de02c2b1376ea9462a51be5e62564f51edc7a45d6c7ed1ad4323ea94b502b1f05842ddab6d4c62974a2fc4bd1431eb8a8419bb797a1b9132dcb88c3ce79215d83002f0ac2092a6850dabdeaddc025a7bf95281f293151ec16f4885a398a763bd3c7a3b43789bddf96dc77cd30deafb02fe9aac2ea3a739e30ff9103f371ae09ecd33f2b234f0fdc45c1d734ec239965415dbdf62bdc80fbb59b888c06ac93d9314a168b6783c4e0d8892486ce68d12ddcd8b500847ce5d9fb9038dc728ba827552191985a629e881b70d4d1920fb40726e82d31edd2a1f94cc9ef09c88017d104bd3ebbb5ec646729b6d3202e009dc5634531b84b4590d3d3fe6d08f1205f93f8eaae9844401724000691116e5c22730202ce9195cb2a2799f633b0c632ba0b8c58c4d0f36fd3f9e46409993aff29ae73145be05008d33d921fd378acba8f0fd39f69fe9afd576979d7fc824e7321e6e8ad48f152950ed2fbe9900766b8550311181cf41d9bda64aaed75b8bbd9f33af2c608c661a1b3d77342934a579a54e750d1eb49d98219c2d333205bec2cd51c50551f5ea266eac5590be54d9dbe6f2ca558ba62deafb2427602ec5342539e380af743b7a6a2e683c635963a0ad1bb8cb2e6e42544b7513211d55e1e5d6c5242e2dc78978bfa444286effc8f294bfc8613587ef689cd359b5f4d76cb230d0ee4eb0a3105717ead0456cd14c7bb2938416a3b8db9b16025c8b87ad0b68516b908d0573fcbc8d559963f6db31a69c210ae7c4c1ab98df5f7223External guidance was reviewed on 2026-11-09. External pages can change; the Oath code and Wallet Core registry links are pinned to exact revisions.
Future tested releases get a new dated edition. This URL keeps its recorded scope. Corrections to a published finding will be dated and explained here.