Skip to content

[Bug] PKPs cannot authenticate with protocols requiring ERC-1271 #923

@ulixes

Description

@ulixes

Is there an existing issue for this?

  • I have searched the existing issues

SDK version

  • @lit-protocol/lit-client: 8.0.0-alpha.18
  • @lit-protocol/auth: 8.0.0
  • @lit-protocol/networks: 8.0.0-alpha.27

Lit Network

naga-dev

Description of the bug/issue

PKPs cannot be used as signers/managers with protocols that require ERC-1271 implementation (e.g., Lens Protocol v3, Safe, other AA wallets).

The Issue:

  • PKPs are EOA-like addresses with no on-chain bytecode (returns 0x)
  • Protocols like Lens Protocol v3 check if manager addresses implement ERC-1271's isValidSignature()
  • PKP addresses fail this check with error: "The provided address is not a valid ERC1271 address"
  • PKPs can sign messages perfectly, but cannot validate their own signatures on-chain

Error:
Invalid signature: The provided address is not a valid ERC1271 address: 0x400Eb86D988A1aBFC7Fc9275f9FD88f70Fa03595

Root Cause:
PKPs have no bytecode on-chain, so they cannot implement the isValidSignature(bytes32, bytes) function required by ERC-1271.

Severity of the bug

High - Blocks integration with major Web3 protocols

This prevents PKPs from being used with:

  • Lens Protocol v3 account managers
  • Safe multisig wallets
  • Account Abstraction wallets requiring ERC-1271
  • Any protocol that validates signatures via smart contract calls

Many modern Web3 protocols expect signers to be ERC-1271 compatible smart contracts rather than EOAs.

Steps To Reproduce

Run our reproduction app:: https://lit-pkp-lens-issue.vercel.app/

  1. Mint a PKP using EOA auth from https://naga-v8-interactive-docs.vercel.app/eoa-auth
  2. Create PKP auth context and get PKP Viem Account (following V8 docs)
  3. Attempt to authenticate with a protocol requiring ERC-1271 (e.g., Lens Protocol)
  4. See error: "not a valid ERC1271 address"

Link to code

https://github.com/ulixes/lit-pkp-lens-issue

Full reproduction with side-by-side comparison:
- Direct wallet authentication (works)
- PKP authentication (fails with ERC-1271 error)


### Anything else?

Run our reproduction app:: https://lit-pkp-lens-issue.vercel.app/

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