LIVE
TASKS 24H265 policiesCOMPLIANT100.0%0 attestedOPERATORS32 signingRESTAKED0.04 NEWT—MEDIAN RESPONSE36sp99 36.0sRE-VERIFIED 24H—0 invalidatedBLOCK11,957,817Sepolia
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
—
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…34be0
150xba029d2b…eb3didentical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0xa1ac0aef68ff48a383fe6ab17590a63a0b0ff08e—11,815,6430x6070…95920
140x7a76ff36…b4c5identical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7 · 0x6f0215c1af5b08be8fee0be0b1b8bb342552e36e—11,815,1730x3775…df930
130x7fafabee…3dd8identical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7 · 0x6f0215c1af5b08be8fee0be0b1b8bb342552e36e—11,815,1720x5cb3…69750
120xef3e1f4f…b1c5identical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7 · 0x6f0215c1af5b08be8fee0be0b1b8bb342552e36e—11,815,1670xc034…403f0
110x8bf2894f…2d6eidentical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7 · 0x6f0215c1af5b08be8fee0be0b1b8bb342552e36e—11,815,1420x2086…48be0
100xfcfd064e…7007identical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7 · 0x6f0215c1af5b08be8fee0be0b1b8bb342552e36e—11,815,0950x78fe…403a0
90x49c8a51b…71b9identical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7 · 0x6f0215c1af5b08be8fee0be0b1b8bb342552e36e—11,815,0910x2ebd…df060
80x453d2d61…abb5identical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7 · 0x6f0215c1af5b08be8fee0be0b1b8bb342552e36e—11,815,0570x94e8…56d30
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…56e70
40xa99a39eb…b680identical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7 · 0x6f0215c1af5b08be8fee0be0b1b8bb342552e36e—11,808,2520x8c93…ff0c0
30xdbbc42ba…f065identical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7 · 0x87027320a301e34fff346836cba0964301eaa515—11,803,0340x0588…69740
20xbbc32111…21dbidentical re-apply0xcc3957c06472f9e599ed2eeba754d5854f23321b · 0x9cc8f6d9352f559422da29184d510a78b006c2f7—11,801,5600xd891…e54e0
10xee3adddb…2535first set0xcc3957c06472f9e599ed2eeba754d5854f23321b—11,800,5280x7986…888b0
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

no tasksExport CSVJSON
No tasks match this scope yet.
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.