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

# Authenticate user

> Authenticate user using signed data standard EIP-191.



## OpenAPI

````yaml /api-references/fuse-smart-wallets-api.yaml post /auth
openapi: 3.0.0
info:
  title: Smart Wallets API
  version: 1.0.0
  description: >

    Smart Wallets API provides a Wallets as a Service (WaaS) API for your
    cross-platform applications. Developers can also access the Smart Wallets
    API via the [fuse-sdk](developers/fusebox/fusebox.mdx).

    Smart Wallets API lets you authenticate users with their Externally Owned
    Accounts (EOAs) and create Smart Contract wallets, execute gasless
    transactions through the relay service, fetch balances and tokens, get
    transaction history, and much more.

    Each wallet created through the Smart Wallets API is an upgradable Smart
    Contract wallet deployed on the Fuse network. The wallet is non-custodial.
    Thus it has an owner in charge of the wallet. The owner controls the wallet
    funds and can perform other transactions by signing messages and sending
    them to the relayer.

    ## Working with Smart Wallets API

    Before working with Smart Wallets API, if you haven't done so, please follow
    the guide [Getting Started](developers/fusebox/fusebox.mdx).

    #### Ready to start!

    > #### 📘Remember > > For all Smart Wallets API requests, you will need to
    add your Public API Key to the request query params under the key `apiKey`.

    Once you have your project set and access to your Public API key, you can
    start working with the Smart Wallets API.
servers:
  - url: https://api.fuse.io/api/v2/smart-wallets
    description: Production server
security: []
tags:
  - name: Smart Wallets
    description: Smart Wallets API endpoints
paths:
  /auth:
    post:
      tags:
        - Smart Wallets
      summary: Authenticate user
      description: Authenticate user using signed data standard EIP-191.
      parameters:
        - $ref: '#/components/parameters/ApiKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  jwt:
                    type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
components:
  parameters:
    ApiKey:
      name: apiKey
      in: query
      required: true
      schema:
        type: string
      description: Your Public API key.
  schemas:
    AuthRequest:
      type: object
      properties:
        hash:
          type: string
        signature:
          type: string
        ownerAddress:
          type: string
        smartWalletAddress:
          type: string
    ErrorResponse:
      type: object
      properties:
        statusCode:
          type: integer
        errorMessage:
          type: string
        path:
          type: string
  responses:
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'

````