Skip to main content

Create an EVM contract call rule

Used when invoking a contract

Follow these steps to create an EVM contract call rule.

  1. Go to Vault Settings > Transaction Policy. Click Manage policy, then Add rule.

  2. For Rule type, select EVM contract call.

  3. Select the rule conditions.

    1. Initiator = User

    2. From = Any, Wallet, or Wallet groups

    3. To - the contract or wallet the call is sent to. Choose one of:

      • Any: any destination.

      • Address book entry or ABE group: a contract saved in your address book.

      • Address: enter a contract address directly, without adding it to the address book. The rule applies to that address on every blockchain selected in the rule, so one rule can cover a contract deployed at the same address on several EVM chains.

      • Wallet or Wallet group: a Utila wallet receiving the call, used for EIP-7702 invocations on delegated wallets.

      • Source wallet: the wallet initiating the call. Use this for custody-to-self calls, such as a delegated wallet running a batch through multicall.

    4. Blockchain - specify the blockchain the contract is deployed on.

  4. If the rule action requires approval, select the user group and how many users need to approve the rule.

  5. Click Create rule and then Save changes. The rule goes to approval. When approved, matching contract calls are handled according to the rule's action.

Following is an example of a rule that requires approval for any initiator using the DeFi Wallet to LiFi Contract on the Ethereum blockchain.

Check out the article Manage function signatures and parameters for contract call rules if you want to configure an advanced rule for function and parameter level conditions.

Did this answer your question?