DEV Community

Keshav Sharma
Keshav Sharma

Posted on Originally published at settlematic.com

Wrong-chain payment: treat it as a new incident, not as paid

Wrong chain means the bytes arrived on a network the invoice did not bind. It is not a payment of that invoice. Marking paid because “USDC is USDC” is how you double-spend your own AR.

Immediate

  1. Status: wrong_chain (or equivalent). Not paid.
  2. Do not fire entitlements.
  3. Identify whether the destination is even an address you control on that chain. CREATE2 / PDA / BIP-84 uniqueness does not magically exist on a network you did not derive for.

Then

Recovery is a separate playbook (bridge, refund request, write-off). Never tell the client “all good” from a block explorer screenshot on the wrong L2.

Canonical: crypto invoice paid wrong chain. Recovery essay: same site, recover slug. settlematic.com

Top comments (0)