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

# Create Wallet

> Create a wallet for a given user. If an existing wallet of the given wallet type has been created for that user, it will be returned.
## Returns

A successful response returns an `Wallet` object.



## OpenAPI

````yaml post /v1/wallets/create
openapi: 3.1.0
info:
  title: MoonKey Auth API
  description: >-
    Explore all the details of MoonKey Auth API. All of our APIs are RESTful and
    accept and return JSON.
  version: v1
servers:
  - url: https://api.moonkey.fun
    description: Production
    variables: {}
security:
  - Authorization: []
tags:
  - name: Users
    description: User management API
  - name: Magic Links
    description: ''
  - name: OTPs
    description: >-
      Send OTP (One-time passcodes) by all the supported delivery methods such
      as SMS, email.
  - name: OAuth
    description: ''
  - name: Wallets Login
    description: ''
  - name: Managed Wallets
    description: ''
  - name: Wallet Import
    description: >-
      Import existing wallets into the platform using secure HPKE encryption.
      This flow ensures raw entropy (seed phrases or private keys) never touches
      the server in plaintext.
externalDocs:
  url: ''
  description: ''
paths:
  /v1/wallets/create:
    parameters: []
    post:
      tags:
        - Managed Wallets
      summary: Create Wallet
      description: >-
        Create a wallet for a given user. If an existing wallet of the given
        wallet type has been created for that user, it will be returned.

        ## Returns


        A successful response returns an `Wallet` object.
      operationId: CreateWallet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWalletRequest'
            examples:
              CreateWalletReq:
                value:
                  wallet_type: ethereum
                  user_id: user_2Cu2uVhYy0OVgRcO913OsqIVaPI
        description: ''
      responses:
        '200':
          description: Create Wallet response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  app_id:
                    type: string
                  user_id:
                    type: string
                  public_address:
                    type: string
                  wallet_type:
                    type: string
                  verified:
                    type: boolean
                  is_default:
                    type: boolean
                  is_read_only:
                    type: boolean
                  is_imported:
                    type: boolean
                  updated_at:
                    type: integer
                  created_at:
                    type: integer
              examples:
                CreateWalletResp:
                  value:
                    id: wallet_2Cu2uYcbwY9kcAFe2zd0P0SHftK
                    app_id: app_24ydphdixx2ydhF0E5WUFUKWNqi
                    user_id: user_2Cu2uVhYy0OVgRcO913OsqIVaPI
                    public_address: '0xf1347fd847f19c250b4c9678ecaa27b0f6ce8804'
                    wallet_type: ethereum
                    verified: true
                    is_default: true
                    is_read_only: false
                    is_imported: false
                    updated_at: 1659638371
                    created_at: 1659638371
components:
  schemas:
    CreateWalletRequest:
      type: object
      x-examples:
        example-1:
          wallet_type: ethereum
          user_id: user_2Cu2uVhYy0OVgRcO913OsqIVaPI
      properties:
        wallet_type:
          type: string
          description: >-
            Determines what type of wallet login. If the user does not have a
            default wallet of the same wallet_type, a new default wallet will be
            created for the user. Otherwise, the existing wallet of the same
            wallet type will be returned. Possible values: ethereum, solana,
            bitcoin, DOT, XLM (more wallets coming soon).
        user_id:
          type: string
          description: Required Unique User ID of the user to create a new wallet for.
      required:
        - wallet_type
        - user_id
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer
      description: >-
        Auth Platform API includes all the Auth related features. All Users,
        Phone Numbers, Emails, and OTPs are associated with an `App` as the
        container.


        Endpoints only accept App's `Secret API keys` other than certain
        endpoints that are used client side or via SDK that accept the
        `public_token`.


        ## Authentication using App Api Key


        ## Header:


        ```

        Authorization: Bearer {api_key}

        ```


        ## Authenticated Request


        ```curl

        curl \
          -X GET https://api.moonkey.fun/v1/auth/users/user_24wFP9pDa9YiMJLun94iKykoZs2 \
          -H "Authorization: Bearer sk_test_pRqweh3wvWmJAAVYv7Z0T5iPLzFM4ql0muoyQcjOxGeN3p1r"
        ```

````