SIP-18: Recover orphaned $2.9k sUSD from SNX fee address


Simple Summary

This SIP proposes to recover the $2.9k sUSD that is currently unclaimable by minters in the SNX fee address


There is currently ~$2.9K sUSD orphaned from the transfer fee era where each transfer of synths has to pay a transfer fee. After the upgrade to store fees in XDRs, the collected fees in sUSD were orphaned and minters are not being able to claim those fees.


The $2.9k sUSD ultimately belongs to minters who have staked and contributed to the SNX system and we should not deny their rightful claim to it, even if most of the current minters may not be aware or know about this issue. This $2.9k sUSD fee rewards is now only a small portion of the total fee rewards but it was the entire rewards for minters back in the day so we should work to resolve and recover this orphaned $2.9k sUSD


2 possible options:

  1. Exchange the $2.9K from sUSD into XDR and send it back to the 0xfeefeefee address and record it in FeePool.recentFeePeriods.feesToDistribute - allowing minters to claim as part of their weekly rewards
  2. Fee pool owner to burn the $2.9k sUSD from 0xfeefeefee address, removing it from global debt


The orphaned $2.9k sUSD may be a small amount but it still contributes to the global debt and being orhpaned also means that they are not able to go into synths supply circulation for usage.

Test Cases

Replicate sending $3K sUSD on KOVAN to the 0xfeefee address and test the recoverFees() function


Implement a FeePool.recoverTransferFees() public function.

  • It will burn the balance of sUSD at the 0xfeefee address
  • then issue the effective value of XDRs at the 0xfeefee address. Essentially the reverse of the _payFees() function.
  • Call the feePaid(XDR, sUSDBalance) function to record the fees to distribute.

UPDATE: Here is the MAINNET transaction recovering lost sUSD fees to XDRs for claiming.

The function FeePool.recoverTransferFees() can now be depricated from the codebase.

Copyright and related rights waived via CC0.