Skip to main content

Delegation scopes

When creating a delegation, you must configure a scope to define the delegation's initial authority and help prevent delegation misuse.

Scopes are not part of the Delegation Framework itself, but an abstraction introduced in the Smart Accounts Kit that builds on top of caveat enforcers to provide pre-configured restriction patterns for common use cases.

Scopes vs. caveats

Scopes and caveats work together to define and restrict a delegation's authority:

  • Scopes define the initial authority of a delegation. They determine the broad category of actions the delegate is permitted to perform, such as transferring tokens or calling specific contract functions.
  • Caveats further constrain the authority granted by the scope. They add additional restrictions on top of the scope, such as time limits or execution frequency.

For example, a spending limit scope might allow a delegate to transfer up to 100 USDC, while an additional caveat could restrict the transfers to only occur within a specific time window.

See how to constrain a delegation's scope by adding caveats.

Categories

The Smart Accounts Kit supports three categories of scopes:

Scope typeDescription
Spending limit scopesRestricts the spending of native, ERC-20, and ERC-721 tokens based on defined conditions.
Function call scopeRestricts the delegation to specific contract methods, contract addresses, or calldata.
Ownership transfer scopeRestricts the delegation to only allow ownership transfers, specifically the transferOwnership function for a specified contract.