Skip to content

Error 463 (NackCallerReachoutTimelocked) — tctoken/cstoken not persisted after receiving messages #50

@cosig-tech

Description

@cosig-tech

Summary

After receiving a WhatsApp message on an instance, attempting to send a message to the same contact fails with error 463 (NackCallerReachoutTimelocked) until the contact sends another message.

This appears to be caused by tctoken/cstoken not being persisted to whatsmeow_privacy_tokens after processing incoming messages that include those tokens.

Steps to Reproduce

  1. Start a fresh instance (no prior conversation with target)
  2. Send a message from the WhatsApp app to the instance number
  3. Immediately try to send a message from the instance to the sender's number via API
  4. Receive error 463

Expected Behavior

After receiving a message from a contact, the tctoken extracted from the incoming message should be stored in whatsmeow_privacy_tokens so subsequent outgoing messages to that contact succeed without requiring cstoken.

Root Cause (Hypothesis)

Based on analysis of the whatsmeow library:

Workaround

Use an instance that has previously exchanged messages with the contact (tokens already cached), or wait for the contact to send a new message before attempting outbound.

Environment

  • evolution-go (latest)
  • WhatsApp account migrated to LID identifiers
  • Cold contact (no prior conversation history)

Additional Context

The whatsmeow_privacy_tokens table exists in the goevo-postgres database but remains empty for contacts that only sent inbound messages. The table is populated correctly when a successful outbound message is sent first (e.g., via a different instance that had prior history).

This issue blocks the use case of: user contacts a number → bot responds → fails with 463 on first reply.

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