Skip to content

RecallAgentToolkit fails with viem private key error due to incompatible dependency versions #981

Description

@TheusFire

Summary:
When attempting to instantiate a RecallAgentToolkit using a valid RECALL_PRIVATE_KEY, an internal error is thrown:

typescript
Copy
Edit
Error: private key must be hex string or Uint8Array, cause: Error: hex string expected, got unpadded hex of length 9
Root cause:
The toolkit depends on viem@2.x, which internally uses @noble/curves@1.9.x, but the RecallAgentToolkit appears to be using private key handling code written for viem@1.x, leading to incompatible expectations for key input formats.

Attempted resolutions:

Tried downgrading viem and @noble/curves locally (viem@1.15.4, @noble/curves@1.4.0), but the SDK still pulls in nested viem@2.33.0 via @recallnet/sdk.

Tried both .cjs and .mjs entrypoints, raw hex key (64-char string) and 0x-prefixed format — all fail identically.

Ask:
Can the toolkit either:

Pin compatible versions of viem@1.x across all dependencies, OR

Update the RecallAgentToolkit constructor to correctly handle viem@2.x key formats?

System Info:

Node.js: v18.20.8

OS: Windows 11

Toolkit: @recallnet/agent-toolkit@0.0.6 and 0.0.8 both tested

RECALL_PRIVATE_KEY: 64-char hex string (verified)

Thank you! This is blocking local dev agent startup for new listeners.

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