# Recipes vs. Vaults IAMs

## Key Differences

<table><thead><tr><th width="168"></th><th>Vault IAM (ERC4626 Deposit)</th><th>Recipe IAM (Weiroll Script)</th></tr></thead><tbody><tr><td>Compatibility</td><td>ERC4626 Vaults</td><td>All Onchain Actions</td></tr><tr><td>Incentive Schedules</td><td><ul><li>Streaming Incentives ("Distribute 100 $XYZ per day")</li></ul></td><td><ul><li>Upfront ("Distribute 100 $XYZ upon completion")</li><li>Backend ("Distribute 100 $XYZ after X days")</li><li>Forfeitable ("Distribute 100 $XYZ after X days, but allow early withdrawal")</li></ul></td></tr><tr><td>Collateralizable</td><td>Supported</td><td>N/A</td></tr><tr><td>Locking Assets</td><td>N/A</td><td>Supported</td></tr><tr><td>Transaction Builder</td><td>N/A</td><td>Supported</td></tr></tbody></table>

## When should I deploy a Vault IAM?

* For streaming rewards: If you want to “stream” incentives, prorated among depositors.
* For ERC-4626 actions: If you currently use ERC-4626 Vaults or can easily configure your system.

## When should I deploy a Recipe IAM?&#x20;

* For lump sum rewards: If you want to pay a lump sum, paid per depositor.
* For actions that are not ERC-4626 actions: If the action I wish to incentivize cannot be represented as an ERC-4626 Vault.
* For actions with timelocks: If you wish for depositors to timelock their position/assets.

For IP conditional offers: If you wish to counter-offer for incentives as an IP.
