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

0x9bf2…d07drevision 1 · current

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

Policies — 1

one Rego + WASM pair per slot
  1. 0
    0xbefefe1984934e823218f5285412c77b0c519eab0xbefe…9eabnot in factory registry25 blocksbounds set expiry
    wasmnone — pure Regorego
    — rules— denyno WASMspecHash 0x7c1aa403…
    calc_versionnot in schemasuperearn-recon/v1
    bybit_base_urlnot in schemahttps://newton-ui-demos-web-git-demo-superearn-newtonlabs.vercel.app/api/superearn/bybit
    account_currencynot in schemaUST
    ust_usd_rate_ppmnot in schema999800
    tolerance_rel_bpsnot in schema1
    max_source_skew_msnot in schema120000
    max_snapshot_age_msnot in schema900000
    tolerance_abs_centsnot in schema2500
    policyParams — 302 bytes on chain0x7b2263616c635f76657273696f6e223a2273757065726561726e2d7265636f6e2f7631222c2262796269745f626173655f75726c223a2268747470733a2f2f6e6577746f6e2d75692d64656d6f732d7765622d6769742d64656d6f2d73757065726561726e2d6e6577746f6e6c6162732e76657263656c2e6170702f6170692f73757065726561726e2f6279626974222c226163636f756e745f63757272656e6379223a22555354222c227573745f7573645f726174655f70706d223a3939393830302c22746f6c6572616e63655f6162735f63656e7473223a323530302c22746f6c6572616e63655f72656c5f627073223a312c226d61785f736e617073686f745f6167655f6d73223a3930303030302c226d61785f736f757263655f736b65775f6d73223a3132303030307d
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
policies0xbefe…9eab@25
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 · current0xa7de3a35…83e0first set0xbefefe1984934e823218f5285412c77b0c519eab—11,946,8800xc863…822815
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

15 of 15 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.