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.