Auth

Exchange a wallet signature for a JWT bearer token

Changed on

Verify an EIP-191 personal_sign signature and issue a JWT bound to the signer's EOA. The signed message must use the canonical template with the EigenLayer registration chain ID (not the workflow target chain). SDKs construct the message locally — there is no GetSignatureFormat endpoint.

The token expires at the message's Expire At, which may be at most 48 hours from now. A message that expires later is refused with AUTH_EXPIRY_TOO_FAR.

post/auth:exchange

Request

  • Base URL
    https://api.avaprotocol.org/api/v1
  • Auth
    none required

Request body

ownerAddressstring required

Lowercase or checksummed hex EOA / contract address.

signaturestring required

Arbitrary-length hex-encoded byte string.

messagestring required

The plain-text message that was signed. Must use the canonical format with the EigenLayer registration chain ID (NOT the workflow target chain). SDKs generate this locally.

Example request

{
  "ownerAddress": "0x82F2Dd9a552a69f2ceD7Ff2D05c43aB8430158FB"
}

Response

Authentication succeeded; token issued.

tokenstring required

JWT bearer token.

expiresAtstring date-time required

RFC 3339 timestamp.

subjectstring

Lowercase or checksummed hex EOA / contract address.

Example response

{
  "subject": "0x82F2Dd9a552a69f2ceD7Ff2D05c43aB8430158FB"
}

Changes

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status