MintDecimalsMismatch
SPL Token · Custom(18) · 0x12
custom program error: 0x12
What it means
The decimals argument does not match the mint's decimals.
What to do
Pass the mint's actual decimals (transferChecked and friends verify this).
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 18 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.