You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Status: π‘ Tracking β gated on Ledger Live + WalletConnect 7702 primitive support
What needs to be true to unblock:
Ledger Live routes 7702 signing requests to the device over WalletConnect
WalletConnect 2.x exposes a standardized 7702 primitive in the eip155 namespace β either a dedicated eth_signAuthorization / wallet_signEIP7702Authorization method, OR ERC-5792 wallet_sendCalls carrying setCode authorizations as part of a batched-calls payload
Either path closes the gap; the wallet_sendCalls route is the more likely one (see #505 for why).
What's verified today (2026-04-28):
β Ledger Ethereum app firmware supports 7702 authorization + type-4 tx signing since v1.17.0 (2025-05-05). Device-firmware implementation allowlist enforced at the hardware layer (EF simple7702 only as of v1.20.0; MetaMask Gator was added in v1.18 then removed 2025-12-02).
β Ledger Live β device routing of 7702 over WC: vendor's own statement: "only the simple 7702 contract is compatible with your Ledger signer at the device level β and it is not yet available to use via Ledger Live" β Pectra announcement, 2025-05-07. No later vendor reversal found.
β WalletConnect 2.x has no standardized 7702 RPC method in the eip155 namespace (WC namespaces spec).
β viem signAuthorization is local-key-only (viem docs) β no JSON-RPC bridge for external signers like WC.
Design decisions already captured β do NOT redo at unblock time:
#504 β Curated MCP-side / skill-side implementation allowlist is moot. Device firmware enforces the allowlist at the strongest possible layer (hardware; can't be bypassed by compromised MCP / agent / skill).
#505 β Build against ERC-5792 wallet_sendCalls, not against bare eth_signAuthorization. Industry direction; what Ledger Live is most likely to expose first.
Project memory project_ledger_live_eip7702_wc.md + feedback_no_curated_allowlists_for_security.md β for high-blast-radius security flows, design around user echo-back + agent-assisted verify + 2nd-LLM cross-check, not whitelisted contract sets.
Skill v8 Β§16 unconditional refusal is the load-bearing defense until this lands. Inv Add Base network support (chainId 8453)Β #14 verify-block (#460) still applies once we ship β even with a hardware allowlist, the user re-states the implementation address before signing.
How to close this issue:
Re-verify the precondition with the rnd skill: recheck Ledger Live release notes (https://support.ledger.com/article/What-s-new-in-Ledger-Live), Ledger ETH app CHANGELOG (https://github.com/LedgerHQ/app-ethereum/blob/develop/CHANGELOG.md), WC eip155 namespace spec, and any new viem JSON-RPC bridge for signAuthorization.
Tracking issue for the MCP-side prepare_eip7702_authorization builder, paired with the eventual skill v9 release that introduces the curated implementation allowlist. Companion to #455 (the design issue) and the v8 forward-looking refusal in vaultpilot-security-skill#19 Β§16.
Why this is filed now
Skill v8 ships Β§16 saying "EIP-7702 setCode REFUSED UNCONDITIONALLY until skill v9 ships an implementation allowlist." Without an MCP-side implementation tracking issue, the design (#455) sits in skill text with no MCP-side counterpart on the roadmap.
Scope (as originally proposed β superseded by #504, #505 above)
Build prepare_eip7702_authorization(implementation, delegator, chainId, nonce) returning an unsigned authorization tuple per EIP-7702. Safeguards baked in:
Out-of-band re-statement β user pastes the implementation address back before signing, defeating agent-side address swaps. STILL APPLIES (Inv Add Base network support (chainId 8453)Β #14).
Source
Adversarial smoke-test 2026-04-28 scripts 139, 140. See #455 for the full design proposal.
Status: π‘ Tracking β gated on Ledger Live + WalletConnect 7702 primitive support
What needs to be true to unblock:
eip155namespace β either a dedicatedeth_signAuthorization/wallet_signEIP7702Authorizationmethod, OR ERC-5792wallet_sendCallscarrying setCode authorizations as part of a batched-calls payloadEither path closes the gap; the
wallet_sendCallsroute is the more likely one (see #505 for why).What's verified today (2026-04-28):
eip155namespace (WC namespaces spec).signAuthorizationis local-key-only (viem docs) β no JSON-RPC bridge for external signers like WC.Verification details:
rndverification comment.Design decisions already captured β do NOT redo at unblock time:
wallet_sendCalls, not against bareeth_signAuthorization. Industry direction; what Ledger Live is most likely to expose first.project_ledger_live_eip7702_wc.md+feedback_no_curated_allowlists_for_security.mdβ for high-blast-radius security flows, design around user echo-back + agent-assisted verify + 2nd-LLM cross-check, not whitelisted contract sets.How to close this issue:
rndskill: recheck Ledger Live release notes (https://support.ledger.com/article/What-s-new-in-Ledger-Live), Ledger ETH app CHANGELOG (https://github.com/LedgerHQ/app-ethereum/blob/develop/CHANGELOG.md), WC eip155 namespace spec, and any new viem JSON-RPC bridge forsignAuthorization.Original spec (filed 2026-04-28 AM)