Smart Approvals (Policy Engine)
Permission Model
interface Permission {
id?: string
expiry: number
/** @deprecated No longer used - the gas token is taken from the granted session permissions. */
feeToken?: {
limit: string
symbol?: string
}
permissions: {
calls: {
signature: string
to: string
}[]
spend: {
limit: bigint
period: 'minute' | 'hour' | 'day' | 'week' | 'month' | 'year'
token?: `0x${string}`
}[]
}
}How It Works
Policy Parameters
Field
Purpose
Notes
Examples
1. Contract-Call Permission
2. Native ETH Permissions
3. ERC-20 USDm Permissions
Network
USDm address
Decimals
4. Call + Spend in One Session
5. Use Silent Execution
Managing App Permissions
Read Current Permissions
Revoke Permissions from the App
Revoke Permissions from Wallet Settings
Security Defaults (Recommended)
Troubleshooting
Missing Session Permission
Permission Expired
Spend Limit Exhausted
Wrong Contract/function Permission
Last updated