POST
/
2022-06-09
/
wallets
/
{walletLocator}
/
transactions
/
{transactionId}
/
approvals
curl --request POST \
  --url https://staging.crossmint.com/api/2022-06-09/wallets/{walletLocator}/transactions/{transactionId}/approvals \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: <x-api-key>' \
  --data '{
  "approvals": [
    {
      "signer": "evm-keypair:0x1234...",
      "signature": "0x1234567890abcdef..."
    }
  ]
}'
{
  "id": "tx-b984491a-5785-43c0-8811-45d46fe6e520",
  "walletType": "evm-smart-wallet",
  "status": "awaiting-approval",
  "approvals": {
    "pending": [
      {
        "signer": "evm-keypair:0xdeadbeef",
        "message": "Please sign this transaction"
      }
    ],
    "submitted": []
  },
  "params": {
    "calls": [
      {
        "to": "0x1234567890123456789012345678901234567890",
        "value": "1000000000000000000",
        "data": "0x"
      }
    ],
    "chain": "base",
    "signer": "evm-keypair:0xdeadbeef"
  },
  "onChain": {
    "userOperation": "... full user operation object",
    "userOperationHash": "0xf719f9570671c6eb016f1f4a95ada4278b8e91f55bc384d70c69fd756919a41c"
  },
  "createdAt": "2024-01-01T00:00:00Z"
}

Headers

X-API-KEY
string
required

API key required for authentication

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>
transactionId
string
required

Body

application/json

Input for submitting one or more approvals

Response

201
application/json

The approval has successfully been submitted to the transaction.

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