#solana To understand `custom program error 0x1` and the like, `0x1` hex to decimal is `1`, so it’s the 2nd error (0 based index) in [SPL](https://github.com/solana-labs/solana-program-library/blob/master/token/program/src/error.rs#L14-L80)  Therefore `0x1 = InsufficentFunds`, `0x5 = FixedSupply`, `0xa = NativeNotSupported` and so on … These can be simplified as: ``` 0x0 = "Lamport balance below rent-exempt threshold" 0x1 = "Insufficient funds" 0x2 = "Invalid Mint" 0x3 = "Account not associated with this Mint" 0x4 = "Owner does not match" 0x5 = "Fixed supply" 0x6 = "Already in use" 0x7 = "Invalid number of provided signers" 0x8 = "Invalid number of required signers" 0x9 = "State is uninitialized" 0xa = "Instruction does not support native tokens" 0xb = "Non-native account can only be closed if its balance is zero" 0xc = "Invalid instruction" 0xd = "State is invalid for requested operation" 0xe = "Operation overflowed" 0xf = "Account does not support specified authority type" 0x10 = "This token mint cannot freeze accounts" 0x11= "Account is frozen" 0x12 = "The provided decimals value different from the Mint decimals" 0x13 = "Instruction does not support non-native tokens" ```