Skip to content

Oath Wallet Compatibility Lab · 2026-11-09

The first edition. Every result in view.

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.

Reviewed release
Oath 5.0.2 (104)
Reference-library checks
14 + 4 source assertions
Oath core host tests
14 passed · 1 skipped
Installed-app / funded tests
Not performed

Cite this edition

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

Exactly what was tested

Released source
Oath 5.0.2 (104) · d039b009d8c81b0497f2ac7e6abebfdf54ff8612
Reference engine
Wallet Core 4.8.4 WASM
Oath Bitcoin dependency
BitcoinDevKit 3.1.1
Host environment
Apple Swift version 6.4.2 (swiftlang-6.4.2.1.9 clang-2100.4.1.1) · macOS 27.0 · arm64 · Node v26.5.0
Trust Wallet app version
Not installed or executed for this edition. No tested app version is claimed.
MetaMask app version
Not installed or executed for this edition. No tested app version is claimed.
Electrum app version
Not installed or executed for this edition. No tested app version is claimed.

The 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 the evidence, not just the result.

Source reviewed

Read or asserted against the pinned released source. This does not run an importer.

Reference-library checks

Public fixtures executed in Wallet Core 4.8.4 WASM, with Oath path declarations checked separately. This does not execute the Oath app importer.

Oath core host tests

Actual released OathBitcoin Swift code executed on a Mac, using public fixtures and mocked discovery where specified. This does not launch the iPhone app.

Limited checks; migration unverified

Some cryptographic fixtures pass, but the original account policy or full restoration workflow is not established.

Not evaluated

No compatibility result is asserted. A missing check is not a passing result.

Individual findings

Trust Wallet · Reference-library checks

First ordinary EVM account

Default path aligns

m/44'/60'/0'/0/0

The 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.

Evidence references (4)

Read the migration guide

Trust Wallet · Oath core host tests

Bitcoin native SegWit, account 0

Default path aligns

m/84'/0'/0'/0/0

The 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.

Evidence references (3)

Read the migration guide

Trust Wallet · Reference-library checks

First TRON account

Default path aligns

m/44'/195'/0'/0/0

Explicit-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.

Evidence references (4)

Read the migration guide

Trust Wallet · Reference-library checks

Solana account convention

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.

Evidence references (3)

Read the migration guide

MetaMask · Reference-library checks

First ordinary EVM account

First-account derivation agrees

m/44'/60'/0'/0/0

The 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.

Evidence references (2)

Read the migration guide

MetaMask · Reference-library checks

Later or separately imported EVM account

A different account needs its own key or matching path

Example later leaf: m/44'/60'/0'/0/1

The 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.

Evidence references (2)

Read the migration guide

Electrum · Oath core host tests

Electrum-generated standard seed

Legacy derivation fixtures pass

Root m; receive /0/i; change /1/i

Released 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.

Evidence references (1)

Read the migration guide

Electrum · Oath core host tests

Electrum-generated SegWit seed

Native SegWit derivation fixtures pass

Root m/0'; receive /0/i; change /1/i

Released 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.

Evidence references (1)

Read the migration guide

Electrum · Oath core host tests

Old Electrum seed encoding

Old-format fixtures pass

Legacy Electrum derivation

The 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.

Evidence references (2)

Read the migration guide

Electrum · Oath core host tests

Standard or SegWit seed with extension

Normalization and account isolation checks pass

Same seed format and exact extension

Oath 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.

Evidence references (1)

Read the migration guide

Electrum · Limited checks; migration unverified

2FA / TrustedCoin or custom multisig

Outside this migration scope

Policy-specific scripts and cosigners

The 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.

Evidence references (2)

Read the migration guide

Other account types · Not evaluated

Hardware, smart accounts, social login, custom scripts

Not evaluated

Account-specific

A 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.

Bitcoin: four address types checked in core code.

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.

Legacy

P2PKH · starts with 1

m/44'/0'/0'/change/index

Account 0: initial receiving address matches a fixed published expectation; seed and mnemonic-derived branches agree for receive/change indexes 0–19.

Nested SegWit

P2SH-P2WPKH · starts with 3

m/49'/0'/0'/change/index

Account 0: initial receiving address matches a fixed published expectation; seed and mnemonic-derived branches agree for receive/change indexes 0–19.

Native SegWit

P2WPKH · starts with bc1q

m/84'/0'/0'/change/index

Account 0: initial receiving address matches a fixed published expectation; seed and mnemonic-derived branches agree for receive/change indexes 0–19.

Taproot

Single-key P2TR · starts with bc1p

m/86'/0'/0'/change/index

Account 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.

Inspect the exact test inventory

Run inventory

Reference checks and source assertions

Released Oath core host tests

14 passed, 1 skipped, 0 failed. The discovery test uses a mocked provider. The funded Bitcoin Core integration test was deliberately skipped.

Not performed

Source file checksums (18)

SHA-256 hashes of files at the pinned Oath source revision. The JSON download preserves every hash.

OathAtmosphere/Wallet/OathWalletEngine.swift
cdd37ba5790ca3c09eab2b0b03e5a5e83d6b47cc3ea66293de02c2b1376ea946
OathAtmosphere/Wallet/OathPrivateKeyImport.swift
2a51be5e62564f51edc7a45d6c7ed1ad4323ea94b502b1f05842ddab6d4c6297
OathAtmosphere/Wallet/OathSolanaWallet.swift
4a2fc4bd1431eb8a8419bb797a1b9132dcb88c3ce79215d83002f0ac2092a685
OathAtmosphere/Wallet/OathBitcoinWallet.swift
0dabdeaddc025a7bf95281f293151ec16f4885a398a763bd3c7a3b43789bddf9
OathAtmosphere/Import/OathRecoveryPhraseScreen.swift
6dc77cd30deafb02fe9aac2ea3a739e30ff9103f371ae09ecd33f2b234f0fdc4
OathAtmosphere/Home/OathWalletSheets.swift
5c1d734ec239965415dbdf62bdc80fbb59b888c06ac93d9314a168b6783c4e0d
OathAtmosphere/Wallet/OathPassphraseWalletModel.swift
8892486ce68d12ddcd8b500847ce5d9fb9038dc728ba827552191985a629e881
Packages/OathDatabase/Sources/OathDatabase/SolanaReceive.swift
b70d4d1920fb40726e82d31edd2a1f94cc9ef09c88017d104bd3ebbb5ec64672
Packages/WalletCore/registry-4.8.4.json
9b6d3202e009dc5634531b84b4590d3d3fe6d08f1205f93f8eaae98444017240
Packages/OathBitcoin/Sources/OathBitcoin/ElectrumBitcoin.swift
00691116e5c22730202ce9195cb2a2799f633b0c632ba0b8c58c4d0f36fd3f9e
Packages/OathBitcoin/Sources/OathBitcoin/BitcoinKeys.swift
46409993aff29ae73145be05008d33d921fd378acba8f0fd39f69fe9afd57697
Packages/OathBitcoin/Sources/OathBitcoin/ElectrumMnemonic.swift
9d7fc824e7321e6e8ad48f152950ed2fbe9900766b8550311181cf41d9bda64a
Packages/OathBitcoin/Tests/OathBitcoinTests/ElectrumMnemonicTests.swift
aed75b8bbd9f33af2c608c661a1b3d77342934a579a54e750d1eb49d98219c2d
Packages/OathBitcoin/Tests/OathBitcoinTests/Fixtures/electrum-reference.json
333205bec2cd51c50551f5ea266eac5590be54d9dbe6f2ca558ba62deafb2427
LocalizationTests/OathWalletEngineTests.swift
602ec5342539e380af743b7a6a2e683c635963a0ad1bb8cb2e6e42544b751321
Packages/OathBitcoin/Tests/OathBitcoinTests/BitcoinKeysTests.swift
1d55e1e5d6c5242e2dc78978bfa444286effc8f294bfc8613587ef689cd359b5
Packages/OathBitcoin/Package.swift
f4d76cb230d0ee4eb0a3105717ead0456cd14c7bb2938416a3b8db9b16025c8b
Packages/OathBitcoin/Package.resolved
87ad0b68516b908d0573fcbc8d559963f6db31a69c210ae7c4c1ab98df5f7223

Primary sources

External guidance was reviewed on 2026-11-09. External pages can change; the Oath code and Wallet Core registry links are pinned to exact revisions.

Edition history

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.