Skip to content

Importing a Ready private key creates an empty account instead of restoring the user's #776

Closed

Description

@l-henri

Problem

A user imported their Ready private key through Import private key → Ready Account, saw a successful import, and got an address that is not theirs.

Read on Mainnet (addresses withheld, the user shared them privately):

User's account What Bramble imported
State deployed, 129 transactions not deployed, no STRK / ETH / USDC
Live class Argent 0.4.0 —
Owner the imported key (Stark signer) same key
Guardian set, no backup, no escape pending —

Recomputing from the owner key: the user's address is Argent 0.3.1, constructor [owner, 0], salt = key, later upgraded to 0.4.0 and given a guardian. Bramble's address is the same key under Argent 0.4.0 [0, owner, None].

Cause

  • The raw-key import derives one address, at the release this wallet creates (0.4.0). An account keeps the address its deploy class fixed, so every Ready account deployed at 0.3.x is unreachable from its own key.
  • It never reads the chain, so an empty address is stored and reported as a success.
  • Related gap in the phrase scan: on this wallet's own BIP-44 ladder, Argent is tried only at 0.4.0; the 0.3.x releases are tried only on the Ready extension's ETH-seeded ladder (Seed import finds zero Ready (Argent X) software accounts — wrong master seed, wrong axis #505).

Fix

  • Raw-key "Ready Account" import (in-wallet and first-run) previews the key at every Argent deployment class, reads the chain, and stores the deployed release, else a funded one.
  • With no account on chain under any release it refuses before writing: "No Ready account uses this key on this network." The Bramble Account path is unchanged.
  • The phrase scan tries every Argent release on both ladders.
  • The guardian refusal copy names the in-wallet Recover account escape instead of sending the user back to Ready.

Activity

  1. derek-flossman commented on Oct 27, 2026

    @derek-flossman
    Collaborator

    Fixed by #777, merged into release/v0.10.8. Ships in v0.10.8.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions