Skip to main content
POST
/
2025-06-09
/
wallets
Create Wallet
curl --request POST \
  --url https://staging.crossmint.com/api/2025-06-09/wallets \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: <x-api-key>' \
  --data '
{
  "chainType": "evm",
  "config": {
    "adminSigner": {
      "type": "external-wallet",
      "address": "0x1234567890123456789012345678901234567890"
    },
    "delegatedSigners": [
      {
        "signer": {
          "type": "passkey",
          "id": "cWtP7gmZbd98HbKUuGXx5Q",
          "name": "hgranger",
          "publicKey": {
            "x": "38035223810536273945556366218149112558607829411547667975304293530457502824247",
            "y": "91117823763706733837104303008228095481082989039135234750508288790583476078729"
          }
        },
        "expiresAt": "2023-11-07T05:31:56Z"
      }
    ],
    "creationSeed": "0"
  },
  "type": "smart",
  "owner": "<string>",
  "alias": "my-usdc-wallet"
}
'
{
  "chainType": "evm",
  "type": "smart",
  "address": "0x1234567890123456789012345678901234567890",
  "config": {
    "adminSigner": {
      "type": "external-wallet",
      "address": "<string>",
      "locator": "<string>"
    },
    "delegatedSigners": [
      {
        "type": "external-wallet",
        "address": "<string>",
        "locator": "<string>"
      }
    ]
  },
  "owner": "email:test@example.com",
  "createdAt": 123,
  "alias": "my-usdc-wallet"
}

Headers

X-API-KEY
string
required

API key required for authentication

x-idempotency-key
string

Unique key to prevent duplicate wallet creation

Body

application/json

EVM smart wallet creation input

chainType
enum<string>
required
Available options:
evm
config
object
required
type
enum<string>
default:smart
Available options:
smart
owner
string
alias
string

The wallet alias

Example:

"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.

chainType
enum<string>
required

The blockchain type of the wallet

Available options:
evm
type
enum<string>
required

The wallet type (smart or mpc)

Available options:
smart,
mpc
Example:

"smart"

address
string
required

The onchain address of the wallet

Example:

"0x1234567890123456789012345678901234567890"

config
object

EVM wallet type specific configuration settings

owner
string

The user that owns this wallet in format :

Example:

"email:test@example.com"

createdAt

ISO timestamp of when the wallet was created

alias
string

The wallet alias

Example:

"my-usdc-wallet"