Skip to content

[bug] eth_sendTransaction returns 65-byte ECDSA signature instead of tx hash via wagmi baseAccount connector #251

@remiroyc

Description

@remiroyc

Description

When using the baseAccount wagmi connector (via Reown AppKit), eth_sendTransaction returns a 65-byte ECDSA signature (packed r + s + v) instead of a standard 32-byte transaction hash. This causes waitForTransactionReceipt() to fail with:

InvalidParamsRpcError: invalid argument 0: hex string has length 130, want 64 for common.Hash

Steps to Reproduce

  1. Connect with Coinbase Wallet using the baseAccount wagmi connector (via @reown/appkit v1.8.17)
  2. Call sendTransaction() via wagmi's WalletClient
  3. The returned hash is 65 bytes (130 hex chars) instead of 32 bytes (64 hex chars)
  4. Passing this to waitForTransactionReceipt()eth_getTransactionReceipt fails

Example invalid response

0x03fdfd595361b21b53574b61e8dec99b1840150e1a38440f59b74fef209bb7c1
4e58f33b45a03c90f19685177b6d91cf1a5ad5f5be5408f9f932301f7a4a35b01b

Last byte 0x1b = 27 = v recovery byte → this is a packed ECDSA signature, not a tx hash.

Expected behavior

eth_sendTransaction should return a standard 32-byte (64 hex char) transaction hash after the UserOperation has been bundled and submitted on-chain.

Looking at Signer.ts, eth_sendTransaction is delegated to the wallet popup via sendRequestToPopup(). The popup should handle the full flow (create UserOp → submit via bundler → return on-chain tx hash), but it appears to return the raw signature instead.

Context

This issue was surfaced while investigating reown-com/appkit#5494 and reown-com/appkit#5541. AppKit v1.8.x migrated from coinbaseWallet to baseAccount connector (PR reown-com/appkit#5269), which now forces all Coinbase users through the Smart Wallet path.

Versions

  • @base-org/account: via @wagmi/connectors 5.11.2
  • @reown/appkit: 1.8.17
  • @reown/appkit-adapter-wagmi: 1.8.17
  • wagmi: 2.19.5
  • viem: 2.45.0

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