PolicyPREVIEW
CHAINSAGE · PHASE 4

Policy builder

EDITS APPLY LIVE

Spend limits

Per-token caps, in whole token units. A capped amount that's exceeded → DENY.

Allowed chains

When any chain is selected, intents on other chains → DENY. None selected = no chain restriction.

Allowed protocols / payees

Allowlist of spenders, routers and payees. An off-list counterparty → REVIEW (unknown, not forbidden).

0x6fF5…9b43
0x0000…8BA3
0x4d2e…6E5f

Blocked protocols

Denylist. A hit always → DENY and takes precedence over everything.

0xBADc…5678

Unlimited approvals

When off, any unlimited approval → DENY — regardless of how trusted the spender is.

Trust threshold

Minimum counterparty trust (0–1) to avoid REVIEW. Set 0 to disable.

0.60

Freshly deployed contracts

How to treat a counterparty deployed in the last 7 days — the strongest drainer signal.

Test bench

213

Sample agent actions replayed against the current policy by the real engine. Edit a rule on the left and every verdict updates instantly.

VERDICTALLOW
Transfer

Routine payment

Send 500 USDC to an allow-listed, trusted payee.

500 USDC0x4d2e…6E5f· chain base
No rule fired — ALLOW by permissive default.
SAMPLE FACTS · fresh=false · trust=0.85
VERDICTALLOW
Approve

Bounded approval

Approve exactly 800 USDC to the Uniswap router.

800 USDC0x6fF5…9b43· chain base
No rule fired — ALLOW by permissive default.
SAMPLE FACTS · fresh=false · trust=1.00
VERDICTDENY
Approve

Unlimited approval

Approve UNLIMITED USDC — even to a trusted, allow-listed spender.

Unlimited0x0000…8BA3· chain base
DENY wins — Unlimited approval fired.
  • DENY · Unlimited approvalUnlimited approval requested, but this policy forbids unlimited approvals (allowUnlimited = false).
  • DENY · Per-tx spend capUnlimited amount exceeds the per-transaction cap (1000000000) for token 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913.
  • DENY · Per-day spend capUnlimited amount exceeds the per-day cap (5000000000) for token 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913.
SAMPLE FACTS · fresh=false · trust=1.00
VERDICTDENY
Swap

Oversized swap

Swap 4,000 USDC after 3,000 already moved today.

4,000 USDCno spender (swap)· chain base
DENY wins — Per-tx spend cap fired.
  • DENY · Per-tx spend capAmount 4000000000 exceeds the per-transaction cap (1000000000) for token 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913.
  • DENY · Per-day spend capToday's spend 3000000000 + 4000000000 exceeds the per-day cap (5000000000) for token 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913.
SAMPLE FACTS · spent-today set
VERDICTREVIEW
x402 pay

Payment to a fresh contract

An x402 micropayment to a freshly deployed, low-trust address.

0.01 ETH0x9A1f…2c3D· chain base
REVIEW — 3 rules flagged, no DENY.
  • REVIEW · Fresh contractCounterparty is a freshly deployed contract; policy says fresh contracts → REVIEW.
  • REVIEW · Not allow-listedCounterparty 0x9A1f2C3b4D5e6F708192A3b4C5d6e7F80a1B2c3D is not on the protocol allowlist — unknown, escalate for review.
  • REVIEW · Low trustCounterparty trust 0.2 is below the required threshold 0.6.
SAMPLE FACTS · fresh=true · trust=0.20
VERDICTDENY
Approve

Approval to a blocked drainer

Approve a known-bad spender that's on the denylist.

800 USDC0xBADc…5678· chain base
DENY wins — Blocked protocol fired.
  • DENY · Blocked protocolCounterparty 0xBADc0FFEE0DDF00D1234567890aBcDef12345678 is on the blocked-protocol denylist.
  • REVIEW · Not allow-listedCounterparty 0xBADc0FFEE0DDF00D1234567890aBcDef12345678 is not on the protocol allowlist — unknown, escalate for review.
  • REVIEW · Low trustCounterparty trust 0.5 is below the required threshold 0.6.
SAMPLE FACTS · fresh=false · trust=0.50