Skip to content

Export XRPL-compatible Ed25519 secret seeds#45

Draft
L03TJ3 with Copilot wants to merge 2 commits into
mainfrom
copilot/fix-xrp-private-key-compatibility
Draft

Export XRPL-compatible Ed25519 secret seeds#45
L03TJ3 with Copilot wants to merge 2 commits into
mainfrom
copilot/fix-xrp-private-key-compatibility

Conversation

Copilot AI commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

GoodWallet displayed native XRPL addresses but exported an intermediate HD value that standard XRP wallets could not import. XRP export now copies the exact Ed25519 XRPL secret seed used to derive the displayed address.

  • XRPL seed export

    • Added a shared XRP helper that derives and encodes the existing 16-byte Ed25519 seed.
    • XRP signing continues using this same seed, preserving existing addresses and signing behavior.
  • Export UI

    • XRP/XRP Testnet now copy an XRPL Secret Seed (Ed25519).
    • XRP-specific confirmation and success copy no longer describe the credential as a raw private key.
    • Non-XRP exports retain their existing behavior.
const secretSeed = await getXrpSecretSeed("XRP", masterSeed)
// sEd... → imports to the displayed classic XRPL address
  • Regression coverage
    • Added a fixed derivation vector verifying the exported sEd... seed derives to the expected XRPL classic address.

@vercel

vercel Bot commented Jul 23, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
good-wallet-v2 Ready Ready Preview Jul 23, 2026 6:48am

Request Review

Copilot AI changed the title [WIP] Fix non-compatible value for XRP private key export Export XRPL-compatible Ed25519 secret seeds Jul 23, 2026
Copilot AI requested a review from L03TJ3 July 23, 2026 06:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Non-compatible value is returned as 'XRP Private key' that cannot be used as import in other wallets

2 participants