Policy
Compiled once, human-confirmed, then immutable until a new version is committed.
Plain-English intent
Spend up to 500 USDC every 7 days. Only swap into pools with at least $50,000,000 in TVL (2% tolerance) that are at least 30 days old. Never approve unlimited allowances, delegatecall, or selfdestruct — refuse these regardless of what the premises say. Anything over 1 USDC pauses for a human confirmation before it settles.
Compiled artifact — v1
{
"version": 1,
"budget": {
"asset": "USDC",
"period": "7d",
"max": "500000000"
},
"premises": [
{
"id": "tvl",
"schema": "messari-dex-amm",
"field": "liquidityPool.totalValueLockedUSD",
"op": "gte",
"value": "50000000000000000000000000",
"tolerance_bps": 200
},
{
"id": "pool_age",
"schema": "messari-dex-amm",
"field": "liquidityPool.createdTimestamp",
"op": "older_than",
"value": "2592000"
}
],
"forbid": [
"approve_unlimited",
"delegatecall",
"selfdestruct"
],
"irreversible_above": "1000000"
}Computed hash (SHA-256 of canonical JSON)
0x105a3284b9c2e970a034010ddcdeb4baa6a6ef5856d241ee17c187745ef55e25
Committed on-chain to BondedRegistry at 0xB825225163aEf4353d0110BA63d0d811A17B8205. This page re-hashes the artifact above server-side and reads currentPolicyHash() live from Arc testnet on every load — a mismatch would render as a refusal, not a stale display.
Recompile
Re-derives the artifact from its intent and checks it still matches what BondedRegistry holds. Read-only — committing a new hash is a separate, explicit CLI step.
