How can I add a custom currency to commerce?
Have a look at the Commerce Userpoints module. Some details from its project page:

It allows users to create commerce_line items with negative points value, behaving like a discount system in the order process.
The user can choose how many points he wants to use, they will be automatically taken from his userpoints account.