LIVE
TASKS 24H6,48765 policiesCOMPLIANT50.0%0 attestedOPERATORS32 signingRESTAKED4e-15 NEWT—MEDIAN RESPONSE36sp99 48.0sRE-VERIFIED 24H—0 invalidatedBLOCK11,957,416Sepolia
PARTICIPANTS

Network

Operators evaluate, the gateway aggregates, challengers recompute every response, and a transporter carries the operator set to each destination chain.

3
OPERATORS
4e-15 NEWT
RESTAKED
2
CHAINS LIVE
40%
QUORUM THRESHOLD
GATEWAY / AGGREGATOR · SEPOLIA (SOURCE)
ENDPOINT
—
TASK GENERATORS
23 keys
LAST TASK
4h 24m ago
TASKS ROUTED 24H
6,487
MEDIAN RESPONSE
36s
UNANSWERED 24H
6,481
QUORUM
0
THRESHOLD
40%
Two-phase consensus

Registered as a task generator on OperatorRegistry. Unlike challengers and transporters, the gateway set is enumerable on chain — additions and removals are events, and only a registered generator can create or respond to a task — all 23 of them, read from getAllTaskGenerators() rather than replayed, because every addition fired at AVS setup and no crawl reaches back that far. The timeouts and tolerance above are gateway.toml values with no on-chain source; everything else on this panel is derived from the tasks themselves.

CHALLENGE ACTIVITY · SEPOLIA
RE-VERIFIED 24H
—
INVALIDATIONS
0
STAKE SLASHED
—
OBSERVED
0 challengers

Challenge submission is permissionless — raiseAndResolveChallenge has no caller restriction. A challenge that cannot prove a mismatch reverts, so nothing is ever pending and a zero invalidation count is the healthy result, not an idle one. There is no challenger registry — a challenger has no onchain state between actions, so what exists is a stream of challenges, not a roster. Browse challenges →

Destination chains

1 live · 0 whitelisted
Base Sepoliachain 84532
TRANSPORTER
Operated byEigenLayer (closed source)
Last sync2026-10-20 19:19:48 UTC
Table root0x9c64b89b…3a77
Ref. block48,378,285
CHALLENGE ACTIVITY
Re-verified 24h—
Invalidations0
Observed0 challengers
CHAIN WATCHER

Not measured. A chain watcher leaves no on-chain trace, so nothing here can say whether one is running — which is different from knowing it is down.

A successful challenge on a destination chain invalidates the attestation there, then relays to the source chain for slashing — two transactions on two chains for one verdict.

AVS operators

stake-weighted · quorum 0 · threshold 40%
#OperatorRestakedShareSigned 24hMissedAttestation rateEnclaveRegistry

Registry state, not health. Liveness shows in the missed and attestation rate columns — the registry only knows whether an operator is registered, exiting, or whitelisted and yet to join.

Contracts

21 deployed · 2 chains
SEPOLIA · CHAIN 11155111 · SOURCE
ContractAddressIndexed
TaskManager0xecb7…ed13NewTaskCreated(bytes32,(bytes32,address,bytes32,uint64,uint32,uint32,(address,address,uint256,bytes,uint256,bytes),bytes,(address,(bytes,uint32))[],bytes[],bytes,uint256)), TaskChallengedSuccessfully(bytes32,address), TaskChallengedUnsuccessfully(bytes32,address), TaskResponded((bytes32,address,bytes32,(address,address,uint256,bytes,uint256,bytes),bytes,bool,(bytes32,address,bytes,(bytes,bytes,uint32)[])[],uint256),(uint32,uint32,bytes32,bytes)), AttestationSpent(bytes32,(bytes32,bytes32,address,uint32,(address,address,uint256,bytes,uint256,bytes),bytes)), DirectTaskResponded(bytes32,(bytes32,address,bytes32,uint64,uint32,uint32,(address,address,uint256,bytes,uint256,bytes),bytes,(address,(bytes,uint32))[],bytes[],bytes,uint256),(bytes32,address,bytes32,(address,address,uint256,bytes,uint256,bytes),bytes,bool,(bytes32,address,bytes,(bytes,bytes,uint32)[])[],uint256))
PolicyFactory0xe379…d0cdPolicyDeployed(address,(address,address,string,string,string,string,string,string,bytes32),string)
PolicyClientRegistry0x0dbd…64ddClientRegistered(address,address)
BN254TableCalculator0x30d9…a799OperatorRegistered(address,(uint256,uint256),uint256[]), OperatorDeregistered(address), OperatorWeightsUpdated(address,uint256[],uint256[]), OperatorPubkeyUpdated(address,(uint256,uint256),(uint256,uint256))
OperatorRegistryEpochGovernance0x8507…947aEpochAdvanced(uint32,uint64,uint32), WhitelistAdditionQueued(address,uint32), WhitelistRemovalQueued(address,uint32), TaskGeneratorAdditionQueued(address,uint32), TaskGeneratorRemovalQueued(address,uint32), OperatorDeregistrationQueued(address,uint32), EpochDurationBlocksQueued(uint32,uint32)
OperatorRegistry0xbc61…46b2TaskGeneratorAdded(address), TaskGeneratorRemoved(address), OperatorWhitelisted(address,bool)
EnclaveVersionRegistry0x373d…098dEnclaveVersionActivated(bytes32,string), EnclaveVersionDeprecated(bytes32), EnclaveKeyRegistered(address,bytes32)
SocketRegistry0xae59…71b1not read
ChallengeVerifier0x5aee…0956TeeAttestationChallenged(bytes32,address), CrossChainChallengeRelayed(uint256,bytes32,address)
InstantSlasher0x774e…4a08OperatorSlashed(uint256,address,uint32,uint256[],string)
AttestationValidator0x26f4…429cDirectTaskResponded(bytes32,(bytes32,address,bytes32,uint64,uint32,uint32,(address,address,uint256,bytes,uint256,bytes),bytes,(address,(bytes,uint32))[],bytes[],bytes,uint256),(bytes32,address,bytes32,(address,address,uint256,bytes,uint256,bytes),bytes,bool,(bytes32,address,bytes,(bytes,bytes,uint32)[])[],uint256))
BASE SEPOLIA · CHAIN 84532 · DESTINATION
ContractAddressIndexed
TaskManager0xa5e1…0071NewTaskCreated(bytes32,(bytes32,address,bytes32,uint64,uint32,uint32,(address,address,uint256,bytes,uint256,bytes),bytes,(address,(bytes,uint32))[],bytes[],bytes,uint256)), TaskChallengedSuccessfully(bytes32,address), TaskChallengedUnsuccessfully(bytes32,address), TaskResponded((bytes32,address,bytes32,(address,address,uint256,bytes,uint256,bytes),bytes,bool,(bytes32,address,bytes,(bytes,bytes,uint32)[])[],uint256),(uint32,uint32,bytes32,bytes)), AttestationSpent(bytes32,(bytes32,bytes32,address,uint32,(address,address,uint256,bytes,uint256,bytes),bytes)), DirectTaskResponded(bytes32,(bytes32,address,bytes32,uint64,uint32,uint32,(address,address,uint256,bytes,uint256,bytes),bytes,(address,(bytes,uint32))[],bytes[],bytes,uint256),(bytes32,address,bytes32,(address,address,uint256,bytes,uint256,bytes),bytes,bool,(bytes32,address,bytes,(bytes,bytes,uint32)[])[],uint256))
PolicyFactory0x4302…c59cPolicyDeployed(address,(address,address,string,string,string,string,string,string,bytes32),string)
PolicyClientRegistry0x2a7b…9b0dClientRegistered(address,address)
OperatorRegistryEpochGovernance0x12c3…1cc5EpochAdvanced(uint32,uint64,uint32), WhitelistAdditionQueued(address,uint32), WhitelistRemovalQueued(address,uint32), TaskGeneratorAdditionQueued(address,uint32), TaskGeneratorRemovalQueued(address,uint32), OperatorDeregistrationQueued(address,uint32), EpochDurationBlocksQueued(uint32,uint32)
OperatorRegistry0x9f63…4f7fTaskGeneratorAdded(address), TaskGeneratorRemoved(address), OperatorWhitelisted(address,bool)
EnclaveVersionRegistry0x4280…eb21EnclaveVersionActivated(bytes32,string), EnclaveVersionDeprecated(bytes32), EnclaveKeyRegistered(address,bytes32)
TableUpdater0xafbe…a80fNewGlobalTableRoot(uint32,bytes32)
SocketRegistry0xf042…20d7not read
ChallengeVerifier0x768a…e807TeeAttestationChallenged(bytes32,address), CrossChainChallengeRelayed(uint256,bytes32,address)
AttestationValidator0xf345…54e5DirectTaskResponded(bytes32,(bytes32,address,bytes32,uint64,uint32,uint32,(address,address,uint256,bytes,uint256,bytes),bytes,(address,(bytes,uint32))[],bytes[],bytes,uint256),(bytes32,address,bytes32,(address,address,uint256,bytes,uint256,bytes),bytes,bool,(bytes32,address,bytes,(bytes,bytes,uint32)[])[],uint256))

Addresses come from the indexer’s chain registry rather than a constant in the build, so a redeploy is a row change and this list follows it. A chain with no contracts deployed appears above as whitelisted, not here. One stream is missing from the table by nature: PoliciesUpdated is emitted by each policy client itself, so it is crawled by topic across every address rather than from one.

Enclave versions

onchain whitelist · 0 active
VersionPCR0 hashActivatedDeprecatedOperators