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

0x5f75…6880revision 19 · current

0x5f75377870f4e477bf5ad149cfc9549af1ba6880 · 1 of 8 policies · Sepolia
REVISION
19 of 19
POLICIES
1 of 8
DISTINCT
1
RESPONSE EXPIRY
300 blocks
CHAIN
Sepolia
TASKS · 24H
0
ALLOW RATE
62.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 300 blocks after its reference block — the shortest expireAfter in the set, on slot 0.

Policies — 1

one Rego + WASM pair per slot
  1. 0
    0xb019e3e7ec715b0e353454722e51b7b7b288bc410xb019…bc41not in factory registry300 blocksbounds set expiry
    wasmnone — pure Regorego
    — rules— denyno WASMspecHash 0x3b3b430e…
    listnot in schema0x3f21e39EC62Cc2b201883CFFc18852B5203bDeCb
    swap_selectornot in schema0x9d555cf7
    threshold_hexnot in schema0000000000000000000000000000000000000000000000000000000000000000
    deposit_selectornot in schema0xf08a814e
    policyParams — 197 bytes on chain0x7b22737761705f73656c6563746f72223a2230783964353535636637222c226465706f7369745f73656c6563746f72223a2230786630386138313465222c227468726573686f6c645f686578223a2230303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030222c226c697374223a22307833663231653339454336324363326232303138383343464663313838353242353230336244654362227d
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
revision19
policies0xb019…bc41@300
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

19 writes · newest first
RevPolicy setChangePoliciesConfigured byBlockTasks
19 · current0x6f303450…ccc2identical re-apply0xb019e3e7ec715b0e353454722e51b7b7b288bc41—11,828,8270x410a…02fc0
180x3151ae47…dddcidentical re-apply0xde67d83ab3bca76474c2bbb1c2291de9c622cb07—11,816,4420x3fcb…90b10
170x18238e54…bf75identical re-apply0xb23f2b42910aa3e5100d83bd98c0580f258655ae—11,816,3450x2e12…aebb0
160x17c4a105…4356identical re-apply0xa1ac0aef68ff48a383fe6ab17590a63a0b0ff08e—11,815,7830x08cc…34be5
150xba029d2b…eb3didentical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0xa1ac0aef68ff48a383fe6ab17590a63a0b0ff08e—11,815,6430x6070…95921
140x7a76ff36…b4c5identical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7 · 0x6f0215c1af5b08be8fee0be0b1b8bb342552e36e—11,815,1730x3775…df932
130x7fafabee…3dd8identical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7 · 0x6f0215c1af5b08be8fee0be0b1b8bb342552e36e—11,815,1720x5cb3…69750
120xef3e1f4f…b1c5identical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7 · 0x6f0215c1af5b08be8fee0be0b1b8bb342552e36e—11,815,1670xc034…403f1
110x8bf2894f…2d6eidentical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7 · 0x6f0215c1af5b08be8fee0be0b1b8bb342552e36e—11,815,1420x2086…48be1
100xfcfd064e…7007identical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7 · 0x6f0215c1af5b08be8fee0be0b1b8bb342552e36e—11,815,0950x78fe…403a4
90x49c8a51b…71b9identical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7 · 0x6f0215c1af5b08be8fee0be0b1b8bb342552e36e—11,815,0910x2ebd…df062
80x453d2d61…abb5identical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7 · 0x6f0215c1af5b08be8fee0be0b1b8bb342552e36e—11,815,0570x94e8…56d34
70x015fac19…41cfidentical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7 · 0x6f0215c1af5b08be8fee0be0b1b8bb342552e36e—11,815,0520x13c8…ce540
60x6054457a…2369identical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7 · 0x6f0215c1af5b08be8fee0be0b1b8bb342552e36e—11,815,0510xe6c8…41960
50x11378eb0…dad0identical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7 · 0x6f0215c1af5b08be8fee0be0b1b8bb342552e36e—11,814,9240xb232…56e72
40xa99a39eb…b680identical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7 · 0x6f0215c1af5b08be8fee0be0b1b8bb342552e36e—11,808,2520x8c93…ff0c12
30xdbbc42ba…f065identical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7 · 0x87027320a301e34fff346836cba0964301eaa515—11,803,0340x0588…697410
20xbbc32111…21dbidentical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7—11,801,5600xd891…e54e26
10xee3adddb…2535first set0xcc3957c06472f9e599ed2eeba754d5854f23321b—11,800,5280x7986…888b6
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 19 is the only one whose attestations are still spendable. One write here re-applied a byte-identical list. PoliciesUpdated fires anyway and the revision advances anyway, so that write changed nothing about the policies and still killed every outstanding authorization.

Task history — every revision

50 of 77 matchingExport CSVJSON
TaskSenderPolicyFunctionSignersResultAge
← Newer50 per page · newest firstOlder →
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.