On-Chain Contracts
1. Overview
Deploy’s smart contracts form the on-chain backbone of the protocol. They governs how dAssets ( dUSD, dBTC etc) are issued, redeemed, staked, and yield-distributed, while maintaining verifiable 1:1 collateral backing.
All contracts are currently undergoing an audit, and designed with strict role segregation to reduce operational risk.
The system consists of three primary modules:
Asset Layer
dUSD.sol, dBTC.sol
ERC-20 representations of synthetic assets (1:1 backed).
Minting Layer
DeployMinting.sol
Handles EIP-712 signed mint/redeem orders, custodian routing, and access control.
Staking Layer
StakedDUSD.sol, StakedDBTC.sol
ERC-4626 vaults for staking and yield accrual.
2. Asset Layer
dUSD.sol / dBTC.sol
Standard ERC-20 implementations of Deploy’s synthetic assets.
Each token contract maintains a single privileged address, the
minter, which is set to the minting contract.Owner (multi-sig) can rotate or revoke the minter if required.
No other permissions exist. Minting and burning are fully restricted.
Core Functions
mint(address to, uint256 amount)callable only byDeployMinting.sol.burn(address from, uint256 amount)callable only byDeployMinting.solor the designated redeemer.
3. Minting Layer
DeployMinting.sol
The core operational contract managing issuance and redemption of dAssets. It enforces all permissions, routes collateral, validates user signatures, and ensures every mint/redeem event adheres to the protocol’s collateral and custody requirements.
Key Responsibilities
Validate EIP-712 signed orders for both mint and redeem.
Route collateral exclusively to whitelisted MPC custodian addresses.
Apply per-block mint and redeem ceilings to mitigate risk.
Maintain a list of approved beneficiary wallets that are allowed to mint/redeem
Roles & Access Control
DEFAULT_ADMIN_ROLE
Cold multi-sig. Can assign or revoke all roles, manage custodians, supported tokens, and limits.
MINTER
Authorized operational wallet(s) allowed to execute verified mint orders.
REDEEMER
Authorized wallet(s) for redemption once custodian prefunds are confirmed.
GATEKEEPER
Independent safety key; can disable minting/redeeming and revoke roles instantly.
4. Staking Layer
StakedDUSD.sol / StakedDBTC.sol
Deploy’s staking contracts enable users to earn yield on their dAssets. Each vault follows the ERC-4626 Tokenized Vault standard, ensuring transparency and compatibility across DeFi.
Core Functions
deposit(uint256 assets, address receiver)stake dAssets and receive sdAssets (vault shares).withdraw(uint256 assets, address receiver, address owner)initiate unstake; triggers cooldown.previewDeposit()/previewWithdraw()read-only functions for front-end integrations.
Key Properties
In-kind yield: Vault balances increase as yield (in dUSD/dBTC) is periodically deposited.
Cooldown Period: Delay between unstake and claim.
1:1 Redeemability: Staked and unstaked dAssets remain part of the same fully-collateralized pool.
Single-Asset Vaults: One vault per dAsset type (sdUSD, sdBTC).
Safety Measures
Vaults only receive positive inflows, share price can never decrease.
Cooldown prevents rapid entry/exit gaming around yield updates.
5. Governance & Ownership
dUSD / dBTC
Cold multi-sig
Update minter, revoke or reassign in emergencies.
DeployMinting.sol
Admin multi-sig
Assign/revoke roles, manage custodians, adjust per-block caps.
StakedVaults
Governance multi-sig
Configure cooldown duration, fee split, and yield parameters.
Last updated