---
# System prepended metadata

title: Auto-convert staking rewards

---

# Auto-convert staking rewards

- dYdX user stakes $DYDX tokens and earns yield in $USDC not $DYDX
- for a variety of compliance reasons custody providers such as Coinbase Custody and Anchorage do not want to offer their users access to anything but $DYDX
- it's possible to use a combination of Authz + Covenant + Rebalancer to provide a solution
- Valence first creates an ICA from Neutron to dYdX chain that allows covenants to perform cross-chain calls
- user initializes an ongoing conversion by first creating an ICA to Neutron and initializing a Valence account there with a 100% $dYdX portfolio (there may need to be a second tx to fund the Valence account gas fees)
- user initializes two Authz messages on dYdX chain
  1. allow withdrawing ALL staking rewards (this allows moving rewards from the distribution module into the user's account)
  2. allow transfering $USDC tokens to a 3rd party account
- the 3rd party account is the ICA from the covenants on Neutron to dYdX chain
- we then use the covenant's cross-chain functionality to transfer the USDC from dYdX chain to Noble, using an ICS20 memo to interact with the PFM module on Noble and subsequently send the $USDC to a Valence account on Neutron
- once in the Valence account the rebalancer is used to progressively auction USDC to $dYdX
- covenant machinery is then used to periodically transfer $dYdX tokens from the Valence account on Neutron to the staker's account on dYdX chain