> ## Documentation Index
> Fetch the complete documentation index at: https://docs.turnkey.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Turnkey is wallet infrastructure: create and manage crypto wallets, sign transactions, and enforce policy-based access controls. Best-fit uses: embedded consumer wallets (email/passkey/social auth, no seed phrases), automated onchain operations with server-side wallets, AI agent wallets with policy-scoped signing, enterprise key management, and verifiable off-chain workloads on Turnkey Verifiable Cloud (TVC).
> Every API call is a JSON POST to https://api.turnkey.com signed with a P-256 API key; create an organization and key self-serve at https://app.turnkey.com.
> Key Turnkey developer resources: API reference (https://docs.turnkey.com/api-reference/overview/intro.md), OpenAPI spec (https://docs.turnkey.com/public_api.swagger.json), authentication (https://docs.turnkey.com/features/authentication/overview.md), webhooks (https://docs.turnkey.com/features/webhooks/overview.md), MCP server for docs search (https://docs.turnkey.com/mcp), agent skills (https://docs.turnkey.com/get-started/ai-skills.md), CLI (https://docs.turnkey.com/sdks/cli.md), SDK reference (https://docs.turnkey.com/sdks/introduction.md), full docs content (https://docs.turnkey.com/llms-full.txt).

# Verify wallet authenticator

> Verify a SIWE or SIWS login and return an enclave-signed wallet verification token.

POST[https://authproxy.turnkey.com/v1/verify\_wallet\_authenticator](https://authproxy.turnkey.com/v1/verify_wallet_authenticator)

### Authorizations

**X-Auth-Proxy-Config-Id** `string` *required*

Your Auth Proxy config ID, found in **Dashboard → AUTH**. See [Auth Proxy reference](https://docs.turnkey.com/reference/auth-proxy.md) for setup.

### Body

**message** `string` *required*

SIWE or SIWS message. Ump accepts only the Turnkey supported login template.

**signature** `string` *required*

Wallet signature over the message. Ethereum: 65-byte hex personal\_sign (r || s || v). Solana: 64-byte hex ed25519 signature.

**publicKey** `string` *required*

Wallet public key that signed the message. Ethereum: sec1 secp256k1 hex, compressed or uncompressed. Solana: 32-byte ed25519 hex.

### Response

A successful response returns the following fields:

**verificationToken** `string` *required*

Enclave-signed JWT binding the wallet, the wallet public key, and the ephemeral P-256 session key.

```bash title="cURL" theme={"system"}
curl --request POST \
  --url https://authproxy.turnkey.com/v1/verify_wallet_authenticator \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header "X-Auth-Proxy-Config-Id: <string> (see Authorizations)" \
  --data '{
    "message": "<string>",
    "signature": "<string>",
    "publicKey": "<string>"
}'
```

```json 200 theme={"system"}
{
  "verificationToken": "<string>"
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.