---
title: "Create Server Wallet"
method: POST
path: "/v1/wallets/server"
tags: ["Wallets"]
---

# Create Server Wallet

`POST /v1/wallets/server`

Creates a server wallet from a unique identifier. If the wallet already exists, it will return the existing wallet.

**Authentication**: This endpoint requires backend authentication using the `x-secret-key` header. The secret key should never be exposed publicly.

## Request body

- object — Request body for creating a wallet
  - `identifier` string, required — Unique identifier for wallet creation or retrieval. Can be user ID, email, or any unique string. The same identifier will always return the same wallet.

## Response `200`

Server wallet created or connected successfully. Returns wallet addresses for subsequent operations.

- object
  - `result` object, required
    - `userId` string — Unique identifier for the user wallet within the thirdweb auth system.
    - `address` string — The EOA (Externally Owned Wallet) address of the wallet. This is the traditional wallet address.
    - `createdAt` string — The date and time the wallet was created
    - `profiles` union[], required — The profiles linked to the wallet, can be email, phone, google etc, or backend for developer created wallets
      - union — Authentication provider details with type-based discrimination
        - object — Google OAuth authentication provider details
          - `email` string, required
          - `emailVerified` boolean, required
          - `familyName` string
          - `givenName` string
          - `hd` string, required
          - `id` string, required
          - `locale` string, required
          - `name` string
          - `picture` string, required
          - `type` 'google', required
        - object — Facebook OAuth authentication provider details
          - `email` string
          - `firstName` string
          - `id` string, required
          - `lastName` string
          - `name` string
          - `picture` string
          - `type` 'facebook', required
        - object — Apple OAuth authentication provider details
          - `email` string
          - `emailVerified` boolean, required
          - `id` string, required
          - `isPrivateEmail` boolean, required
          - `type` 'apple', required
        - object — GitHub OAuth authentication provider details
          - `avatar` string, nullable
          - `id` string, required
          - `name` string, nullable
          - `type` 'github', required
          - `username` string, required
        - object — Discord OAuth authentication provider details
          - `avatar` string, required
          - `email` string, email
          - `emailVerified` boolean, required
          - `id` string, required
          - `type` 'discord', required
          - `username` string, required
        - object — Coinbase OAuth authentication provider details
          - `avatar` string
          - `id` string, required
          - `name` string, required
          - `type` 'coinbase', required
        - object — X (Twitter) OAuth authentication provider details
          - `id` string, required
          - `name` string, required
          - `type` 'x', required
          - `username` string, required
          - `profileImageUrl` string
        - object — TikTok OAuth authentication provider details
          - `id` string, required
          - `displayName` string, required
          - `avatarUrl` string, required
          - `unionId` string
          - `type` 'tiktok', required
        - object — Epic Games OAuth authentication provider details
          - `id` string, required
          - `type` 'epic', required
          - `displayName` string
          - `email` string, email
          - `emailVerified` boolean
          - `metadata` object, required
            - `accountId` string, required
            - `preferredUsername` string
            - `country` string
            - `region` string
            - `language` string
            - `sub` string
            - `name` string
        - object — Steam OAuth authentication provider details
          - `avatar` string
          - `id` string, required
          - `metadata` object, required
            - `avatar` object, required
              - …
            - `personaname` string
            - `profileurl` string
            - `realname` string
          - `type` 'steam', required
          - `username` string
        - object — Telegram OAuth authentication provider details
          - `firstName` string
          - `id` string, required
          - `lastName` string
          - `picture` string
          - `type` 'telegram', required
          - `username` string
        - object — Twitch OAuth authentication provider details
          - `avatar` string
          - `description` string
          - `email` string
          - `id` string, required
          - `type` 'twitch', required
          - `username` string, required
        - object — LINE OAuth authentication provider details
          - `avatar` string
          - `id` string, required
          - `type` 'line', required
          - `username` string
        - object — Farcaster authentication provider details
          - `fid` string, required
          - `id` string, required
          - `type` 'farcaster', required
          - `walletAddress` string
        - object — Passkey authentication provider details
          - `algorithm` string, required
          - `credentialId` string, required
          - `publicKey` string, required
          - `type` 'passkey', required
        - object — Email authentication provider details
          - `email` string, email, required
          - `id` string, required
          - `type` 'email', required
        - object — Pre-generated wallet authentication provider details
          - `id` string, required
          - `pregeneratedIdentifier` string, required
          - `type` 'pre_generation', required
        - object — Phone authentication provider details
          - `id` string, required
          - `phone` string, required
          - `type` 'phone', required
        - object — Sign-In with Ethereum (SIWE) authentication provider details
          - `id` string, required
          - `type` 'siwe', required
          - `walletAddress` string, required
        - object — Guest authentication provider details
          - `id` string, required
          - `type` 'guest', required
        - object — Backend authentication provider details (deprecated, use server instead)
          - `id` string, required
          - `type` 'backend', required
        - object — Server authentication provider details
          - `identifier` string, required
          - `type` 'server', required
        - object — Custom JWT authentication provider details
          - `authProviderId` string
          - `email` string
          - `id` string, required
          - `phone` string
          - `type` 'custom_jwt', required
          - `walletAddress` string
        - object — Custom auth endpoint authentication provider details
          - `authProviderId` string
          - `email` string
          - `id` string, required
          - `phone` string
          - `type` 'custom_auth_endpoint', required
          - `walletAddress` string
    - `smartWalletAddress` string — The smart wallet address with EIP-4337 support. This address enables gasless transactions and advanced wallet features.
    - `publicKey` string — The wallet's public key in hexadecimal format. Useful for peer-to-peer encryption and cryptographic operations.

## Other responses

- `400` — Invalid request parameters. This occurs when the identifier format is invalid or required parameters are missing.
- `401` — Authentication required. For backend usage, include `x-secret-key` header.
- `500` — Internal server error. This may occur due to wallet service unavailability, smart wallet deployment issues, or unexpected server errors.

---

[API](https://skmtc.net/thirdweb/apis/thirdweb-api.md) · [All operations](https://skmtc.net/thirdweb/apis/thirdweb-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/thirdweb/thirdweb-api/revisions/fb4cb67da1c7/schema)
