POST
/
2022-06-09
/
wallets
/
{walletLocator}
/
signers
curl --request POST \
  --url https://staging.crossmint.com/api/2022-06-09/wallets/{walletLocator}/signers \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: <x-api-key>' \
  --data '{
  "signer": "0x1234567890123456789012345678901234567890",
  "chain": "base"
}'
{
  "type": "evm-keypair",
  "address": "0x1234567890123456789012345678901234567890",
  "locator": "evm-keypair:0x1234567890123456789012345678901234567890",
  "chains": {
    "polygon": {
      "status": "active"
    },
    "base": {
      "id": "b984491a-5785-43c0-8811-45d46fe6e520",
      "status": "awaiting-approval",
      "approvals": {
        "pending": [],
        "submitted": [
          {
            "signer": "evm-keypair:0x1234567890123456789012345678901234567890",
            "message": "0x1234567890123456789012345678901234567890123456789012345678901234",
            "signature": "0x1234567890123456789012345678901234567890123456789012345678901234",
            "submittedAt": "2024-01-01T00:00:00.000Z"
          }
        ]
      }
    }
  }
}

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>

Body

application/json

Parameters for creating a EVM delegated signer

signer
string
required

The locator of the delegated signer

chain
enum<string>
required

The chain where the signer will be registered

Available options:
base,
polygon,
optimism,
arbitrum,
mode,
story,
base-sepolia,
polygon-amoy,
optimism-sepolia,
arbitrum-sepolia,
mode-sepolia,
story-testnet
expiresAt
number

The expiry date of the signer in milliseconds since UNIX epoch

permissions
object[]

The permissions of the signer following ERC-7715

Response

201
application/json
The delegated signer has been successfully added to the wallet.

Complete delegated signer response including the signer and authorizations for each chain

type
enum<string>
required

Specifies the type of EVM signer being used, describing the method of key management and transaction signing. evm-keypair indicates a signer using a locally managed keypair, suitable for non-custodial wallets. evm-fireblocks-custodial refers to a signer managed by Fireblocks, a custodial service provider.

Available options:
evm-keypair,
evm-fireblocks-custodial
address
string
required

The Ethereum address of the signer

locator
string
required

The locator of the signer

expiresAt
number

The expiry date of the signer in ISO 8601 format

permissions
object[]

The permissions of the signer following ERC-7715

chains
object

Authorization status for each chain where the chain name is the key and the signature request is the value