1. Context of the proposal:

Probably one of the most-requested features is the ability to make Treasury proposals in stablecoins like USDT and USDC. This is for many reasons, including less volatility around Treasury proposals and preserving the value of the Polkadot Treasury to ensure funds are available to support a given budget in the future.

With the latest upgrades to Substrate and the Polkadot runtime, the Treasury has a lot more tools available to it for its management, including proposals with non-DOT assets like stablecoins.

As was done for the Fellowship's salaries, this proposal is to convert 1,700,000 DOT to each USDT and USDC over the course of the next year. This uses Hydra's DCA feature to convert a little bit each day and ensure a steady flow of stablecoins into the Treasury.

This amount accounts for about 25% of the new DOT expected to be minted into the Treasury over the next year (this could vary based on variables like the staking rate).

This is also meant to be a first step toward a more diversified Treasury, which would also include other assets like BTC, and ETH in the future.

  1. Proposal objective(s) or solution(s):

The central proposition entails the creation of a schedule that converts DOT into USDT and USDC via the DCA feature on HydraDX, a parachain on Polkadot.

The attributes of this proposal are:

  • Cost-efficiency (approx. 0.4% of the total amount)
  • No necessity to appoint curators who oversee and manage the process
  • Conversion is done in small amounts over a longer period which provides a hedge for price volatility and manipulation

DCA schedule parameters: [USDT]

Total duration with current EMA7 price: 336 days

Total amount: 1,700,000 DOT

Trade frequency: One trade every 20 blocks (approx. 4 minutes)

Per trade: Acquire 100 USDT

Per day: Acquire 36,000 USDT

Send to asset hub after accumulating: 5,000 USDT

Total fee estimation: 0.4% of total amount acquired

DCA schedule parameters: [USDC]

Total duration with current EMA7 price: 336 days

Total amount: 1,700,000 DOT

Trade frequency: One trade every 20 blocks (approx. 4 minutes)

Per trade: Acquire 100 USDC

Per day: Acquire 36,000 USDC

Send to asset hub after accumulating: 5,000 USDC

Total fee estimation: 0.4% of total amount acquired

Fee estimation breakdown:

Trade fee: 0.3%

(0.25% to Liquidity Providers, 0.05% to the protocol)

Slippage fee: 0.045%

(→AMM)

Transaction fee on HydraDX: 0.035%

(→Protocol treasury)

Transaction fee on Polkadot Asset Hub: 0.02%

(→Asset Hub collators)

Note: Fees depend heavily on the schedule settings and are estimated based on parameters used. It is worth mentioning that the HydraDX protocol also uses dynamic fees based on block space utilization ranging 0.3-5% to protect liquidity providers in times of volatility. All time average trade fees as of proposal submission are around 0.3%.

Description of steps utilizing XCM to achieve the solution:

  1. Send 3.4M DOT from the Polkadot treasury to the Pure Proxy account [7LcF8b5GSvajXkSChhoMFcGDxF9Yn9unRDceZj1Q6NYox8HY] controlled exclusively by the relay chain sovereign account on HydraDX [7KQx4f7yU3hqZHfvDVnSfe6mpgAT8Pxyr67LXHV6nsbZo3Tm], which also receives 5k DOT as a pre-payment for transaction fees

  1. After 1 block to process balance state changes on HydraDX, schedule sending an XCM program to Transact on HydraDX. This will initiate two DCA schedules, each with a total amount of 1,700,000 DOT, swapping DOT to 100 USDT and 100 USDC every 20 blocks.

  1. Once the first USDT chunk is accumulated, initiate a periodic schedule that sends cross-chain chunks of 5,000 USDT and 5,000 USDC from the Pure Proxy on HydraDX to the General Treasury account on the Polkadot Asset Hub [14xmwinmCEz6oRrFdczHKqHgWNMiCysE2KrA4jXXAAM1Eogk], totaling to max. 18700 transactions.
  1. Appendix A -⁠ Flow diagram


  2. Appendix B –⁠ DCA execution - View as wallet - Relay chain sovereign account proxy



Will be available at: https://app.hydration.net/trade/swap?account=7KCp4eenFS4CowF9SpQE5BBCj5MtoBA3K811tNyRmhLfH1aV