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

# Create Internal Wallet

> By consuming this endpoint you will be able to create a new wallet

## Request

| Field | **Type** | Required | Description |
| --- | --- | --- | --- |
| Authorization | Header | Yes | The access token that authenticates the request. |
| userId | URL | No | The unique identifier of either your assigned clientId or one of your users, depending on who will be the owner of the wallet. You can obtain the ID through the **GET /admin/users** endpoint. |
| network | Body | No | Blockchain on which the custodial wallet will be created. Use one of the values below. If omitted, the tenant default network is used.  <br />  <br />Supported networks:  <br />POLYGON  <br />AVALANCHE  <br />ETH  <br />ARBITRUM  <br />BASE  <br />OPTIMISM  <br />MONAD  <br />UNICHAIN  <br />SOLANA  <br />APTOS  <br />SUI  <br />TRON |



## OpenAPI

````yaml /stack/openapi.json post /api/v1/admin/wallet/{user_id}
openapi: 3.1.0
info:
  title: Kravata Stack API
  version: '2.0'
  description: >-
    Kravata Stack API: users, accounts, custody wallets, liquidity ramps and
    fiat payments.
servers:
  - url: https://test-api-kore.kravata.co
    description: Test
  - url: https://partners-api.kravata.co
    description: Production (mTLS + IP allowlist)
security:
  - bearerAuth: []
tags:
  - name: Authentication
  - name: Users
  - name: Accounts
  - name: Earn
  - name: Custody
  - name: Liquidity Ramps
  - name: Payments
  - name: Webhooks
paths:
  /api/v1/admin/wallet/{user_id}:
    post:
      tags:
        - Custody
      summary: Create Internal Wallet
      description: >-
        By consuming this endpoint you will be able to create a new wallet


        ## Request


        | Field | **Type** | Required | Description |

        | --- | --- | --- | --- |

        | Authorization | Header | Yes | The access token that authenticates the
        request. |

        | userId | URL | No | The unique identifier of either your assigned
        clientId or one of your users, depending on who will be the owner of the
        wallet. You can obtain the ID through the **GET /admin/users** endpoint.
        |

        | network | Body | No | Blockchain on which the custodial wallet will be
        created. Use one of the values below. If omitted, the tenant default
        network is used.  <br />  <br />Supported networks:  <br />POLYGON  <br
        />AVALANCHE  <br />ETH  <br />ARBITRUM  <br />BASE  <br />OPTIMISM  <br
        />MONAD  <br />UNICHAIN  <br />SOLANA  <br />APTOS  <br />SUI  <br
        />TRON |
      operationId: create-internal-wallet
      parameters:
        - name: user_id
          in: path
          required: true
          description: ''
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties: {}
            example: {}
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  userId:
                    type: string
                  walletId:
                    type: string
                  number:
                    type: string
                  status:
                    type: string
                  registerDate:
                    type: string
                  balances: {}
              examples:
                create-internal-solana:
                  summary: Create Internal SOLANA
                  value:
                    id: 2cc2129a-0aa8-403b-9013-d0ada9b33142
                    userId: 0f1c30d8-04ce-4070-a03e-6242c18ce1c7
                    walletId: 8f169570-931a-41ef-8939-2d6e778bce93
                    number: 41dddc7c-607d-481c-b9cc-0b0b942983b8
                    status: PENDING
                    registerDate: '2026-09-09T21:35:52.527499'
                    balances: null
                create-internal-sui:
                  summary: Create Internal SUI
                  value:
                    id: 72bc0301-535e-4d3c-bec6-a62f8f164bc4
                    userId: 0f1c30d8-04ce-4070-a03e-6242c18ce1c7
                    walletId: 302b4acd-86ea-4d44-8a25-28dfbcedc0ac
                    number: cb72c96d-e09b-4516-a9cb-a36a3d1a1c19
                    status: PENDING
                    registerDate: '2026-09-09T21:36:26.070828'
                    balances: null
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Access token from POST /api/v1/client/token.

````