LIVE
TASKS 24H6,48165 policiesCOMPLIANT0.0%0 attestedOPERATORS32 signingRESTAKED4e-15 NEWT—MEDIAN RESPONSE36sp99 48.0sRE-VERIFIED 24H—0 invalidatedBLOCK11,957,701Sepolia
NEWTON PROTOCOL · POLICY CLIENT

0x4734…c296revision 1 · current

0x4734a2d42238ba17b73d4e01b0bc83bdc642c296 · 5 of 8 policies · Sepolia
REVISION
1 of 1
POLICIES
5 of 8
DISTINCT
5
RESPONSE EXPIRY
50 blocks
CHAIN
Sepolia
TASKS · 24H
0
ALLOW RATE
83.3%
Every policy must allowFail-closed, and no short-circuit: every policy is evaluated even after one has denied, and a single denial denies the intent. The response expires 50 blocks after its reference block — the shortest expireAfter in the set, on slot 0 and 1 and 2 and 3 and 4.

Policies — 5

one Rego + WASM pair per slot
  1. 0
    0x0aabbd11e418ae7c444454b099caaa1dff2260df0x0aab…60dfnot in factory registry50 blocksbounds set expiry
    wasmnone — pure Regorego
    — rules— denyno WASMspecHash 0xa8e1987c…
    accountantnot in schema0x9ed306a8381ed2691CcDEC187934e7f2412483FB
    policyParams — 59 bytes on chain0x7b226163636f756e74616e74223a22307839656433303661383338316564323639314363444543313837393334653766323431323438334642227d
  2. 1
    0x578535de882ec8faf2d8fbe9bc372f07087988fe0x5785…88fenot in factory registry50 blocksbounds set expiry
    wasmnone — pure Regorego
    — rules— denyno WASMspecHash 0x6fb482c7…
    enablednot in schematrue
    whitelist_contractnot in schema0x29E506aD36f6Ed3171ca49E075Ba3f1C3e3385B0
    policyParams — 82 bytes on chain0x7b22656e61626c6564223a747275652c2277686974656c6973745f636f6e7472616374223a22307832394535303661443336663645643331373163613439453037354261336631433365333338354230227d
  3. 2
    0x4e3877488aa4dfa98c94f8909bfd490be5df6d5c0x4e38…6d5cnot in factory registry50 blocksbounds set expiry
    wasmnone — pure Regorego
    — rules— denyno WASMspecHash 0xf6b467bd…
    deny_on_sanctionednot in schematrue
    risk_categories_blocklistnot in schema[]
    deny_on_high_risk_categorynot in schemafalse
    policyParams — 93 bytes on chain0x7b2264656e795f6f6e5f686967685f7269736b5f63617465676f7279223a66616c73652c2264656e795f6f6e5f73616e6374696f6e6564223a747275652c227269736b5f63617465676f726965735f626c6f636b6c697374223a5b5d7d
  4. 3
    0x4b6bb99e90ddbad07a50bca62d41d03628af69cd0x4b6b…69cdnot in factory registry50 blocksbounds set expiry
    wasmnone — pure Regorego
    — rules— denyno WASMspecHash 0x03539ca3…
    check_feednot in schematrue
    check_marketnot in schematrue
    check_cooldownnot in schematrue
    check_exposurenot in schematrue
    check_fee_limitnot in schematrue
    max_exposure_bpnot in schema9500
    check_alloc_sizenot in schematrue
    check_utilizationnot in schematrue
    max_alloc_size_bpnot in schema2500
    max_utilization_bpnot in schema10000
    check_concentrationnot in schematrue
    check_reserve_floornot in schematrue
    max_market_share_bpnot in schema100
    max_platform_fee_bpnot in schema50
    min_idle_reserve_bpnot in schema500
    check_fee_rate_limitnot in schematrue
    max_feed_age_secondsnot in schema7200
    max_performance_fee_bpnot in schema1500
    min_supply_cap_headroom_bpnot in schema500
    min_allocation_cooldown_secondsnot in schema21600
    min_fee_change_interval_secondsnot in schema86400
    policyParams — 560 bytes on chain0x7b22636865636b5f616c6c6f635f73697a65223a747275652c22636865636b5f636f6e63656e74726174696f6e223a747275652c22636865636b5f636f6f6c646f776e223a747275652c22636865636b5f6578706f73757265223a747275652c22636865636b5f6665655f6c696d6974223a747275652c22636865636b5f6665655f726174655f6c696d6974223a747275652c22636865636b5f66656564223a747275652c22636865636b5f6d61726b6574223a747275652c22636865636b5f726573657276655f666c6f6f72223a747275652c22636865636b5f7574696c697a6174696f6e223a747275652c226d61785f616c6c6f635f73697a655f6270223a323530302c226d61785f6578706f737572655f6270223a393530302c226d61785f666565645f6167655f7365636f6e6473223a373230302c226d61785f6d61726b65745f73686172655f6270223a3130302c226d61785f706572666f726d616e63655f6665655f6270223a313530302c226d61785f706c6174666f726d5f6665655f6270223a35302c226d61785f7574696c697a6174696f6e5f6270223a31303030302c226d696e5f616c6c6f636174696f6e5f636f6f6c646f776e5f7365636f6e6473223a32313630302c226d696e5f6665655f6368616e67655f696e74657276616c5f7365636f6e6473223a38363430302c226d696e5f69646c655f726573657276655f6270223a3530302c226d696e5f737570706c795f6361705f68656164726f6f6d5f6270223a3530307d
  5. 4
    0xa1cca533c467aff17f2226ed6dddbbb92d4745ef0xa1cc…45efnot in factory registry50 blocksbounds set expiry
    wasmnone — pure Regorego
    — rules— denyno WASMspecHash 0x0472a815…
    max_abs_dev_pctnot in schema0.01
    deny_on_collapsednot in schematrue
    deny_on_stale_datanot in schemafalse
    max_recent_depeg_eventsnot in schema1000000
    max_consecutive_days_below_pegnot in schema1000000
    policyParams — 151 bytes on chain0x7b2264656e795f6f6e5f636f6c6c6170736564223a747275652c2264656e795f6f6e5f7374616c655f64617461223a66616c73652c226d61785f6162735f6465765f706374223a302e30312c226d61785f636f6e73656375746976655f646179735f62656c6f775f706567223a313030303030302c226d61785f726563656e745f64657065675f6576656e7473223a313030303030307d
Each module is evaluated against its own input — {"params": <this slot’s policyParams>, "wasm": <this slot’s WASM output>}. There is no shared data.wasm object and no cross-slot namespace, so slot 1 cannot read slot 0’s WASM output and a policy cannot be written to depend on its neighbours.
SET IDENTITY
POLICY_SET_DOMAINkeccak256("newton.policy.set")
chainId11155111
revision1
Task managerreads getPolicies() at task creation, then never again
policyId = keccak256(abi.encode(POLICY_SET_DOMAIN, chainId, client, revision, policies)), where policies is the complete ordered array with each entry’s parameters and expiry. Order is part of it, so a reorder alone is a new id.
WHAT A TASK FREEZES
A task carries this exact ordered set as its own snapshot, plus one WASM input per slot. Response validation reads that snapshot and never re-reads the client, so reconfiguring mid-flight cannot change what an in-flight task means — and replay proves it by recomputing the policyId over the snapshot and comparing against the task’s own.
The bound is MAX_POLICIES = 8, enforced on chain and mirrored in the operator, the enclave and the proof guest. An oversize set is rejected, never truncated, and an empty one is rejected too — there is no vacuous allow.

Configuration history

1 write · newest first
RevPolicy setChangePoliciesConfigured byBlockTasks
1 · current0x9ac04097…9c59first set0x0aabbd11e418ae7c444454b099caaa1dff2260df · 0x578535de882ec8faf2d8fbe9bc372f07087988fe · 0x4e3877488aa4dfa98c94f8909bfd490be5df6d5c · 0x4b6bb99e90ddbad07a50bca62d41d03628af69cd · 0xa1cca533c467aff17f2226ed6dddbbb92d4745ef—11,909,1740x857f…dc666
Every write mints a new policyId and revokes every attestation bound to the previous one, because the id commits the client, the chain, the revision counter and the exact ordered list — keccak256(POLICY_SET_DOMAIN, chainId, client, revision, policies). Revision 1 is the only one whose attestations are still spendable.

Task history — every revision

6 of 6 matchingExport CSVJSON
TaskSenderPolicyFunctionSignersResultAge
The export carries one row per task with the frozen policy set in slot order, and it is the complete filtered history rather than this page. It has no per-policy verdict column: TaskResponse.allowed is a single boolean for the whole set, so which policy denied a task is in no record.