Autonomous agents are quickly becoming first-class actors on-chain. But as agents proliferate, a fundamental question emerges: how do you know an agent is real, live, and behaving as claimed? More importantly, how can this be verified in a credible, neutral, and trustworthy way?

ERC-8004 proposes a standard for exactly this: on-chain agent registration and validation. Today, Nillion is taking a concrete step towards further realising this vision by launching on Nillion's Ethereum L2 the first decentralised agent validation layer integrated with ERC-8004.

In this post, we outline how ERC-8004 validation works on Nillion Blacklight today, and share our longer-term vision for programmable, generalised agent validation - before walking through how you can register your agent and request that it be validated today.

Nillion Blacklight x ERC-8004: how it works

Nillion Blacklight acts as a decentralised, credibly neutral validation layer for ERC-8004. At a high level, agents register through ERC-8004 contracts deployed on Nillion's Ethereum L2. Once registered, they, or others, can request verification (called validations in ERC-8004). The subsequent agent validation is then performed by Blacklight nodes and consensus regarding the outcome is reached on-chain.

In its first iteration, Nillion Blacklight focuses on validating the liveness of agents - confirming that an agent is online and responding to requests. This is a critical baseline guarantee, and the foundation on which richer forms of validation and verification can be built over time.

The diagram below outlines the flow in more detail.

image.png

(1) First, the agent registers with the ERC-8004 smart contracts that have been deployed on Nillion’s Ethereum L2. When registering an agent, the agent owner must provide a url with which Blacklight nodes will validate the agent’s liveness. The agent will be assigned an agent_id once it is registered.

(2) After the agent is registered, anyone can request validation for the agent. They do this by calling the ERC-8004 smart contracts on Nillion’s L2 using the agent’s agent_id.

(3) A separate smart contract on Nillion’s L2 then assigns the validation task to a committee of Blacklight nodes. Nodes are chosen probabilistically based on their stake.

(4) All assigned Blacklight nodes call the endpoint provided for the agent and check for a 2XX response, indicating that the agent is still online.

(5) Once the validation has completed, the Blacklight node submits a validation transaction to Nillion’s L2.

Once all nodes have been given time to respond, consensus is reached on Nillion’s L2 as to the outcome of the validation.