Supported Criteria
On this page, you can find all the criteria supported by the Armory Policy Engine. These will be used to build policy conditions.
Have a use-case not supported? Additional criteria can be created to model nearly any scenario.
checkAction
signTransaction
signRaw
signMessage
signUserOperation
signTypedData
grantPermission
checkResource
checkPermission
This criterion applies an AND between each argument in the array
wallet:import
wallet:create
wallet:read
checkPrincipalId
checkPrincipalRole
root
admin
member
manager
checkPrincipalGroup
checkAccountId
checkAccountAddress
checkAccountType
eoa
4337
checkAccountGroup
checkAccountAssigned
checkSourceId
checkSourceAddress
checkSourceAccountType
eoa
4337
checkSourceClassification
internal
external
counterparty
managed
checkDestinationId
checkDestinationAddress
checkDestinationAccountType
eoa
4337
checkDestinationClassification
internal
external
counterparty
managed
checkIntentType
transferNative
transferErc20
transferErc721
transferErc1155
approveTokenAllowance
permit
permit2
callContract
cancelTransaction
deployContract
signTypedData
userOperation
checkIntentChainId
checkIntentAmount
Intent amount by currency is not supported yet.
fiat:usd
fiat:eur
gt
greater than
gte
greater than or equal
lt
lower than
lte
lower than or equal
eq
equal
ne
not equal
checkIntentContract
checkIntentSpender
checkIntentToken
checkIntentHexSignature
checkIntentMessage
eq
contains
checkIntentPayload
checkIntentAlgorithm
ES256K
secp256k1 - an Ethereum EOA
ES256
secp256r1 - ecdsa but not ethereum
RS256
checkIntentDomain
checkErc1155TokenId
checkErc1155Transfers
gt
greater than
gte
greater than or equal
lt
lower than
lte
lower than or equal
eq
equal
ne
not equal
checkPermitDeadline
gt
greater than
gte
greater than or equal
lt
lower than
lte
lower than or equal
eq
equal
ne
not equal
checkGasFeeAmount
Gas fee by currency is not supported yet.
fiat:usd
fiat:eur
gt
greater than
gte
greater than or equal
lt
lower than
lte
lower than or equal
eq
equal
ne
not equal
checkNonceExists
checkNonceNotExists
checkApprovals
Narval::User
Narval::UserRole
Narval::UserGroup
checkSpendingLimit
Only Native Transfers and ERC20 Transfers are supported. So this criterion can only be combined with checkIntentType({"transferNative"}) OR checkIntentType({"transferErc20"})
Spending limit by currency is not supported yet.
gt
greater than
gte
greater than or equal
lt
lower than
lte
lower than or equal
eq
equal
ne
not equal
fiat:usd
fiat:eur
Each timeWindow property is optional.
fixed
time windows take a period
, and rolling
time windows take a value
type
rolling, fixed
period
1d, 1m, 1y
this can be combined only with fixed type window
value
number
time window length in seconds
startDate
number
timestamp in ms
endDate
number
timestamp in ms
Each filters property is optional
perPrincipal
boolean
filter spendings by principal id
tokens
filter spendings by asset ids
users
filter spendings by user ids
resources
filter spendings by resource ids
destinations
CAIP-10
filter spendings by destination ids
chains
filter spendings by chain ids
userGroups
filter spendings by user group ids
accountGroups
filter spendings by account group ids
checkRateLimit
Only Native Transfers and Erc20 Transfers are supported. So this criterion can only be combined with checkIntentType({"transferNative"}) OR
checkIntentType({"transferERC20"})
User Operation
checkEntryPointId
checkEntryPointAddress
checkEntryPointAccountType
eoa
4337
checkEntryPointClassification
internal
external
counterparty
managed
checkUserOperationIntents
type
contract
token
spender
chainId
hexSignature
algorithm
source
destination
transfers
amount
message
payload
domain
deadline
Last updated