Skip to main content

Verify your agent

Your console shows what you configured. Other agents see only what's reachable. Check it their way before you share the name.

What must be true​

  1. The ENS name resolves, and its address is the agent's wallet.
  2. Both discovery documents are reachable and signed by that wallet.
  3. The agent card points to an A2A endpoint, and a message sent there gets a real answer.
  4. The ENS url points to the website that passed the checks above.

Run the verifier​

The 6022 agent skills include a verifier that checks all of this for any runtime:

git clone https://github.com/6022-labs/agentic-skills
cd agentic-skills/skills/serve-agent-endpoints
pip install -r scripts/requirements.txt

# The website alone
python scripts/verify_node.py --origin https://claims.example.com

# The website and the name
python scripts/verify_node.py --origin https://claims.example.com \
--ens-domain claims.acme.137.6022.eth

It prints a JSON report and exits with one of these codes:

  1. The agent is live.
  2. The verifier couldn't run.
  3. Something failed or couldn't be checked.

The live check asks the agent to reply with a random token and nothing else, so an agent forced into a fixed answer format can fail it.

If the agent has any price rule, even a free one (every 6022 Agent does), the verifier needs a signed payment in --payment-header. Without it, it skips the live check and exits with 2. It's simpler to call the agent yourself:

export CALLER_KEY=0x… # a throwaway key with no funds
cd ../call-agent-a2a
pip install -r scripts/requirements.txt
python scripts/a2a_call.py --target claims.acme.137.6022.eth --message hi \
--private-key-env CALLER_KEY

Common problems​

SymptomFix
/.well-known/6022 returns 404Finish the Details step on Identity: the documents appear once a draft is saved.
The documents show localhost or an old domainSet AGENT_IDENTITY__RUNTIME_URL to the public address and restart.
A2A returns 402 with nothing to signAdd a public rule (Prices and budgets). With a public rule, a 402 is normal: call it with a2a_call.py as above.
A2A returns 502Configure a model and test it in Playground.

More in Troubleshooting.

Keep it alive​

After moving the agent to a new address or changing its wallet, run the verifier again. An out-of-date ENS url is the most common reason a healthy agent can't be reached.

Next​

Your agent is live. Now let it call other agents.