---
title: "Create a wallet"
method: POST
path: "/me/wallets"
tags: ["wallets"]
---

# Create a wallet

`POST /me/wallets`

## Request

- Base URL: `https://api.instruxi.dev/api/v1/enforcer`
- URL: `https://api.instruxi.dev/api/v1/enforcer/me/wallets`
- Auth: one of:
  - API key in header `Authorization`
  - API key in header `X-API-Key`

## Request body

- InternalDeliveryHttpHandlerCreateWalletRequest
  - `chain_type` string: ChainType defaults to "ethereum".
  - `description` string: Description is free text stored in the wallet's metadata.
  - `label` string: Label is the wallet's display name, mirrored to the provider. Max 100.
  - `make_primary` boolean: MakePrimary promotes the new wallet immediately, re-pointing the address other users pay to.

## Response `201`

Created

- InternalDeliveryHttpHandlerWalletResponse
  - `data` InternalDeliveryHttpHandlerWalletView
    - `address` string
    - `chain_type` string: ChainType is "ethereum" today.
    - `created_at` string
    - `description` string
    - `id` string
    - `is_primary` boolean
    - `label` string
    - `owner_quorum_id` string: OwnerQuorumID is the Privy key quorum owning the wallet, present only when the wallet was minted quorum-owned. Its presence tells a client that this wallet cannot be signed for by the user's session alone — the app key is a required co-signer — and the client needs the id itself to build the authorization payload. Omitted for user-owned wallets, i.e. all of them before wallet-send-enforcement is switched on for a tenant.
    - `wallet_kind` string: WalletKind is "smart" (the primary, paymaster-sponsored) or "embedded" (a secondary EOA that pays its own gas). Clients use it to decide whether to warn about gas before a send.
  - `success` boolean

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `409`: Conflict
- `500`: Internal Server Error

---

[API](https://skmtc.dev/instruxi/apis/enforcer-api.md) · [All operations](https://skmtc.dev/instruxi/apis/enforcer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/instruxi/apis/enforcer-api/revisions/fa82bc1becc0?raw)
