Fee auction

When a subscription is due for payment it enters auction mode. The duration of auction mode, e.g. 30 minutes, is specified by auctionDuration in the Subscription struct and is set upon creation. During auction mode, anyone can call processPayment on the subscription and be rewarded with the processing fee. Over the duration of the auction period, the amount that the processor is rewarded increases linearly from 0 to maxProcessingFee. Thus if the processing fee is sufficient to make it profitable to call processPayment for any processor, then the subscription should be processed assuming that no actors leave money on the table. In the event that the payment for a subscription is not processed within the auction time, the subscription will expire.

The fee auction ensures a fair and open process to who gets to process each payment. It comes with strong guarantees against censorship as it only requires one honest processor that is willing to take the processing fee.

Last updated