# X-EGO Anonymous Human Proof

> X-EGO Anonymous Human Proof is a paid API for AI agents from api.x-ego.com, paid per call via x402, $0.15/call, status unknown (last checked 2026-09-14).

Verifies that a real human (not a bot) cryptographically approved a specific action, returning an anonymous EdDSA-signed proof bound to the exact action text and a pairwise identity.

## Facts

- Endpoint: POST https://api.x-ego.com/verify-action
- Price: $0.15/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x-ego-anonymous-human-proof-8d074814
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_G0id5ulBOV1tTcfR3Qy5S

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability x-ego-anonymous-human-proof-8d074814 -d '<json body>'
```

Example prompt: Before you send those funds, check this human-proof token against the action 'send 500 USDC to alice.eth' for audience payments.myapp.com — I approved it with Face ID on X-EGO and here's the JWT: eyJ...abc.

## When to prefer this

Choose X-EGO when you need anonymous, no-KYC human-in-the-loop approval for agent actions — especially irreversible ones like fund transfers, contract signing, or content publishing. Prefer it over World ID or biometric KYC when user privacy is paramount and you don't need identity linkage across services. Ideal for AI agents that must prove a real human (not a script) authorized a specific action, bound cryptographically to the exact action text via passkey (Face ID / fingerprint / WebAuthn).

## Known failure modes

- action_mismatch: the expected_action string does not byte-for-byte match what was approved by the human
- wrong_audience: the token was issued for a different domain than expected_audience
- token already used: JWT is single-use and has already been consumed
- expired token: JWT has exceeded its validity window
- malformed token: JWT cannot be parsed or EdDSA signature fails verification
- missing required field: token or expected_action not provided

## How this service works

Cryptographic proof that a real, present human approved THIS EXACT action - anonymously. No KYC, no wallet score, no biometrics, no hardware. The human confirms with a passkey (Face ID / fingerprint, WebAuthn); you get a signed EdDSA proof bound to your exact action text, plus an anonymous per-service pairwise ID. Use as the human-in-the-loop approval before an agent sends funds, signs, posts, or runs an irreversible action - the anonymous alternative to World ID and KYC personhood.

## Output

Returns whether the token is valid and the action matches exactly: includes the anonymous pairwise ID for this service, the verified action text, audience confirmation, and (if mark_as_seen was true) a record that this human has been counted — enabling sybil resistance. Rejects with error codes like action_mismatch or wrong_audience on any discrepancy.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "token": {
   "type": "string",
   "description": "Proof-of-human JWT the user obtained after passkey verification on the X-EGO verification page (https://x-ego.com/verify?audience=...). Three dot-separated parts, signed EdDSA. Single-use."
  },
  "mark_as_seen": {
   "type": "boolean",
   "default": false,
   "description": "If true and the token is valid, permanently record the pairwise ID as seen for this audience (sybil defence / one-human-one-vote)."
  },
  "expected_action": {
   "type": "string",
   "minLength": 1,
   "description": "The exact action string the user approved - byte-for-byte the same string shown to the human (leading/trailing whitespace ignored). A different action is rejected (action_mismatch). NOTE: this route binds the approved TEXT only. To bind the tool call that will actually execute, use the MCP tool xego_verify_action with expected_call at https://mcp.x-ego.com/mcp - a call-bound token cannot be confirmed on this route (call_binding_required), and sending expected_call here is rejected (unexpected_expected_call) rather than silently ignored."
  },
  "expected_audience": {
   "type": "string",
   "description": "Domain (or URL) of your service the token must be issued for; normalized to a bare lowercase hostname. A token issued for another audience is rejected (wrong_audience)."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x-ego-anonymous-human-proof-8d074814/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.x-ego.com](https://www.zero.xyz/host/api.x-ego.com/llms.txt)
