Just a note about a problem that I ran into -
listunspent returns all utxos without any way to distinguish if a utxo is a freshly mined block subsidy and cannot be spent because it has not reached required coinbase maturity. Attempting to use such a utxo creates an error. Edge case, Probably not going to affect BTC or BCH, but for new coins this might crop up.