Minting & Redemption

Overview

Deploy's minting and redemption process governs the full lifecycle of its synthetic yield-bearing tokens (β€œdAssets”), such as dUSD.

Both operations are conducted through an permissioned flow that ensures:

  • Every dAsset is 1:1 backed by verifiable collateral.

  • All actions are KYC/KYB-gated and EIP-712 signed.

  • Custody remains under institutional MPC control at all times.

Minting is automated and instant, while redemptions follow a two-phase settlement; custodians must first prefund the contract before redemptions are executed on-chain.

High Level Flow:

Detailed Flow:

Step 1 β€” Quote

  • Backend returns a binding quote with fees, route (custodian), and caps.

Step 2 β€” User Signature (EIP-712 Order)

  • User signs an order with: benefactor, beneficiary, token, amount, expectedOut, expiry, nonce, route.

    • (Mint): collateral token & amountIn β†’ dAsset amountOut.

    • (Redeem): dAsset amountIn β†’ collateral amountOut.

Step 3 β€” Backend Validation

  • Verify signature, KYC/KYB status, nonce/expiry, whitelists, and per-block caps.

  • Select authorized operational wallet: MINTER or REDEEMER.

Step 4 β€” Preconditions on Balances

  • (Mint): User grants ERC-20 allowance; contract will transferFrom() collateral.

  • (Redeem): Custodian prefunds the redemption contract balance first (required).

Step 5 β€” On-Chain Execution (DeployMinting.sol)

  • Validate signature & route (must be whitelisted custodian).

  • Enforce per-block ceilings / circuit breakers.

  • Execute asset movement:

    • (Mint): Pull collateral from user β†’ route to MPC custodian β†’ mint dAssets to beneficiary.

    • (Redeem): burn dAssets from redeemer β†’ transfer prefunded collateral to beneficiary.

  • Emit MintExecuted / RedeemExecuted event.

Step 6 β€” Post-Trade Accounting

  • Custodian:

    • (Mint): Allocates collateral to on-chain DN strategies.

Settlement Timing

  • Mint: immediate (on-chain finality in the same transaction/block).

  • Redeem: ~1 week standard operational window (prefunding + execution schedule).


Last updated

Was this helpful?