Identity establishes who is connecting and on whose behalf. The protocol requires cryptographic proof of identity but is agnostic about who performs the signing — an autonomous agent with direct wallet access, a human operator signing on the agent’s behalf, or a custodial service managing keys. The protocol sees only the result: a valid signature linked to a verified account. A2G uses wallet-based identity following Sign-In with Ethereum (EIP-4361). Future versions MAY support additional identity mechanisms.Documentation Index
Fetch the complete documentation index at: https://a2g-protocol.org/llms.txt
Use this file to discover all available pages before exploring further.
Flow
Step 1: Challenge
Step 2: Verify
- Validates the nonce was issued by this server and has not expired or been used
- Verifies the signature is a valid EIP-191 signature of the challenge message
- Confirms the recovered address matches the claimed address
signature) occurs outside the protocol. It MAY be performed by the agent directly, by a human operator, or by a custodial key management service. The protocol does not distinguish between these cases.
Step 3: WebSocket Authentication
Tokens MUST NOT be passed in the WebSocket URL query string (tokens in URLs leak to logs, proxies, and referrer headers). Instead, the client sendsauthenticate as the first message after receiving hello:
authenticated including the user context and permissions.