Declarative rules are in early access and are not enabled by default. Talk to us if you’d like to participate.
- Replace the
ruleIdwith your own UUID. The ones here are placeholders. - Amounts are strings in the token’s smallest unit. USDC has 6 decimals, so 100 USDC is
"100000000". ETH has 18 decimals, so 5 ETH is"5000000000000000000". - Token addresses are per network. The examples use Ethereum mainnet: USDC is
0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48and USDT is0xdAC17F958D2ee523a2206206994597C13D831ec7.
Limit per transaction
Deny any transaction on an EVM chain that moves more than 5 ETH. The comparison isgt, so exactly 5 ETH still goes through.
Spend limit over time
Deny a transaction on an EVM chain once the wallet has moved more than 5,000 USDC in the last day. The window’s total already includes the transaction being checked. Durations are written like1.day, 2.hours, 90.seconds, or 1.month, and a month is 30 days.
Control where money can go
Block one address. This readscounterparties, which is every address the transaction touches, so it also catches the address when it is the contract being called or a spender being approved.
nin means “is not one of”, so this denies a transaction that touches any address outside the list. It reads effectiveCounterparties, which leaves out gas infrastructure you did not choose, such as a bundler or paymaster.
Control which tokens move
Deny a transaction on an EVM chain that moves anything other than USDC, USDT, or ETH. Theasset.isNative comparison keeps the network’s own coin permitted.
Restrict by chain or network
Require one admin’s approval for every transaction on Ethereum mainnet. Approval fields are described in Rule anatomy.{ "always": true } matches everything, so, like the fallback, this rule must be last in the list, and it cannot share a layer with a DENY fallback. To allow or deny every transaction instead, use the fallback.
Wallet actions
Require one admin’s approval before the private key is exported.Require approval for large transfers
Hold any transaction that moves more than 10,000 USDC on an EVM chain until two people with theadmin or cfo role approve it within 24 hours.
A whole layer in deny style
Block one address and cap transactions at 5 ETH. There is no fallback, so everything else goes through.A whole layer in allow style
Allow transactions on an EVM chain that move at most 100 USDC, and refuse everything else with theDENY fallback.
not exists pattern in Matching every item.
Next steps
Advanced conditions
Operators, lists, matching every item, and combined flows.
Rule anatomy
Rule fields, the fallback rule, and approval requirements.
Declarative rules
How rules, the fallback, and the allow and deny styles work.