Best method of storing player balances

I’m trying to store player balances with support for multiple currencies but I seem to get errors where either the BigDecimal or Currency is null.

What’s the best way of writing the list of currencies and corresponding balances to a file in a recoverable way?

I would say that the best two ways would be using Configurate or an ObjectOutputStream.

Well, clearly, but how would you specify each currency when using Configurate? Display name is insufficient because some currencies might have the same display name, and the API doesn’t support unique currency identifiers.