> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dynamic.xyz/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# WaasPolicyRule

Schema for WAAS policy rules that define permissions and restrictions.

<ParamField body="ruleId" type="string">
  Unique identifier for the rule. See [uuid](/api-reference/schemas/uuid) schema.
</ParamField>

<ParamField body="name" type="string" required>
  Human-readable name for the rule
</ParamField>

<ParamField body="ruleType" type="string" required>
  Whether the rule permits or denies the specified action. See [WaasPolicyRuleType](/api-reference/schemas/WaasPolicyRuleType) enum.

  Possible values: `allow`, `deny`
</ParamField>

<ParamField body="addresses" type="array">
  Target address(es) for EVM or SVM chains
</ParamField>

<ParamField body="chain" type="string" required>
  The blockchain network this rule applies to. See [WaasChainEnum](/api-reference/schemas/WaasChainEnum) schema.
</ParamField>

<ParamField body="chainIds" type="array">
  Array of chain IDs for the policy rule
</ParamField>

<ParamField body="contractAbi" type="array">
  Contract ABI interface for smart contract interactions
</ParamField>

<ParamField body="functionName" type="string">
  Specific function name to permit/deny in smart contract calls
</ParamField>

<ParamField body="argumentConstraints" type="array">
  Validation rules for function arguments. Array of [WaasPolicyArgumentConstraint](/api-reference/schemas/WaasPolicyArgumentConstraint) objects.
</ParamField>

<ParamField body="valueLimit" type="object">
  Value limits for the policy rule

  <Expandable title="properties">
    <ParamField body="asset" type="string">
      Target asset address. If undefined, refers to native token (e.g., ETH)
    </ParamField>

    <ParamField body="maxPerCall" type="string">
      Maximum value per function call (as string to handle bigint). Must match pattern: `^[0-9]+$`
    </ParamField>

    <ParamField body="totalLimit" type="string">
      Cumulative value limit (as string to handle bigint). Must match pattern: `^[0-9]+$`
    </ParamField>
  </Expandable>
</ParamField>
