There is some kind of prepaid functionality that can be implemented to be used in UCS. To show how it could be done here is a small example:
User wants to go to the supermarket. He creates a transaction containing 100 UCC. From now on there are two scenarios:
Scenario 1:
As receiver of this transaction the user chooses the address of the supermarket. He stores this transaction on usb stick. Then he goes to the market and buys some things. At the checkout he plugs in his usb stick and selects the payment file. The the user enters his account name and PIN and the supermarket hashes these values and checks for a matching transaction. The supermarket imports the transaction file and then either creates a transaction containing the change with the account as receive or stores the remaining amount of the change in their database for future shopping. In this scenario the amount of the transaction is linked to a single receiver address. So the user can only spend it in this supermarket. The supermarket either immediately transfers the change back at checkout or stores it for future use. If it transfers the change back in a transaction the user cannot spend any more of the money. If not a user can spend the rest of his coins, but if course must authenticate at every checkout via accountname and PIN.
Scenario 2:
It’s actually like in scenario 1 except that there is some kind of payment service provider as receiver of the first transaction instead of the supermarket. At checkout the payment will be carried out by the payment service provider. The payment service provider is responsible for rerouting the amount to the supermarket. In this scenario the user can buy in any store that is linked to the payment service provider. The payment service provider is then actually like P##P## where you have a balance.