v1

latestOpenAPI 3.0.12026-07-2699111970.1 KB

Create Wallet

Creates a new wallet of specified type. If called with an idempotency key or for a user who already has a wallet, returns existing wallet. When owner is provided, subsequent calls with the same owner will return the existing wallet. Supports both custodial and non-custodial wallet types.

API scope required: wallets.create

post/2025-06-09/wallets

Headers

X-API-KEYstring required

API key required for authentication

x-idempotency-keystring

Unique key to prevent duplicate wallet creation

Request body

OR
OR
OR
OR
OR
OR

Example request

{
  "config": {
    "adminSigner": {
      "type": "external-wallet",
      "address": "0x1234567890123456789012345678901234567890"
    },
    "recovery": {
      "type": "external-wallet",
      "address": "0x1234567890123456789012345678901234567890"
    },
    "delegatedSigners": [
      {
        "signer": {
          "type": "passkey",
          "id": "cWtP7gmZbd98HbKUuGXx5Q",
          "name": "hgranger",
          "publicKey": {
            "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247",
            "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729"
          }
        },
        "scopes": [
          {
            "type": "transfer",
            "tokenLocator": "stellar:usdc",
            "recipients": [
              "GDUCX62IF76FFIYRNI25LJDS2V43QEZDY4YNF2DJWVIASN5LKX76Q4TW"
            ],
            "spendingLimit": {
              "amount": "100",
              "interval": 86400
            }
          }
        ]
      }
    ],
    "creationSeed": "0"
  },
  "alias": "my-usdc-wallet"
}

Response

Returns an existing wallet (200) if one already exists for the provided owner or idempotencyKey, or creates and returns a new wallet (201). The response includes the wallet details and whether it was newly created.

OR
OR
OR
OR

Example response

{
  "type": "smart",
  "config": {
    "adminSigner": {
      "type": "passkey",
      "id": "cWtP7gmZbd98HbKUuGXx5Q",
      "name": "hgranger",
      "publicKey": {
        "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247",
        "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729"
      },
      "validatorContractVersion": "0.2.0",
      "locator": "passkey:cWtP7gmZbd98HbKUuGXx5Q"
    }
  },
  "address": "0x1234567890123456789012345678901234567890",
  "owner": "email:test@example.com",
  "alias": "my-usdc-wallet"
}