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

# Wallet Derive Credentials Via Proxy

> Forward locally-signed Polymarket L1 auth headers from a non-blocked IP.



## OpenAPI

````yaml /openapi.json post /api/sdk/wallet/credentials/derive-via-proxy
openapi: 3.1.0
info:
  title: Simmer API
  description: Agent-native trading infrastructure for prediction markets.
  version: 1.0.0
servers:
  - url: https://api.simmer.markets
security: []
paths:
  /api/sdk/wallet/credentials/derive-via-proxy:
    post:
      tags:
        - sdk-wallet
      summary: Wallet Derive Credentials Via Proxy
      description: Forward locally-signed Polymarket L1 auth headers from a non-blocked IP.
      operationId: >-
        api_wallet_derive_credentials_via_proxy_api_sdk_wallet_credentials_derive_via_proxy_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WalletCredentialsDeriveRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    WalletCredentialsDeriveRequest:
      properties:
        poly_address:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          title: Poly Address
          description: EOA address — must match the authenticated user's wallet_address
        poly_signature:
          type: string
          pattern: ^0x[0-9a-fA-F]{130}$
          title: Poly Signature
          description: 'L1 auth signature: 0x + 130 hex chars (65 bytes: r,s,v)'
        poly_timestamp:
          type: string
          pattern: ^\d{10}$
          title: Poly Timestamp
          description: Unix timestamp in seconds (10 digits) used in the signature
        poly_nonce:
          type: string
          pattern: ^\d{1,20}$
          title: Poly Nonce
          description: Nonce used in the signature (decimal digits, default 0)
      type: object
      required:
        - poly_address
        - poly_signature
        - poly_timestamp
        - poly_nonce
      title: WalletCredentialsDeriveRequest
      description: >-
        Pre-signed Polymarket L1 auth headers for proxy-derive of CLOB creds.


        External-wallet users on residential / Cloudflare-blocked IPs cannot
        reach

        Polymarket's POST /auth/api-key endpoint directly. The SDK signs the L1

        challenge locally with the EOA private key (the key never leaves the
        user's

        machine) and POSTs only the resulting four headers here. The backend

        forwards them to Polymarket from a non-blocked IP, encrypts and stores
        the

        returned creds. The signature is bound to address + timestamp + nonce,
        so

        it cannot be replayed as a transaction.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError

````