Transactions

MintChip Transaction Diagram

Sender and Receiver

A complete MintChip transaction always consists of two MintChip devices, a Sender and Receiver. A Receiver's MintChip ID must be known by the Sender, this is the main purpose of the MintChip Request transmission.

MintChip Request (Optional)

The Receiver's value request message is a request to the Sender's MintChip to release a payment in the amount of the value message. The value request message contains the ID of the Receiver's MintChip, the amount to pay and the currency code. It can optionally contain a verbal description associated with the payment (annotation), a URL specifying where the payment (the value message) should be sent and a unique number (challenge). The challenge is a random number generated by the Receiver with enough entropy to ensure it is never generated twice for the same amount to the same Receiver. The Receiver sends the challenge within the MintChip value request message, and the Sender uses the same number for the challenge within its MintChip value message. If the challenge value is not provided in the value request message, the Sender's MintChip will generate one.

A MintChip Request can be transmitted in many different ways. For example: a telephone call, a donation sign, a printed QR code or as a special MintChip Request Message.

MintChip Value

On receiving the value request message, the Sender's MintChip creates the value message that represents a monetary value in transition. The value message contains the requested monetary amount and can only be consumed by the Receiver's MintChip identified by its unique ID. The value message is digitally signed to protect against any tampering. Once the value message is created by the Sender's MintChip, the MintChip's balance is decreased by the corresponding value. This transaction is irrevocable. The Sender cannot stop or cancel the transaction after the value message has been created. On receiving the value message, the Receiver's MintChip verifies the validity of the message using the digital signature and the Sender's public certificate embedded in the message. It also verifies that the value message is not a duplicate using the challenge value. If the value message is valid, the Receiver's MintChip balance gets incremented by the amount specified in the value message.