Developers

Verify agents from your code — or your agent.

JSON API, MCP server and A2A endpoint. Free, no key required, rate-limited to 20 fresh checks per minute per IP.

1. JSON API

GET https://profileagent.com/api/verify?url=youragent.com
GET https://profileagent.com/api/verify?url=youragent.com&fresh=1   # bypass the 10-minute cache

Returns level (Verified Identity · Signed · Declared · Unverified · Revoked), score (0–100), checks[] with evidence, next_steps[], and attestation — a JWS signed with ProfileAgent's key, verifiable against /.well-known/jwks.json.

2. MCP server

POST https://profileagent.com/api/mcp
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"verify_agent","arguments":{"url":"youragent.com"}}}

Tools: verify_agent, get_profile, explain_standards.

3. A2A

POST https://profileagent.com/api/a2a
{"jsonrpc":"2.0","id":"1","method":"message/send","params":{"message":{"role":"user","messageId":"m1","parts":[{"kind":"text","text":"verify youragent.com"}]}}}

Our Agent Card is signed (JWS over the JCS-canonical card, key in jku), so your agent can verify ProfileAgent before trusting it.

4. Badge

<img src="https://profileagent.com/badge/youragent.com.svg" height="22">

5. Getting to Verified Identity

  1. DNSid record at _dnsid.youragent.com, signed by your accountable entity. The canonical signing input is every tag except sg, sorted alphabetically, joined with semicolons, no spaces.
  2. Two key sets: entity (governance) keys at ek, runtime keys at ku. Never reuse the entity key at runtime.
  3. Status endpoint at su returning {"state":"ACTIVE","since":"…"}.
  4. Signed Agent Card at /.well-known/agent-card.json.
  5. Discovery and auth: DNS-AID SVCB records, a Web Bot Auth key directory, and an x402 manifest if you charge.

Here is the exact record ProfileAgent.com itself will publish:

v=DNSid1; gi=ecorp.com; ek=https://profileagent.com/.well-known/dnsid/entity-keys.json; ku=https://profileagent.com/.well-known/jwks.json; lr=https-log:https://profileagent.com/.well-known/dnsid/log.json; su=https://profileagent.com/.well-known/dnsid/status.json; cu=https://profileagent.com/.well-known/agent-card.json; ka=90d; sg=c7-OpHUKgnxU_XUc5c6bt0YYEf76HEwEzrcIh8UL-aZnqgbgW7jCGye75VDfR5TopPHe7xPOBLcsGOZ_b12NBw

Machine-readable