SIP-176: Enable Continuous Account Merging

Author
StatusRejected
TypeGovernance
NetworkEthereum
ImplementorTBD
ReleaseTBD
Created2021-08-23

Simple Summary

Make Account Merging always possible in order to enable transferring escrowed SNX balances to a different account.

Abstract

SNX inflation rewards for stakers are currently locked for 52 weeks. This escrowed SNX is locked to an account and cannot be transferred, but can be used as collateral to mint more sUSD.

This forces stakers to use the same account, and has caused friction for users with small accounts that couldn’t afford claiming, limited compostability, and made UX worse.

This SIP intends to make account merging for any escrowed SNX balance (including partial amounts) possible at any time.

Motivation

Not being able to merge accounts has caused several problems to stakers, such as:

  • Small stakers foregoing rewards due to inability to consolidate large wallets
  • Less accounts staking as SNX is escrowed in wallets that are not maintained
  • Limiting composability impedes using flashloans for debt repayment
  • Staking pools cannot operate efficiently
  • Overall worsening of UX

Continuous Account Merging was initially proposed and rejected in SIP-13 Account Merging, on concerns of having a secondary market of escrowed SNX that could have a negative impact on the protocol. Since then, the protocol manages necessary account merging on timed windows that are enabled via SCCP.

Account merging windows have become bigger, and previous concerns regarding negative impacts of a secondary market of escrowed SNX have not materialized. Additionally, any OTC or secondary market buyer of escrowed SNX will still be purchasing the locked asset, which signals alignment with the protocol.

It is important to note that Continuous Account Merging can be reversed at any time via another SIP.

Specification

A user will be able to sign a transaction assigning an amount of SNX tokens in the Reward Escrow Contract from the signing wallet to a new wallet. The reassignment process will check to ensure that there is no debt against the SNX tokens being reassigned.

Rationale

Initially, a more full featured transfer mechanism that merged the total balances of two wallets was considered, however, the effort to build this is significantly larger than the function specified in this SIP, so this method will allow to implement the change much faster and will place the burden of transferring unlocked SNX onto the user.

Implementation

No changes in architecture are required, as the merge window on the current escrow contract can be extended to a very long amount of time (like uint256(-1)) making it permanent.

The escrow migration service will be able to flash loan sUSD, burn all debt, migrate SNX and optionally sell down some SNX if the ratio is below 400%. By modifying the account merge window to be always on, this functionality can be integrated into staking.synthetix.io.

Copyright and related rights waived via CC0.

Disclosure: nothing in this porposal is financial advice or a recommendation to engage in any sort of financial transactions.