Is there any way to find out what the fee of a certain transaction will be before sending it, via RPC calls?
As a side note, is it possible to see the transaction fee on a transfer via RPC from the returned TX hash/key?
Edit: If this is currently not available, is it something that could be considered for inclusion? It seems like this would be a very useful function for wallets that use RPC so the user is not blindsided by TX fees.
Knowing the transaction fee in advance is not possible , due to two reasons:
the output selection is randomized, so sending, eg, 100 monero several times will potentially need different fees, for example if one tx needs just one 150 monero input (small tx, small fee), but a second attempt happens to pick many 1 or 2 monero inputs (larger tx, larger fee).
there is no RPC command to create a transaction without relaying it to the daemon.
It would be fairly simple to add a boolean to the transfer RPC to tell the wallet to return the signed transaction to the caller, instead of relaying it. The caller could then decide whether the fee is acceptable, and relay it to the daemon if so. This is a good candidate to add as a github issue on https://github.com/monero-project/bitmonero/issues. All the building blocks are pretty much there already.
 you can get a lower/high bound based on the wallet owned outputs, but that probably doesn't help here.
Interesing question. I have no idea if this is possible, but I suppose that if it isn't, that would be because a subsequent call to actually perform the transfer, might not necessarily use the same inputs, and thus likely result in a different fee. Hoping someone more knowledgeable can chime in.