Skip to content

[Extension] Derive auth keypair from seed for backend authentication #2769

@piyalbasu

Description

@piyalbasu

Derive the Ed25519 auth keypair on the extension via HMAC-SHA256(seedBytes, "freighter-auth-v1"). The hex-encoded pubkey is the user's anonymous backend user ID — separate from any Stellar G keypair, never used for wallet signing.

See Cross-Platform Contact Sync design doc — Auth Flow + Key properties.

Blocks: [Extension] Generate per-request backend JWT in @shared/api.

Acceptance:

  • Same seed produces identical auth keypair (and therefore identical user ID) on extension and mobile.
  • Auth pubkey is not a valid Stellar G address (cryptographically independent from the wallet keypair).
  • No wallet-signing prompt is triggered by derivation or use.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions