openapi: 3.2.0 info: title: AAAA Nexus Identity API version: 0.5.1 description: Formally verified AI safety APIs for autonomous agents. Supports REST, MCP, A2A (Google protocol), and x402 micropayment protocol. contact: email: atomadic69@gmail.com url: https://github.com/atomadictech/aaaa-nexus servers: - url: https://atomadic.tech description: Production security: [] tags: - name: Identity description: Agent identity registration, lookup, revocation, and challenges paths: /v1/identity/verify: post: operationId: verifyIdentity summary: Topological identity verification description: Verify agent identity in untrusted networks with Sybil-resistance and a formally proved depth limit. Costs $0.020/call. tags: - Identity security: - ApiKeyAuth: [] - X402PaymentProof: [] requestBody: required: true content: application/json: schema: type: object required: - agent_id properties: agent_id: type: string example: my-agent-001 responses: '200': description: Identity verification result content: application/json: schema: type: object properties: agent_id: type: string verified: type: boolean sybil_resistant: type: boolean depth_limit_proved: type: boolean timestamp: type: string format: date-time '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/PaymentRequired' /v1/identity/register: post: operationId: registerIdentity summary: Register agent identity description: Register a new agent identity in the identity registry. tags: - Identity security: - ApiKeyAuth: [] - X402PaymentProof: [] requestBody: required: true content: application/json: schema: type: object required: - agent_id properties: agent_id: type: string public_key: type: string metadata: type: object responses: '200': description: Identity registered content: application/json: schema: type: object properties: agent_id: type: string registered_at: type: string format: date-time identity_hash: type: string '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/PaymentRequired' /v1/identity/lookup: get: operationId: lookupIdentity summary: Lookup registered identity description: Look up a registered identity by agent ID. tags: - Identity parameters: - name: agent_id in: query required: true schema: type: string description: Agent identifier security: - ApiKeyAuth: [] - X402PaymentProof: [] responses: '200': description: Identity details content: application/json: schema: type: object properties: agent_id: type: string public_key: type: string registered_at: type: string format: date-time status: type: string '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/PaymentRequired' /v1/identity/revoke: post: operationId: revokeIdentity summary: Revoke agent identity description: Revoke a registered agent identity. tags: - Identity security: - ApiKeyAuth: [] - X402PaymentProof: [] requestBody: required: true content: application/json: schema: type: object required: - agent_id properties: agent_id: type: string responses: '200': description: Identity revoked content: application/json: schema: type: object properties: agent_id: type: string revoked_at: type: string format: date-time status: type: string example: revoked '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/PaymentRequired' /v1/identity/challenge: post: operationId: challengeIdentity summary: Issue identity challenge description: Issue a cryptographic challenge to verify an agent's identity. tags: - Identity security: - ApiKeyAuth: [] - X402PaymentProof: [] requestBody: required: true content: application/json: schema: type: object required: - agent_id properties: agent_id: type: string responses: '200': description: Challenge issued content: application/json: schema: type: object properties: challenge_id: type: string nonce: type: string expires_at: type: string format: date-time '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '402': $ref: '#/components/responses/PaymentRequired' /v1/identity/sybil-check: get: operationId: sybilCheck summary: Sybil-resistance check description: Sybil-resistance check on the calling IP address. Free endpoint. tags: - Identity responses: '200': description: Sybil check result content: application/json: schema: type: object properties: ip: type: string sybil_score: type: number format: float suspicious: type: boolean timestamp: type: string format: date-time components: responses: PaymentRequired: description: 'Payment required. Use x402 protocol: send USDC on Base L2, Polygon, or Solana to the treasury address provided in the response, then retry with the X-Payment-Proof header.' content: application/json: schema: type: object properties: error: type: string example: Payment required amount: type: string example: '0.002' currency: type: string example: USDC treasury: type: string description: Destination wallet address chains: type: array items: type: string example: - base - polygon - solana BadRequest: description: Invalid request body or missing required fields. content: application/json: schema: type: object properties: error: type: string Unauthorized: description: Missing or invalid API key. content: application/json: schema: type: object properties: error: type: string example: Unauthorized securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-API-Key description: API key obtained from https://atomadic.tech/pay X402PaymentProof: type: apiKey in: header name: X-Payment-Proof description: Base64-encoded USDC payment proof for x402 autonomous payment flow (Base L2, Polygon, or Solana) AdminTokenAuth: type: apiKey in: header name: X-Admin-Token description: Admin token for privileged operations