POST
/
2025-06-09
/
wallets
/
{walletLocator}
/
signatures
Create Signature
curl --request POST \
  --url https://staging.crossmint.com/api/2025-06-09/wallets/{walletLocator}/signatures \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: <x-api-key>' \
  --data '{
  "type": "message",
  "params": {
    "message": "Hello, world!",
    "signer": "external-wallet:0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E",
    "chain": "ethereum"
  }
}'
{
  "id": "sig-b984491a-5785-43c0-8811-45d46fe6e520",
  "type": "message",
  "chainType": "evm",
  "walletType": "smart",
  "status": "awaiting-approval",
  "params": {
    "message": "Hello, world!",
    "signer": {
      "type": "external-wallet",
      "address": "0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E",
      "locator": "external-wallet:0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E"
    },
    "chain": "polygon"
  },
  "approvals": {
    "pending": [
      {
        "signer": {
          "type": "external-wallet",
          "address": "0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E",
          "locator": "external-wallet:0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E"
        },
        "message": "Hello world!"
      }
    ],
    "submitted": []
  },
  "createdAt": "2024-01-01T00:00:00Z"
}

Headers

X-API-KEY
string
required

API key required for authentication

x-idempotency-key
string

Unique key to prevent duplicate signature creation

Path Parameters

walletLocator
string
required

A wallet locator can be of the format:

  • <walletAddress>
  • email:<email>:<chainType>[:<walletType>] (walletType defaults to 'smart')
  • userId:<userId>:<chainType>[:<walletType>] (white label user example)
  • phoneNumber:<phoneNumber>:<chainType>[:<walletType>]
  • twitter:<handle>:<chainType>[:<walletType>]
  • x:<handle>:<chainType>[:<walletType>]
  • me:<chainType>[:<walletType>] (Use when calling from the client side with a client API key)

Body

application/json

Input schema for creating a new signature. The parameters vary based on the signature type. Parameters for a message signature

Response

201
application/json

The signature has been successfully created.

Complete signature response including status, signing requirements, and wallet type specific data