TxWhy

Error codes / System Program

Invalid program id

System Program · Custom(2) · 0x2

custom program error: 0x2

What it means

The account was assigned to, or expected to be owned by, a different program.

What to do

Check the owner program passed when creating or assigning the account.

Have the transaction that failed with this?

Paste its signature. TxWhy shows the exact instruction and inner call that raised the error, and rebuilds the transaction when the cause is one it can fix (compute limit, expired blockhash, priority fee, stale swap quote).

Code 2 means something else in other programs

Custom codes are private to each program. Check which program actually raised it: it is the innermost failed call, not necessarily the program you called.