Swapper Policy
A swapper policy delegates permission to execute token swaps on behalf of a vault (Safe). By scoping which assets can be bought or sold, and optionally setting allowances with time-based limits, teams can enable operators to rebalance portfolios or manage liquidity without requiring signer approval for every trade.
Swapper policies are enforced onchain through the Zodiac Roles Modifier and execute via CoW Protocol, ensuring best-price execution with MEV protection.
Goal
Delegate limited token swapping to trusted operators while preserving strict asset scope and spend limits.
Useful for
- Treasury rebalancing: Keep portfolios within target ranges across approved assets.
- Recurring trade automation: Run DCA / periodic swaps with capped spend.
- Liquidity/runway management: Move between correlated assets without per-trade approvals.
- Bounded de-risking: Exit predefined positions quickly within known constraints.
Configuration
Asset scoping
Define which assets the policy permits:
- Sell tokens: Assets that may be swapped out of the vault. Select specific tokens from your vault holdings.
- Buy tokens: Assets that may be acquired. Restrict to approved assets only.
Allowances
Allowances enforce spending limits that automatically replenish on a schedule:
| Interval | Refill period |
|---|---|
| Daily | 24 hours |
| Weekly | 7 days |
| Monthly | 30 days |
| Quarterly | 91 days |
| Yearly | 365 days |
Set an allowance on any sell-side asset to cap how much can be swapped within each interval. Once the limit is reached, further swaps of that asset are blocked until the next refill.
Allowances are optional. Omitting allowances allows unlimited swaps for that asset.
Example setup
A protocol treasury wants to delegate stablecoin rebalancing to an operations team while maintaining oversight on volatile assets.
Policy configuration:
- Sell: USDC (5,000 monthly), DAI (5,000 monthly), USDT (5,000 monthly)
- Buy: USDC, DAI, USDT
Result:
Operators can freely rebalance between stablecoins up to the defined monthly limits. No approval required for individual swaps. Limits reset automatically on a rolling 30-day basis.
Setup steps
- Navigate to Policies and click Create Policy.
- Name the policy (e.g., “Stablecoin Swapper”) and assign it to the relevant vaults.
- Add members who should have swap permissions.
- In Actions, click Add Action.
- Select Swap as the action type.
- Add tokens to the sell and buy lists. For each sell token, optionally configure an allowance amount and interval.
- Click Apply Changes to deploy the policy onchain.
Once applied, assigned members can execute swaps by navigating to the Swap page. Each transaction is validated against the policy by the Roles Modifier before execution.