This page is the answer to "how do I get my account back / onto another Mac / into Farcaster mobile."
Lectern accounts are sovereign — the keys live in macOS Keychain on YOUR machine, never on a Lectern server. There is no "forgot password" support email. The two artifacts that recover an account are:
- A 24-word recovery phrase (BIP-39 mnemonic). Lectern generates 24 words for every new account (CLI
lectern keys newsince 2026-05-26, macOS app onboarding wizard since 2026-05-28). Same BIP-39 standard as MetaMask / Rabby / Frame. Custody derives fromm/44'/60'/0'/0/0(often shortened tom/0), recovery fromm/44'/60'/0'/0/1(m/1). Warpcast mobile generates a 12-word phrase instead — Lectern accepts either length vialectern keys import-mnemonic. - A
.lectern-backupfile — encrypted export fromlectern backup <name>. Carries the privs AND the mnemonic (v2 envelope). Decrypted with a passphrase you choose at export time.
Either one alone is enough to recover. Both is belt + suspenders.
I lost my Mac (or it's wiped)
Path A — you have the encrypted backup file + passphrase
This is the cleanest path: one command, no on-chain ops, no gas.
# Install Lectern: download the .dmg from lctrn.app and drag into /Applications.
lectern restore /path/to/lectern-backup-file
Lectern writes the keys back into Keychain, recovers the FID binding, and your signer is exactly where you left it. Run lectern status <name> to verify.
Path B — you have the 24 words on paper but no backup file
# Install Lectern: .dmg from lctrn.app → /Applications.
lectern keys import-mnemonic <name>
# (paste the 24 words at the hidden prompt)
Lectern derives custody (BIP-44 m/44'/60'/0'/0/0) and recovery (m/44'/60'/0'/0/1) from the seed, writes them to Keychain, and queries Optimism's IdRegistry to detect whether this custody already owns a FID.
- If your custody already owns the FID: Lectern shows the FID number. Run
lectern register-signer <name>to add a Lectern Ed25519 signer (sub-cent OP ETH gas for theKeyGateway.add()tx; broadcast by default — use--dry-runfor a preview). After that you can read AND post. Any existing signers (Warpcast's, herocast's, etc.) are NOT removed — Lectern adds itself alongside. - If your custody owns no FID yet: fund custody (~$3.50 covers register + storage + signer + gas) and run
lectern register <name>,lectern rent-storage <name> --send,lectern register-signer <name>,lectern claim-fname <name>. (register,register-signer,claim-fnamebroadcast by default;rent-storagerequires--send.) Or open the macOS app and use the create-account wizard.
Path C — you have neither
The account is gone. There is no recovery. This is the entire reason Lectern prompts so insistently to back up + write down the phrase.
If you have the recovery address in another wallet (e.g. you set the on-chain recovery to a hardware-wallet address during initial setup), that wallet can call IdRegistry.recover() to move the FID to a fresh custody. Use lectern recover and follow the prompts.
I want to use my Lectern account on Farcaster mobile (Warpcast)
This doesn't work for Lectern-created FIDs. Warpcast mobile gates "active" account status on a signer that only their backend can produce — registered atomically during their mobile Sign Up flow via Bundler. A FID minted through Lectern (IdGateway.register from your custody) never receives that signer, and there's no public API to add one to an externally-registered FID.
We tried. Four wrong theories before confirming the structural cause — full investigation chronology and the practical paths forward are at Warpcast compatibility.
If you specifically need Warpcast mobile access, the working pattern is two accounts: a sovereign FID for Lectern + a separate FID registered through Warpcast mobile for that side of the ecosystem. Both can be managed from Lectern (see "I want to use my Farcaster mobile account on Lectern" below).
I want to use my Farcaster mobile account on Lectern
If you set up your Farcaster account through Warpcast mobile, you have a 12-word phrase (Farcaster mobile → Settings → Advanced → Show Farcaster Recovery Phrase — NOT the wallet phrase, that's your connected primary ETH wallet). The macOS app has three paths for bringing this FID into Lectern. Open onboarding → "import existing account" → pick one:
Path A — Sovereign handoff (recommended for full ownership)
One-way migration. Lectern generates a fresh mnemonic locally, you paste the new m/1 address into Farcaster mobile's "Change Recovery Address", Lectern detects the rotation on-chain and broadcasts IdRegistry.recover() to take custody. Both keys end up under Lectern; Warpcast loses access to this FID. No private keys are exported from Warpcast at any point — you just authorize one mobile action.
This is the only path that gives you full sovereign control. It's irreversible — Farcaster has no path back to a Warpcast-managed state for an externally-controlled FID. See the in-app warnings before starting.
Path B — Dual-client (keep Warpcast access)
The easy path. Paste your 12-word Farcaster Recovery Phrase. Lectern derives custody from m/0 and verifies it matches the on-chain custody for your FID. Once saved, the app auto-launches a signer-registration step that polls custody balance and registers a Lectern Ed25519 signer (~$0.10 OP ETH gas). The new signer is added alongside Warpcast's existing one — both signers work in parallel in their respective clients.
After this completes, you can cast from Lectern; Warpcast mobile keeps working unchanged. Recovery stays as Warpcast's contract — they retain authority to rotate custody on this FID. Not fully sovereign, but the simplest setup if you want both clients.
If you later decide you want full sovereignty, Settings → Export shows a "⚠ This account isn't fully sovereign" banner with a "Run sovereign handoff" button that takes you into Path A.
Path C — Raw private keys (advanced)
For users who've extracted custody (and recovery, if EOA) private keys via wallet tooling, a .lectern-backup file, fario, or another sovereign client. The form has a pre-flight lookup (enter FID/fname → Lectern shows on-chain expectations) + live address derivation as you paste (✓ green when matches, ✗ red with the address it actually derives to).
Recovery field is hidden when on-chain recovery is a contract (Warpcast-managed accounts) — no priv exists for it.
Same outcome via the CLI
If you prefer the explicit-state model:
lectern keys import-mnemonic <pick-a-local-name>
# (paste your 12-word Farcaster Recovery Phrase)
lectern register-signer <local-name>
This is essentially Path B from the command line. No sovereign-handoff option from the CLI yet — use the macOS app for that.
I deleted my account from Lectern by mistake
Same as "I lost my Mac" above. The Keychain entry for that account is gone, but the FID still exists on Optimism and your custody address still owns it — the keys never lived on-chain.
If you have the 24-word phrase or a .lectern-backup file: follow Path A or B above.
If not: the account is recoverable ONLY via:
- Another wallet that holds the same custody (e.g. you imported the mnemonic into MetaMask before deleting), OR
- The on-chain recovery address calling
IdRegistry.recover()from a wallet you control.
Otherwise, the FID is stranded.
Migrating a legacy (raw-key) Lectern account to a mnemonic
If your account was created before 2026-05-26, it has raw secp256k1 keys with no corresponding BIP-39 mnemonic. To make it portable into any BIP-39 wallet (MetaMask, Rainbow, Frame, or another sovereign Farcaster client), run:
lectern migrate-to-mnemonic <name> --send
This:
- Generates a fresh 24-word mnemonic locally and displays it with a 3-word write-down challenge before any irreversible op.
- Derives new custody (m/0) and new recovery (m/1) keys from the mnemonic.
- Calls
IdRegistry.recover()from your current (raw-key) recovery — rotating custody to the mnemonic's m/0. - Stores the mnemonic + new privs in Keychain, leaves the old recovery untouched (use
lectern change-recovery-address <name> --sendafterward if you want recovery on the same mnemonic too).
Pre-flight: the recovery address needs ~$0.001 OP ETH (sub-cent) to pay gas for the recover tx (broadcast by the recovery address, not custody). Lectern checks balance before generating the mnemonic and bails with funding instructions if it's empty.
Important: this does NOT make the FID importable into Warpcast mobile. The mnemonic enables import into wallets and other sovereign Farcaster clients, but Warpcast mobile gates on a signer only they can produce — see Warpcast compatibility for the structural reason.
Same operation is also available from the macOS app via Settings → Developer → Signer Management (the migration is a separate one-time op, not a recurring signer concern, so it's a CLI-only command for v0.2 — GUI parity tracked as follow-up).
Why we ask you to back up
Lectern's whole proposition is you own the keys. The downside of that is there's no one to call when you lose them. The macOS Keychain is sturdy — it survives OS upgrades, Time Machine restores, account changes — but it does NOT survive:
- Replacing the Mac
- A full disk wipe
- A Keychain corruption (rare but happens)
- Logging into a brand-new macOS user account on the same Mac
Backups + the paper mnemonic make any of those a 30-second annoyance instead of a permanent loss.
The Lectern app reminds you to back up:
- After
lectern keys new(CLI prints the recovery phrase + alectern backupreminder) - On first launch (the welcome sheet pitches backup)
- Before destructive ops like account deletion
Take 60 seconds to write the words on paper. Future-you will thank you.