Example Rule: Transfer Policy
5 min
seeing a rule in action is the fastest way to understand how the policy engine works this example walks you through a complete transfer rule, from setup to approval logic, so you can build your own with confidence rule configuration a transfer rule governs onchain asset movements from your vaults to a destination in this example, the rule allows aave transfers from all core vaults to test vault group 1, with approvals that scale based on transaction size field example value notes rule name internal transfer policy choose a name that reflects the scope of the rule vaults all core vaults using a vault group means any new vault added to the group is automatically covered action transfer this rule applies to onchain asset transfers only creators shriya only the listed creators can initiate transactions under this rule signers vivek kumar, jay mccarthy, test ec2 user the pool of users eligible to approve who must sign is defined in frequency actions counterparty test vault group 1 transfers are only permitted to destinations within this group asset aave leave blank to apply the rule to all assets chain base testnet leave blank to apply the rule across all chains spend denomination native limits are in aave units set to fiat to use usd equivalent instead tip counterparties can be internal vault groups or external addresses if you are sending to external destinations, consider applying stricter approval requirements to reflect the higher risk frequency actions (per transaction) each transaction is checked against the tiers below if your transaction amount is less than or equal to a tier's max amount, that tier's rules apply tier action type min amount approval count mandatory approver 1 additional approval 1,000 aave 1 vivek kumar 2 block 10,000 aave outcome amount what happens 0 1,000 aave creator signature only transaction proceeds immediately 1,001 10,000 aave creator + vivek kumar must approve before the transaction proceeds over 10,000 aave automatically blocked no approvals can override this this is how a single rule can handle the full range of transaction sizes, from instant approvals to hard blocks