POST
/
2022-06-09
/
wallets
/
{walletLocator}
/
signatures
curl --request POST \
  --url https://staging.crossmint.com/api/2022-06-09/wallets/{walletLocator}/signatures \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: <x-api-key>' \
  --data '{
  "type": "evm-message",
  "params": {
    "message": "Hello, world!",
    "signer": "evm-keypair:0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E",
    "chain": "polygon"
  }
}'
{
  "id": "tx-b984491a-5785-43c0-8811-45d46fe6e520",
  "walletType": "evm-smart-wallet",
  "type": "evm-message",
  "status": "awaiting-approval",
  "params": {
    "message": "Hello, world!",
    "signer": "evm-keypair:0xB17Ea8d34078424B9d7D126E444d5F2C3CC5c81E",
    "chain": "polygon"
  },
  "approvals": {
    "pending": [
      {
        "signer": "evm-keypair: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>:<walletType>
  • userId:<userId>:<walletType>
  • userId:<userId>:<walletType> (white label user example)
  • phoneNumber:<phoneNumber>:<walletType>
  • twitter:<handle>:<walletType>
  • x:<handle>:<walletType>

Body

application/json

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

type
enum<string>
required
Available options:
evm-message
params
object
required

Parameters for an EVM signature

Response

201
application/json
The signature has been successfully created.

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

id
string
required

Unique identifier for the signature

type
enum<string>
required

The type of signature

Available options:
evm-message,
solana-message,
evm-typed-data,
aptos-message,
cardano-message,
sui-message
status
enum<string>
required

Current status of the signature

Available options:
awaiting-approval,
pending,
failed,
success
params
object
required

Type-specific signature parameters

createdAt
number
required

ISO timestamp when the signature was created

approvals
object

Complete approval data including requirements, pending and submitted signatures

completedAt
number

ISO timestamp when the transaction reached finality

error
any

Error message if the signature fails

outputSignature
string

The wallet's output signature of the request