Stablecoin Staking
This pattern delegates permission to deposit and withdraw stablecoins into approved yield strategies, while constraining assets, protocols, and allocation limits.
Goal
Enable trusted operators to earn yield on approved stablecoins without exposing the treasury to unvetted contracts or unrestricted flows.
Useful for
- Stablecoin-heavy treasuries: Put idle reserves to work with guardrails.
- Finance/ops execution: Delegate routine deposits and withdrawals to a small operator set.
- Program budgets (grants, BD, runway): Park funds in approved strategies until spend.
Configuration
Allowed protocol actions
Explicitly select the staking or lending contracts that are permitted.
Asset scoping
Define which stablecoins can be deposited or withdrawn. Keep the list narrow to reduce risk.
Allowances
Set limits on how much of each stablecoin can be deposited or withdrawn within an interval:
| Interval | Refill period |
|---|---|
| Daily | 24 hours |
| Weekly | 7 days |
| Monthly | 30 days |
| Quarterly | 91 days |
| Yearly | 365 days |
Allowances are optional. Omitting them permits unlimited execution for that asset.
Example setup
A DAO wants to earn yield on USDC and DAI while limiting exposure to a single approved protocol and controlling capital allocation.
Policy configuration:
- Assets: USDC, DAI
- Protocols: Approved protocols for staking
- Allowances: USDC (50,000 monthly), DAI (25,000 monthly)
Result:
Operators can allocate stablecoins up to defined caps. Withdrawals remain available for treasury liquidity.
Setup steps
- Navigate to Policies and click Create Policy.
- Name the policy (e.g., “Stablecoin Staking”) and assign it to the relevant vaults.
- Add members who should have staking permissions.
- In Actions, click Add Action.
- Select Stake (or the relevant strategy action) as the action type.
- Choose the allowed stablecoins and approved protocol contracts.
- Configure allowances per asset, if needed.
- Click Apply Changes to deploy the policy onchain.
Once applied, assigned members can deposit or withdraw through Pilot or any compatible interface. Each transaction is validated against the policy by the Roles Modifier before execution.